I was never a fan of Nokia’s strategy announced on Feb 11 2011. I am not anti-Nokia or anti-Microsoft. In fact, I developed for Windows CE/Mobile for a decade followed by Nokia/Symbian for half a decade and wanted to see both companies succeed. For the last few years I have only developed for Android and a small amount of Windows Mobile for a few very long term clients. With Windows 8 we enter a new era. As a developer, is this an area worth pursuing?
The existing Windows Phone 7 is based on Windows CE which runs on ARM-based devices. The existing Windows 7 (desktop) runs on Intel architectures. With Windows 8, Microsoft have allowed Windows (desktop) to run on ARM devices. This has two consequences for mobile…
- It’s possible to have less power-hungry (ARM rather than Intel) tablets that run Windows 8.
- Windows Phone 8 no longer needs to use Windows CE and now uses the same underlying architecture as the desktop.
But there’s a catch - in fact there are two catches. Windows 8 on ARM (called WindowsRT) is not the same as Windows 8 on Intel. Both are separate and you won’t be able to run applications compiled for one on the other. This means existing Windows apps won’t run the new ARM based tablets unless the respective developers recompile their code.
The second catch is that while existing Windows Phone 7 users have been promised app compatibility, there will be no existing device OS upgrades. This might cause some existing Windows Phone fans to become disillusioned.
There will be two ‘classes’ of Windows tablet. Intel/AMD ones will be expensive, as now. The new WindowsRT will be less expensive, priced like Android tablets, but there will be a lack of apps and initially few manufacturers. As a developer, you can see this as an opportunity (a new market) or a limitation (initially a small market).
Here’s my take on this. I can’t yet see how Windows Phone 8 will compete with iOS or Android. Similarly, I can’t see how the new ARM-based Windows 8 tablets will compete with the iPad or Android tablets - at least in the consumer space. However, the tablets might be more attractive for businesses that already use Microsoft technologies and there might be scope for B2B applications.
One thing I don’t understand is why .NET didn’t shield an app from the underlying platform (ARM vs Intel). This was one advantage of .NET, being able to run managed code that’s independent of the underlying architecture. I suspect it’s like Java ME, Nokia’s Qt and many other cross platform development tools. Difficulty, mis-management or neglect has prevented these tools from realising their aspirations.