Sunday, May 22, 2016

Why Microsoft over Apple, Google for Development?

When you are a team of one it's more imperative that you keep everything simple.

You not only have to keep things simple with your code you need to keep things simple in all aspects of your business.

You will have to create documents for users, you'll have to handle sales and make financial decisions. Customer service, office front-end and back-end operations on top of the decisions involved in development, marketing, and branding of the app.

I try to work in such a way that allow for reuse of the work I do.

Today is a great time to be a team of one.  Many of the tools are now subscription based Software As A Service or SAAS which  makes it possible to use professional tools to create your business documents.

The Microsoft Office Suite no longer require a several hundred dollar up front costs as now you can subscribe for under $8/month to get the suite downloaded onto your machine.  Excel, PowerPoint, Publisher, Word and Outlook along with other tools come with the suite for a low monthly fee that's currently under $8/month, including taxes.

I can  use Excel for scenario analysis to help come up with pricing, project potential earnings and make tentative plans on how to apportion those dollars.

I can use PowerPoint to create videos for ads and training and upload the completed MP4 version to YouTube.

I can use Publisher for sales material, brochures if needed.

I've decided that since all apps are mobile that means I have to have a app store presences.  Since I'm initially focusing on Windows then the Windows store is where the presence will be.  Also, Microsoft will usually have many options for app developers to get before the eyes of millions without spending a cent.  They have guidelines that if you follow them you can be chosen for free promotion on their dime getting your app before the eyes of millions of visitors to the store.  There are billions of devices running windows and hundreds of millions are running the latest Windows 10.  That is a huge market to find your audience within.

I'm using Windows 10 because it is the best release for coding and really has tools that make true cross-platform coding a reality.  I can start with targeting Windows 10 mobile and easily add Android, iPhone, and multiple desktop platforms as well as web version of the app without leaving .NET.  I can simple add libraries like Xamarin or Apache Cordova for iOS and Android platform support and other for supporting other platforms.  It is the best to keep your app ready for the future and more easily add platform support for other platforms.

I've decided that focusing on Windows 10 was the best way to go since it will be the new way to code on Windows platforms and was built with interconnectivity as a major factor.  I also chose Windows because of Corporate America, local, state and federal governments, the majority of desktop users, and the same public and private audience potential global that is the Microsoft reach.

I particularly wanted the business users and they do user Windows for business.   Also, it is just a matter of time when the pluses of Windows mobile will be adapted more by developers and users will start the move.  Some of the latest statistical reports on mobile users is showing Windows 10 is gaining market share, globally.  There are more affordable options for all budgets now than previous and Windows 10 with Cortana is incredible.

Once people realize how incredible Windows 10 version of Cortana (released 2016)  is and that it is not Siri or Google Now they'll want it.  It is smarter than previous versions, way smarter and really is a personal assistant that you can dictate orders to and thy get done.  I think the mess from the previous version is why it isn't in use as heavily as it should be.  Showing people using it in real world situations as a marketing campaign is needed.  Microsoft has to re market and brand itself because when a giant screws up the jealous ones will hold you to that forever.

The press on some tech blogs is ridiculous and they aren't coming from people that know the history of tech from my experience.  They will boast about some paradigm and diss Microsoft yet aren't aware that that paradigm came from Microsoft labs.  And for some odd reason computing now has some follow the leader types when computing has always attracted the non follow the leader types, the one that want to be different and create their own way of doing things.  Every great innovation came from the non follow the leader type.

Microsoft is big in business for a reason.  They can be relied on to get the job done as cost effectively as possible.  If others delivered better then business would have switched over in droves by now.   There are horror stories from those that have and they came back to Microsoft for the long term economic gains on the sturdy platform.

 Others can do some things better but, as many that have been computing for corporate level demands for decades soon discover you have to come back to Microsoft.  They offer the most comprehensive platform for getting things done than the others.  And eventually the areas where they are falling they will beef up if business demands so and it is needed for the Microsoft family.  For example Microsoft doesn't host blogs for the public at large any longer but, offer plenty of tools to support blogs.

I'm developing four mobile apps in total:

  1. - Personal
  2. - Business

All apps will have a local Windows 10 client as the front end and an Azure mobile services web services as the back end.  a couple may open the APIs to other and may have desktop and webtop version made.  All mobile apps will be downloadable via the Microsoft store only.  This means that the app files are hosted there with plenty of information there to help users decide if the app is for them.  Links to the main site and information for greater details are available via the store pages.

The store won't host all the pages the user will need to fully grasps and make the most of the using the app.  The user will need user guides, tech docs, all legal docs, forums and app lessons.

Each domain will be a Google domain that is hosted by Google's Blogger and will contain the News, tech docs, information for the app and place to find information and links to supporting sites such as the forums.  This makes managing of multiple websites easy.

Even if I decide to support iOS and Android platforms I can stay in .NET to code everything.  Since I'll already have the Windows version if  I do have enough demand to create the app on other platforms, the time to implement these other platforms are greatly reduced because of the web services on Azure and using a library like Xamarin for ,NET.

Agility, flexibility, scalability, true multi-platform support all for a low long term cost makes developing for Windows 10 the best choice for a person of one.

Some coders I've found complaining that .NET is too complex and hard to learn but, this isn't true.  You don't have to learn everything at once.  And once you learn how to find things and the code language you'll use it's fast to pick up new .NEt things.  It's used by powerful systems and powerful apps because of all it offer not because of some of the things it offers.  

Once you truly go .NET everything else will fall short for you and you'll find yourself coming back to .NET.  Others feel like old school ways of doing things and limiting.  In .NET there are no limits.  Only your imagination is the limit.

Imagine one development platform allowing you to target just about everything.  I can code my refrig, mobile, desktop, my custom IoT device, tablet even if they run on non Windows operating systems.  that is powerful and you wouldn't have to go elsewhere to get things done.  You can stay in your same development platform gaining all kinds of knowledge over the years.  And be in the now and able to offer your users innovations that using other platforms can not.  The other platforms will require you to learn some other platform besides theirs to get all those things done.