There has been a lot of discussion about Windows 8, Metro-style apps, Intel vs ARM, etc., from the time Windows 8 Developer Preview was released at //build/ last year. A lot of the discussion and debates have to do with unclear communication and secrecy from the Windows team at Microsoft. For example, what exactly is the deal with Windows on ARM devices? Are they going to be a hard cutoff from today’s Windows and not have a desktop experience at all, or will they have a desktop experience? Will the desktop experience be open for all developers or only certain developers (like Microsoft Office) to provide signed apps for ARM which use a restricted desktop?
(Ed: On February 9, Steven Sinofsky posted details about Windows on ARM on the Building Windows 8 Blog, so some of the secrecy has been taken away. However, the points made here are in fact reinforced by the details revealed in the post.)
Those discussions and speculations aside, I truly believe Windows 8 is a huge opportunity for developers. In this post, I will tell you why I believe so. First of all, some math: According to Canalys, there were 415MM PCs sold in 2011. This is after accounting for a decline in sales per original projections! Even though smartphones have exceeded the number of PCs sold, that PC sales number is still a very large number.
Now, let’s assume that those 415MM PCs are split 60-40 with regard to sales to businesses vs. consumers. Taking a round number of 400MM PCs a year gives us about 160MM PCs sold to consumers a year. I am ignoring business PCs for now because let’s face it – they are not going to Windows 8 for some time, and even if they do, there is a strong likelihood of them turning off Metro via IT policies. Consumers on the other hand, won’t have the ability to turn it off, and all new PCs will ship with Windows 8 (Intel or ARM).
We could have approximately 300MM Windows 8 PCs in about 2 years from the time Windows 8 is made generally available, and that is assuming Windows 8 tablets and other form factors don’t take off. With a little bit of upside in other form factors and assuming a small portion of existing Windows 7 user base upgrades to Windows 8, we could be looking at about 400-450MM Windows 8 devices in the market in just a couple of years. No matter what you feel about Windows, that’s a lot of devices! So if you are a smart developer, why would you ignore this opportunity?
Microsoft has touted the existing installed base on 500MM PCs which can be upgraded to Windows 8 today, but I am not looking at it that way. I feel the new users are easier to quantify than the existing user base, and we can think of the upgraders as additive to the argument, especially if it happens in large volumes as Microsoft seems to be implying.
What about technologies to build the apps?
Technologies should not be a concern either, and in fact the general developer population should be happy Microsoft is exposing the same APIs to HTML/CSS/JS, .Net and C/C++. So you can use HTML not just as client-rendered HTML but more importantly as HTML which can talk to the hardware like other programming languages can. So if you are proficient in the modern HTML5-based technologies, you only need to ensure you target WinRT APIs in your apps in order to make you apps work on any device that runs Windows 8.
Besides the programming languages, frameworks and environments, it is important to note that Windows 8 will support all the modern sensors and so if devices ship with NFC or gyroscopes, they will be available to the developers via the same WinRT APIs, which is another neat benefit of developing for Windows 8.
Windows 8 Development – Simplified Architecture
Finally, the big piece of the puzzle is the Windows Store. Until now, the importance of the Store, which will be available in every language and geography where Windows is sold, has been underreported. The Store will allow the developers’ apps to be exposed to a huge captive audience. The only method of installing Metro apps on the upcoming Windows 8 PCs is via the Windows Store, so small and big developers are now on par in terms of getting in front of customers. Developers no longer will need to worry about marketing to potential customers across the world because the Windows Store will do it for them, not just by listing their app but also through the now-common practice of featuring apps in the Store and ranking apps to create “top” lists.
I have deliberately not discussed the improvements chip makers like Intel and AMD have promised to make in order to improve battery life and performance in the x86/64 world. Those, like Windows 7 upgrades to Windows 8 are only going to be additive. I have also not mentioned the marketing that Intel has promised to undertake to promote Ultrabooks. Again, that would only add to the sales (or looked at differently, would slow the decline of PC sales).
So, if you are a developer, why would you NOT build for Windows 8? Let me know, would love to hear the feedback.