Elopocalypse: Day Four One oddity of Nokia's bet-the-farm decision to move to Windows Phone is how much work needs to be done to bring Microsoft's software up to par with Nokia's existing platform. You remember, the Burning One. Today, developers are finding out.
With Windows Phone 7, Microsoft took the Window CE kernel and built a tightly controlled and carefully managed environment around it. Microsoft also rigidly specifies what kind of devices OEMs can build. It must have three buttons, not four. WP7 currently supports just one CPU and one screen size. And WP7 is very much a greenfield site: a large number of features supported by the competition are also missing. The list is pretty daunting.
It's remarkable how little attention has been paid to the spotty Windows 7 Phone feature-set. Elop's logic is that Nokia can lower its R&D expenditure because the cost of a Windows licence will be lower than the marginal cost of adding new features by itself. Perhaps that will be true at some point in the future.
Perhaps it's true now, for there's surely no company as inefficient as the Nokia engineering bureaucracy today - as Elop has pointed out (in as many words). But this shiny new "ecosystem" is only going to deliver meaningful competitive advantages to Nokia once WP7 roughly matches the features or capabilities of the competition. And that day looks a long way off.
Most notoriously, third party applications in WP7 can't multitask. Even Symbian's harshest critics acknowledge that its multitasking is the best in the class; it was designed from the ground up with multitasking in mind. Symbian can even run the signalling stacks (3G and GSM) in real-time on a single chip - a remarkable technical achievement.
By contrast Windows CE's multitasking was its Achilles Heel, resulting in a non-deterministic system. Users could never be sure if a background task would behave, or drain away the battery in minutes. (That was certainly my experience with Microsoft's last tilt at the mobile market, WM6.) By turning off multitasking, Microsoft may have temporarily hidden the flaw - we'll have to wait and see. All the Ghz clock speeds and 3D chips in the world are no use to you if the battery is sapped.
There are other missing features, many essential to entire classes of applications - such as support for VoIP, tethering, HDMI, Bluetooth serial connections, hot-swappable USB cards, and so on.
There's no support for sockets, for example. The iPhone has sockets, of course, since it's Unix underneath, and Apple has a nice, rich API for the iPhone, which is a subset of the Mac APIs. Nokia developers here have been pondering some of the other omissions. But developers are feeling the pain already. There's no C++ support for WP7, everything's interpreted byte code.
In addition, the rigid restrictions on what phones should look like will no doubt have been loosened for the Nokia deal to have been struck; it can be loosened further. But filling in the features takes man hours. If Nokia devices are to appear this year, they won't be too much different from the other WP7 devices, or differ much from the first batch. There just isn't the time.
Over time, this may change. Apple demonstrated that multitasking, MMS or clipboard support were not deal-breakers for the customer - the iPhone established itself without these "essentials". But Apple had something then that felt unique. Nobody really has anything comparable now; phones are competing on more mundane features such as app support.
And over time, too, some of the benefits of WP7 will gradually become apparent. It's a nice development environment. I can safely say that Petzold's Programming Windows Phone 7 (free download!) is a lot less scary than Petzold's Programming Windows, version 3.0 edition.
The competition doesn't stand still, and by leaping off its burning platforms, Nokia has jumped onto one that might not be seaworthy yet. ®