Although the release date of Windows 8 is upon us, there has been only a soft spoken obscure buzz concerning Windows 8 development. Often times leading to just a mention in a conversation that will undoubtedly be ruled by other mobile technologies.

Almost as if to dismiss the idea that Windows will ever be able to gain ground in the mobile arena with it being a late bloomer to next generation technologies within this spectrum. Many may shy away from beginning development on this platform right away often citing the market share and the cost of extra development.

I myself had some serious reservations (I'm sort of a snarky Android guy...) about the platform until I decided to dive into it and do a little research. This article will attempt to get you to consider Windows 8 development; where a world of untapped consumers, who have yet to determine the King of the market place, awaits.


Hopefully 4 Reasons Will Suffice...

1. A Familiar Friend

Windows 8 has introduced to the world the Windows Runtime, or just WinRT for short. WinRT provides a set of low level functionality to various styles of presentation layers. What this means is that if you know even a little bit of HTML5, CSS3, and Javascript, you can get going quickly in designing a Windows 8 application through what is called WinJS.

This also means that you can use some of your favorite libraries, such as jQuery, to help in the development of your application. However, please note that certain features, especially those along the lines of HTML injection, are forbidden. Although that may be a downside on first glance, it will protect your application from outside attacks; your application when built with this presentation layer will be running in a chromeless browser and therefore is vulnerable to malicious injection. The good news, although it is discouraged, is that WinJS provides those mechanisms through windows specific javascript calls if it is dire for you to use those calls to manipulate the UI of your application.

Oh... and don't worry about time sensitive calculations or "secret algorithms" that could be exposed in the javascript. You can use one of Windows compiled technologies to get speed and security where you need it.

2. Device Application Synchronization

Like most mobile platforms, Windows 8 gives developers the ability to save application state in case the application is pushed into the background or is closed in favor of other resources. Microsoft takes a step further by giving WinRT developers a functionality called app roaming data.

App roaming data is Windows way of communicating state on all devices (up to 5 devices per user according to the licensing agreement of the Windows Store) that a user has a particular app installed. This means that if you develop your application just right, a user will be able to pick back up where they left off when moving to a secondary device. Windows 8 allows an application up to 100k for roaming data, so use it wisely.

The only downside, which may not be a downside to most, is that there is no way to merge data when working with the roaming data. So if a user simultaneously does work on two devices, the state of both applications will not change to a merged state. Instead, users will see that the last cached state is the one that will then be replicated to the other devices.

3. More than Just a Store

The Windows Store is a very powerful mechanism that will give you not only a look into the analytics but also a way to control an app’s built in purchasing power and a small update footprint.

First, like most stores the Windows Dashboard will give you a look at the amount of purchases, certain demographics, and usage. It will also give detailed crash reports. Along with those features Windows Stores will give you a look at the markets that are doing well within Windows 8, which may give you your next great idea or help you to shy away from one that just doesn't currently fit the demographic of the overall users at the moment.

Second, when uploading an app into the store you will be able to set it up for trials and in app purchases. Of course before uploading to the store you will have to design for this type of situation, so it’s good to compartmentalize your app into features. When an application starts up, information will be available directly from a call to the store, such as licensing and whether a trial has expired, allowing the application to respond accordingly. On top of that, WinRT provides a local sandbox which consists of a mock purchasing package and xml configuration to simulate these features. You can be confident those features will work as expected when going through real purchases. Of course you still have the power to use 3rd party purchasing libraries helping you to bypass the cut you will owe Microsoft per transaction.

Lastly, WinRT, within its program stack, gives developers a file called the AppBlockMap.xml when the application is packaged. This file compartmentalizes your application into 64K blocks. So when you decide to upload an updated version of your application to the store, users will ONLY be downloading the blocks that changed. No more 4MB updates for 500K changes. This gives you the confidence to push changes and feature updates and push them often knowing that the user won’t dread the update process.

4. A Little Bit of Extra Testing Control

Unlike Google, which just encourages developers to adhere to guidelines, it appears that Microsoft will put submitted apps through the “ringer.” Although this may seem like a setback, this is very good for developers and companies. A certified tester will be making sure that your application works as expected. Not only will this give you, a little more confidence to release the app to users worldwide, but it will also give the users/buyers a little more buying confidence knowing that they can trust your application not to be malware.

The best part of this is that you will get to submit with your applications tests to run, outside of the normal gamut of tests the Windows Testers will perform. A second set of unbiased eyes on intended functionality never hurts.

Although some of the features may not be new to mobile developers, those looking to expand their market should not be afraid to expand to the Windows 8 market. With the tools available and favorable conditions provided to developers and companies, there should be no excuse not to expand your app base and reach further into the mobile world.