Windows RT is a risky proposal, not because it will not be compatible with legacy desktop apps, but because it’s a closed system. Microsoft seems to forget that one of the biggest success for Windows was its openness; short of being open source, it allowed developers to do anything, yes, even malware.
Microsoft is about to release, in a few months, two new versions of Windows; Windows 8, a full-featured OS featuring the new Metro interface and the legacy desktop, and Windows RT, a tablet-specific limited version of Windows devoid of the legacy desktop.
The move comes from the thought that in order to compete with the iPad and Android tablets, Microsoft needs to have an OS that’s well optimized for thinner, lighter, less powerful form factors; that is Windows on ARM processors. In order to do so, they are removing any functionality that has not been built with the new architecture in mind, leaving only Metro, much like Windows Phone.
While the move is smart, this is not Microsoft’s real problem. In fact, the real problem, or rather risk with the new Windows, is inherent to both Windows 8 and Windows RT: Metro is a completely closed environment.
In order to develop a Metro app, you must use Microsoft’s tools and assigned development languages and you must sell/distribute apps through Microsoft’s Windows Store, an analogous product to Apple’s App Store on iOS. Metro apps cannot be side-loaded and cannot be created with other tools. Furthermore, any app published through the Windows Store must be reviewed by Microsoft to ensure it works without bugs.
This means two things: Windows 8′s openness is limited to the legacy desktop, meaning newer Metro apps will not be an interesting option for developers who’d like a more open platform, and Windows RT will be completely closed, just like the iPad.
Developers, in general, are adverse of closed platforms, for many reasons, but mainly because it’s simply a limiting factor. Linux has conquered the server space and many geeks’ hearts because of its openness. There’s nothing you can’t do, really, and that bodes well with developers, who often like to advocate very different programming languages and frameworks, but still need them to coexist.
No such thing is possible in Metro development for Windows 8 and Windows RT. It’s a severely limiting factor, and while Apple is not any better, Microsoft risks losing the open proposition to Android.
For many, not being able to do what one wants with a system can mean the nonexistence of a project. Take Minecraft for example, which was built and sold as alpha and beta software, enabling the developer to get a financial headstart and generate a huge community around his game while it was being developed. Minecraft was also built on the Java run time. On Metro, this would not be possible. The game could not have been sold independently, it could not have been sold nor distributed in its alpha and beta stages, and it could not have run on the developer’s framework of choice, almost all of which is conversely possible on Android (save for the fact that Android does not support a variety of development frameworks, yet).
Jeopardizing its platform’s openness and flexibility is a major risk for Microsoft to take. Indeed, they are not in any position to do so, unlike Apple, with a market large enough for developers to reconsider.
Microsoft, on the contrary, has to deal with a pre-existing market now running a majority of Windows 7 machines, which feature none of the closed aspects of Windows 8. Microsoft risks alienating its users and developers from Windows 8 and RT, stuck in the open world of Windows 7, while Android takes over newer touch-based technologies, by limiting Windows’ openness to the desktop.
Microsoft’s position on its new OS, or rather its disillusionment that it can replicate Apple’s walled garden approach, is a clear indicator that the company is out of touch with reality, consumers and developers.
Just like RIM and Nokia who refused to face reality numerous times, Microsoft is placing itself in a dangerous position, unlike Google which has shown an open ear to criticism, ensuring Android 4.0 returned to an open source model and giving back to the Linux kernel development team.