Related topics

How to relieve Microsoft's Surface RT piles problem

Burning problem for millions... oh where is that cooling cream of a Win32 API?

A hurdle created by marketdroids

So: you're not allowed to run Win32 apps, although the operating system can do this without a problem. You're not allowed to run desktop apps, unless they're the ones Microsoft gives you. And you're not allowed to install any other OS. It is these three factors that doomed Surface and Windows RT.

All these things are options, as is demonstrated by the jailbreaks. This means the three RT slab killers were marketing decisions, not technical restrictions. But between them, they mean buying an x86-powered tablet - a Microsoft Surface Pro or something else - is a much more attractive option. On the x86 version of Windows 8, you can run whatever apps you want, just like always - you can even remove the OS and replace it with your own choice of operating system if you want.

All three of these annoying obstacles could be removed quite easily.

The factor that led Microsoft to these disastrous decisions was the same one that decided we couldn't shorten the name of Windows RT to WinRT. WinRT is a bundle of different technologies - an object model based on COM+ and .NET, its associated C# and VB.NET languages, plus Javascript and TypeScript (Microsoft's strongly typed extension to Javascript) and Microsoft's native-code C++ compiler as well as the .NET languages. The resulting programs are called "Windows Store apps" - Modern apps for the Start screen, in other words, or The Interface Formerly Known As Metro.

Windows RT is a attempt to usher in its planned future for Windows of being multi-touch as well as keyboard and mouse driven, with managed apps, curated and approved by Microsoft, built with Microsoft tools and only obtainable from the Windows Store - with a cut of the price going to Microsoft, of course.

Since by its nature, an ARM version of Windows cannot run ordinary x86 Windows apps (see Bootnote*), why not just banish Win32 and the desktop altogether?

The problem is, of course, that it's a step too far, too soon. All the apps that make Windows desirable are Win32 apps. At this early stage, most Modern apps are barely functional toys, justifiably despised by most Windows 8 users. And whereas Windows Phone apps are a little more mature, Windows RT can't run them; they are built using different tools and sold from a different official store.

But it's not too late. Microsoft could transform Surface and Windows RT if it wanted: it holds the keys. Re-enable Windows RT's Win32 API, enable the installation of third-party apps, and unlock the firmware so users choose their own operating system.

Surface and other Windows RT devices would suddenly become much more flexible, powerful and appealing. But that would destroy Windows RT's function as a bridge into the new, pure, clean, Microsoft-controlled world of managed code and a managed market. That might be a step further than the company is willing to take. ®

* Bootnote

Yes, there are emulators to execute x86 code on ARM. Windows NT used to include one, when it was new and ran on multiple RISC chips, it came with an emulator to run 16-bit x86 code on DEC Alpha, MIPS, PowerPC and SPARC. The snag is that ARM chips are slower than modern x86-32 ones, and ARM is only just moving to 64-bit now, so x86-64 code is a bit of a stretch for them. In other words, this isn't really a viable option - it will deliver poor performance at best.

Sponsored: 5 critical considerations for enterprise cloud backup