Microsoft just wrapped up the keynote for their Windows Phone Developer Summit. Following as it does on the heels of Apple’s Worldwide Developer Conference, comparisons are inevitable… so let me succumb to the inevitable:
- At WWDC, Apple announced iOS 6 and talked more about the forthcoming “Mountain Lion” release of OS X, which follows OS X “Lion”‘s lead by incorporating a number of iOS-like features. Many observers believe that Apple’s long-term plan is to provide as much of a unified core between iOS, OS X, and AppleTV as possible.
- At WPDS, Microsoft announced Windows Phone 8 (“Apollo”), which will share a common core with Windows 8– thereby beating Apple to the core OS-integration punch. They also highlighted some nifty new Apollo features that will depend on their hardware device partners, including new higher-resolution screens and support for NFC.
As they normally do, Apple was mostly quiet about the device upgrade path for iOS 6. Microsoft, on the other hand, was up front about the fact that current Windows Phone devices won’t be getting Apollo. Tony has a beef with this approach:
I think this is a brain-dead decision that looks pretty feeble when compared against Apple’s record of making sure that new releases of their O/S run on older versions of iPhones. For example, the iPhone 3GS that I used before making the now-lamentable decision to try Windows Phone 7.5, upgraded smoothly from iOS 3 to iOS5 over the time I owned the phone.
This is clearly a situation where Apple is right… well, except that they’re not.
It is true that iOS 6 will run on older devices. For example, my not-yet-two-year-old iPhone 4 will run iOS 6, as will all models of the iPad; even the relatively ancient 3GS will get the upgrade.
However, there are a number of iOS 6 features that will not work on anything older than an iPhone 4S. Among these: FaceTime over 3G and turn-by-turn directions in the mapping app, two features that exist either as App Store apps or hacks that can be applied to jailbroken devices.
Apple hasn’t said why they won’t ship these features for iPhone 4 users. It might be due to technical limitations (though I doubt it in the case of turn-by-turn directions), but I suspect it’s more likely to be as a tactic to drive sales of new devices. After all, Apple’s profit on iOS devices come from the hardware (and to a lesser extent, the attach rate of purchases from the App Store).
Microsoft, on the other hand, makes no profit on WP hardware except to the extent that they collect a license fee per handset. That raises the question of what Microsoft should have done with Apollo. You could argue, as Tony does, that at least the shiny new Lumia 900 should get the upgrade, and that ideally older devices should as well. But this approach poses some really interesting tradeoffs for Microsoft. They get to choose between two options, to wit:
- spending a large amount of money and engineering time to get Apollo running on older WP7 devices, such as the HTC Surround or the original Samsung Focus, from which they will never derive any additional revenue and for which carriers may decide not to give their customers the upgrade anyway? or
- spending money and effort on polishing Apollo to take full advantage of new hardware, sales of which will drive carrier efforts and directly put cash in Microsoft’s coffers?
I don’t think that Microsoft’s choice was a very difficult one. If you look at the list of Apollo features, some of them (such as NFC, new resolution support, on-device BitLocker encryption, and the new DirectX) require upgraded hardware. Some of them (such as deep VoIP integration, which I dearly wish Apple would copy, the new Nokia map experience, and support for native C++ code) do not, and could feasibly be backported, but only to the extent that they don’t depend on the new Windows 8 common kernel. Some of the new features, in fact, are actually apps, which means that Microsoft could potentially ship them as separate standalone updates in the future.
When Tony says
After all, we’re dealing with software here and surely a few IF… THEN… ELSE conditions could be incorporated into the code to support older devices?
I’m reminded of our earlier discussion about the pros and cons of requiring an Active Directory version update for Exchange 15, in particular the observation that the test burden of software changes is a lifelong obligation. Adding a feature isn’t always hard, but once it’s added you must test it on every device and configuration for as long as you support that feature– and that is even more true here when you consider the size of the WP test matrix, which contains dozens of devices and dozens of carriers. If I were Terry Myerson, the corporate VP at Microsoft who owns Windows Phone, I wouldn’t spend the money on backporting the core, even if it were technically possible. It doesn’t make sense as an investment, nor is the ongoing cost burden supportable.
(nb. Myerson, you may recall, is the fellow who made the at-the-time extremely unpopular decision that Exchange 2007 would require x64 hardware. This was widely hailed as being an arrogant and ignorant move on Microsoft’s part, but it was actually one made for solid technical reasons, and in retrospect it has proven to be the right decision; the scalability and performance benefits of that move have been critical improvements to Exchange 2007, 2010, and 15.)
While Tony thinks of Microsoft’s move as being a “sad and arrogant indication” of Microsoft’s contempt for its mobile customers, I instead see it as a realistic acceptance of the fact that even the mighty Microsoft has limits on what they can feasibly accomplish. They are fighting hard to stay relevant in the mobile device market, and they’ve apparently decided that their effort is better spent on net-new development work. Based on my outsider’s view, I can’t disagree.
Having said that: yes, I’m disappointed that my two-year-old HTC Mozart (and the Lumia 800 I’m going out to buy this afternoon for a project) won’t get the Apollo upgrade.. but no more so than I am that my iPhone 4 won’t get the full flavor of iOS 6. In fact, I am probably more likely to buy a new device to run Apollo than I am to buy a new device for iOS 6. Why? Look at the delta in features; absent some major new hardware improvement, or some as-yet-hidden iOS 6 features, it doesn’t make sense to shell out for a new device just to get Siri, turn-by-turn maps, and FaceTime over 3G. But at the end of the day, this is a business decision, not one that Windows Phone customers should take personally.
 You know who really has contempt for their mobile customers? The carriers. Yeah, that’s right; the same ones who do things like block Windows Phone and Android updates. Of course, you can argue that as an OS manufacturer that doesn’t make its own devices, Microsoft’s customers are the carriers, not consumers. Apple’s in a different space because they sell devices both through carriers and direct-to-consumer, as do Google and the increasingly-irrelevant RIM.