I didn't attend this year's PDC in Los Angeles, even though I live in LA, partly because I was in Panama during that week (for business, though well worth a vacation visit in future), but also because I am extremely busy these days between life as a director at ForgetMeNot Software and the birth of my first child, Dahlia, this summer. As was the case at PDC 2008, however, the "three screen" strategy appeared to take center stage as part of Microsoft's attempt to create a unifying thread that links its disparate product categories. Those three screens, of course, are mobile phones, PCs and Television. Having spent three years working on the Television part of that strategy as part of Microsoft's IPTV group, I have rather strong opinions about their efforts there.
But having spent the last year and a half at a telecommunications-focused company, however, the mobile screen is now vastly more important to me. As should be obvious to anyone who pays much attention to the mobile space, Apple, and increasingly Google, have eclipsed Windows Mobile (now just called a Windows Phone), gaining mindshare and undermining years of effort spent cultivating a market for Microsoft's mobile phone platform. We are looking into smartphone apps that tie into our backend infrastructure. I would be hard-pressed, however, to put a Windows Phone on the near-term roadmap.
It's quite a climb-down for a company that has been beavering away at the handset market long before Apple and Google's mobile efforts were a glimmer in an engineer's eye. The reasons are numerous and debated frequently on the Internet, but it's clear that this could have serious ramifications for Microsoft's business. Smartphones are expected to become the number one source of Internet hits by 2020. Microsoft's continuing (albeit waning) dominance in web browsers might not amount to very much in a world awash in smartphones (most of which don't use IE). All those people writing to mobile phones (and, thus, Mac OS X or Linux) acquire skills that make Windows APIs less relevant. More speculatively, I can easily see smartphones supplanting, in certain cases, mobile computers such as laptops or netbooks. People are used to docking their iPods. Why not dock an iPhone (or an Android) to a device that has a keyboard and monitor? Call it the hyper-portable computer, and Apple and Google, based on stripped-down versions of Mac OS X and Linux, respectively, are far better prepared for that eventuality than Windows CE-based Windows Mobile ever can be.
To be fair, part of Microsoft's problem stems from the fact that they are, at core, a company that has focused on business. That's not surprising considering that their leg up, as it were, occurred when Microsoft was picked by IBM in the early 80s as supplier of the operating system that went into early desktop PCs. That orientation persists, in altered form, even today. If you think about some of their real money spinners, such as Office or Exchange, they are products focused on the needs of businesses. Business popularity helped to cement demand for PCs running Windows in the home, as consumers tend to buy the same system they use at work.
Apple, on the other hand, has never understood the needs of businesses well. That, however, is hardly a negative in today's world. Businesses still buy lots of software and hardware, but consumers have market influence they didn't have in the 1980s. Apple's unique ability to create distinctive and visually-appealing computing products may not have attracted enterprises, but was easily adapted to the creation of personally-identifiable devices. Things you carry on your person define you more than stuff that sits at home in your den or at the office.
Apple leveraged their unique skills, and the rest, of course, is history. Apple rewrote the mobile phone handbook, and everyone else has had to scramble to keep up.
I don't think that Microsoft's smartphone strategy is unsalvageable, particularly as their share is still credible if you subtract Symbian from the mix. iPhone might have injected jet fuel into the gas tank, but Google and BlackBerry have responded with strong offerings. With Dell piling in with their own device, today's environment seems more like the PC market of the early 80s. To borrow a term popularized during Microsoft's antitrust trials, we are at an inflection point, and if Microsoft can make an appealing handset (or guide licensees towards that goal), they can make a difference. Remember, Apple was the first to popularize a visual desktop operating system (XEROX has to take the prize for "inventing" it).
Obviously, that handset will include a touch screen with minimal physical buttons...just like Apple (and Google). But so what? You don't put navigational pull levers into a new automobile just so that it's different than cars that have round steering wheels. Frankly, I have no idea what Microsoft thought it was doing by purchasing Danger (maker of the Sidekick), and I'm sure, after recent catastrophes, Microsoft executives are wondering the same thing.
Microsoft, however, needs an edge that differentiates them from the pack. Business tie-ins, though not unimportant, will be just about useless as a way to attract ordinary consumers. There are aspects of that business focus, however, that have useful side effects, and which spring from the types of things Microsoft does particularly well.
Microsoft spent the past two decades hiring some of the best software framework designers in the world. Their efforts have been poured into making .NET into what is the best development platform around today. In terms of APIs and coding technology, it is, in my opinion, simply better than alternatives. In a rational universe, Microsoft would act like it is a competitive advantage.
Unfortunately, except for at professional developer conferences, Microsoft doesn't act that way. Quick: name the major Microsoft applications that are written in WPF. How many major Microsoft web properties feature Silverlight in any serious way? When Microsoft uses its own technology extensively (think: Exchange, Outlook, COM), it tends to do very well. When they don't, well, you have the situation with WPF and Silverlight. I think its good that Visual Studio 2010 has made the shift to WPF, but Visual Studio falls within the purview of Scott Guthrie, Corporate VP of the .NET Development Platform. The Pope, I hear, is also fairly Catholic.
If Microsoft is looking for a differentiating feature for a mobile platform, promoting .NET makes a heck of a lot of sense...particularly if Silverlight is supported in the next version of Windows Mobile (which based on this year's PDC, seems to be turning into a development platform in its own right). Granted, .NET makes a poor advertising center point. Consumers couldn't give a fig how easy it is to develop sexy applications for a mobile platform. On the other hand, users do care about choices of software. Desktop Windows' range of software choices has long been one of its competitive advantages. That situation has been reversed with the iPhone, with Apple trumpeting the 100K+ applications available through its application store.
Platform matters. It mattered in the PC world, and it matters in the mobile world. By itself, great APIs aren't going to sell a product, or make it dominant. BeOS had great APIs. Microsoft, however, is not BeOS. They have the resources to market themselves effectively, and have a huge developer community in Windows that can be easily transitioned to mobile development, provided they make that their focus.
Clearly, the phone Microsoft or its partners offers has to be a nicely-designed, consumer-focused device. That means that some segment of the XBOX group - Microsoft's de facto hothouse for consumer-oriented hardware ideas - will be involved in that design, even if that phone is not per-se an XBOX (or Microsoft) phone. J. Allard and the rest of the XBOX team, however, can't be allowed to channel the other half of Steve Jobs character disposition. XBOX is confusingly closed. For the only true TV-attached device in the Microsoft product catalog, it is perplexing to me that XBOX isn't trying to encourage third-party developers to make non-game network-capable apps that run on the XBOX (well, unless you are Netflix, Facebook, Twitter, or another "big" company).
But, that's a gripe for another day. There is plenty of discomfort in the developer community with Apple's arbitrary control over what can run on an iPhone. Further, I have a hard time believing people would spontaneously choose Objective-C and Cocoa native APIs as their preferred development environment. Perhaps an application free-for-all isn't well suited to a mobile phone, but that doesn't mean that Apple's approach is the golden mean. I've always viewed Microsoft's approach to platforms as somewhere between Mac OS X and Linux. That's a good middle ground, IMO, and should be reflected in their approach to an app store (particularly as .NET apps are inherently "sandboxable").
Admittedly, I'm biased in this. As anyone who read my lapsed blog would know, I LIKE Microsoft development technologies. Our company does most of its backend work in .NET. I very much want to be able to write .NET applications for a mobile platform.
My ability to do that relies on Microsoft executing on their mobile strategy. So, as an interested party, it makes little sense to grumble quietly about what I think Microsoft should do.
Microsoft needs to make a phone that's worth programming for. Once achieved, however, Microsoft should try to act like the past 20 years spent collecting the leading lights of framework design accomplished something useful. Put .NET front and center as a differentiating feature. It may not be something Apple or Google might do, but then again, it shouldn't be. Leveraging your unique advantages to maximum effect is always the best tactic in any competition.