A reader recently asked me what the incentive is for developing Windows 8 applications. Now that the Windows 8 Consumer Preview is here, that's a very good question.
While there is a good deal of controversy over the new Metro UI, I think there are good reasons for developers to be looking at getting apps ready for Windows 8, but whether you consider those reasons compelling depends upon your circumstances.
1: Fresh ecosystem
The current Windows ecosystem is quite stale. There are virtually no categories of software that aren't dominated by 1 - 3 players already. It is nearly impossible to break into the ecosystem unless you are a game writer.
To make matters worse, consumers have gotten used to software either being free or paid for through an app store. Getting onto the shelves of a store is no longer an effective sales strategy it seems like. While I don't have any numbers backing it, I suspect that shareware isn't doing so well either based on how few shareware apps I have stumbled across in the last few years.
With Windows 8, the ecosystem is brand new if you're looking at native Windows 8 apps, and that's good if you have had a great idea for a product but haven't bothered because of the established players.
2: App store
Windows had an app store in Vista, but it wasn't very good, and it never really integrated into the OS. The new Windows 8 app store builds upon Microsoft's failures in the past and lessons learned in Windows Phone 7 (WP7) to provide a nice user experience. More to the point, outside of sideloading, it is the only way to get Windows 8 native applications onto a device. With the app store, you get an easy means of selling your software, including offering free trials.
This is super simple in WP7 and looks to be just as easy in Windows 8. Yes, Microsoft is going to be taking a cut of the revenue, but if you can increase sales by being in the app store, that's a big advantage in the long run.
3: Syncing and device roaming
Syncing and the matter of local data when users move to a new device have been issues with many applications. This is directly addressed in Windows 8, and I believe Windows 8 Server will have some enterprise goodies for this issue as well. Windows 8 native applications will have the ability to easily deal with syncing in ways that lets people move from device-to-device seamlessly. That is a huge benefit, and depending on your application and environment, it may justify a move to Windows 8 development.
4: Use your existing knowledge and some of your existing code
Will you be taking your existing applications, rebuilding them with updated references, and calling it a day? No, not at all. Even though Metro/WinRT on Windows 8 is very similar to WP7 and Silverlight development, it is not a direct translation. All the same, it is a much shorter leap than moving from Windows native development to Android or iOS.
5: Enterprise capabilities
One big reason why BlackBerry is still relevant is its enterprise feature set, and that's a big reason why Windows 8 will be relevant for the enterprise developer. Not only is Windows 8 Server coming with features to enable tight relationships with Windows 8 devices, but the Microsoft stack has slowly evolved with things like Direct Access (removing the need for a VPN) over the last few years. It's also hard to overstate the usefulness of Active Directory for the IT staff.
Windows 8 devices will be attractive for enterprises looking to field mobile devices; developers should not be so quick to ignore it.
Keep your engineering skills up to date by signing up for TechRepublic's free Software Engineer newsletter, delivered each Tuesday.
Justin James is the Lead Architect for Conigent.