I have been quite excited about Windows Phone 7 since it was first leaked to press, and now with its release, I am frankly, quite disappointed with the outcome. Virtually all the complaints leveled against the iPhone apply to Windows Phone 7 handsets as well! e.g. No multitasking, No Flash (and no Silverlight either!), crappy Bluetooth support (I am guessing since Windows 7 doesn’t have an A2DP profile – required for connecting to Bluetooth headets – the same is likely to apply to Windows Phone 7).
Microsoft really really need to get their mobile device strategy straightened out or they will confine themselves to a static or ever shrinking desktop device market share. If Microsoft keeps executing in this lackluster manner, Apple is going to leverage their dominance of mobile device market *and* media distribution (e.g. iTunes and a reinvented, revitalized AppleTV) and use this to continue chomping away slowly but surely at the desktop market as well.
The new reality is that Microsoft no longer holds all the cards. Here are the “cards” that matter and who has them
0. Desktop/server – Microsoft are the desktop kings, and have some penetration in the server space.
A. Mobile phones – Google who now have more Android devices out there, then Apple, who still put out the more polished platform.
B. Mobile devices – Still owned by Apple, with the iPad, we will see when Android 3.0 comes out
What does Microsoft have for A. and B.? Sadly, nothing strategic that Apple or Google haven’t already delivered. Apart from the spiffier new UI, everything else is just copy-cat from Apple. Windows Phone 7 might win MS a bit of market share, but if Apple deliver with their rumored touch-driven iMac and further integrates iOS and OS X development, Microsoft will be in real danger of completely dropping the ball, strategically speaking. Heck, there was a time when I laughed at the notion of Apple being able to beat Microsoft in the desktop market share, but today, Jobs’ reality distortion field has gotten soooo strong, I can even imagine Apple eventually competing with Microsoft in the server space!!
Apple completely understand that mobile phones and mobile devices are two quite different markets but for which having a shared development environment is essential to leveraging developer productivity. Hence, the use of a single iOS for what are essentially both ARM-based platforms just with different screen sizes.
Microsoft, on the other hand, seem to think that pen-based tablets and touch-based slates can be driven by Windows 7. They do have some great technologies for pen-based computing which are still considerably more advanced than Apple’s (cursive handwriting recognition – which OS X lacks – and usable speech recognition). But they have a blind spot when it comes to touch. The iOS/iPhone/iPod/iPad UI experience proves that touch requires a very different approach.
Microsoft have to execute a multi-pronged strategy whereby they combine the strengths of the Windows desktop ecosystem (drivers + .NET APIs), their pen-based technologies (voice and handwriting recognition), and the Surface/Courier UI innovations which they seem to have so foolishly cast by the wayside!!
Push out industrial strength tablet/slates running Windows 7 but with a touch-centric UI instead of Explorer (easily done). These devices, by being able run the whole gamut of Windows desktop software as well as more touch-friendly Silverlight apps (whose ecosystem can be shared with Windows Phone 7 devices), should make both developers and end-users think really really hard about whether to commit to the iPad’s proprietary (but otherwise excellent) platform or stick with the ginormous universe of Windows/.NET tools and apps. Windows is the one foot in the past and the desktop/server niche while Silverlight/desktop CLR points the way to the mobile device future.
Figure out how to scale the Zune/Windows Phone 7 UI metaphor to lower-spec’ed tablet/slates running Windows Phone 7 (or some mobile variant thereof). Microsoft’s ace-up-the-sleeve is STILL .NET and its unparalleled multiple language interoperability. Neither Google nor Apple are going to have anything like this in the near future, and this is the single most important thing that matters which can still lure developers to Microsoft’s platforms.
Today’s 1Ghz low power devices should be able to run desktop CLR with some competence already, and the next-gen should be when Silverlight/desktop CLR based apps can finally start to shine and make sense.
C. The Web / Cloud – Time and again, Microsoft have proven that they STILL do not get get the web! Google’s much hyped “first wave” of “innovations”, e.g. Froogle, Google Checkout, Google Wave, SOAP-based APIs etc… have proven to be mostly duds. However, I believe Google have learned from their mistakes and that there is an up-and-coming next wave of innovations from Google that will put them so far ahead of Microsoft that it would make the latter realize that they should just give up on the cloud/web. While Microsoft is still struggling to figure out the Web (sigh…), Google are already well on their way to colonizing the The Cloud.
Google Docs is one of the few post-search engine innovations from Google which did turn out to have promise and it is a cloud technology. Besides this, you have Cloud APIs such as the Google Prediction API for which Microsoft really has no idea what these are about or for (or maybe they are doing such a poor job at marketing it, that developers remain unaware of them). While MS have done a lot of great engineering on their monolithic Visual Studio environment and made spectacular progress on their relatively open .NET development environment, these are STILL desktop-centric technologies whereas Google are obviously gunning for a future where applications live across the cloud. Applications of the future will not run on single machines, rather they will be “mashup”-driven and leverage APIs provided by 3rd parties analogous to how developers link in 3rd-party libraries to their apps today, the difference being that this time the linkage is “across the cloud”.
Looking at the new bunch of Google APIs, it is obvious they intend to finally bring the formerly half-delivered and half-baked promises of RPC/SOAP to developers everywhere (and not just enterprise niches) and via the far more enlightened REST paradigm.
Finally we get to search, where Bing is really turning out to be yet-another-dud despite the promising initial hype. Meanwhile, Google continually applies spectacular refinements to their search experience (such as Google Instant Search) making it harder and harder for either Yahoo or Bing to catch up. Search is core to Google in the same way that Windows is core to Microsoft, and at this point, I think Microsoft have nearly as much chance of being able to topple Google in Search as Google can of toppling Microsoft when it comes to the desktop OS – meaning, of course, close to zero. If you can see, Google took a different route to attacking MS’ dominance of platforms (e.g. it took the mobile route… and ended up butting heads with Apple), so perhaps Microsoft really have to rethink their strategy as well. My bet would be to somehow bring together social networking, the graph-based Semantic Web and something like Wolfram Alpha and use that to define the future of search rather than a futile attempt at copy-catting the current Google search engine experience. Much as Google knew to target mobile devices rather than compete with MS on the desktop, MS should be smart enough to avoid tackling Google head on in Search as well.