Microsoft's compatibility conundrum: When is it wrong to do the 'right' thing?

Over the past couple of days, on a couple of different fronts, Microsoft watchers have been musing about compatibility -- or, to be more precise, backward compatibility. On the Windows Mobile front, there are worries over whether WM7 will be compatible with WM6.x. On the IE front, there are worries Microsoft is too concerned with backward compatibility.

Over the past couple of days, on a couple of different fronts, Microsoft watchers have been musing about compatibility -- or, to be more precise, backward compatibility.

In the case of Windows Mobile (WM) -- where rumors about WM7 are ramping up at an almost iSlate-like pace -- folks are wondering about reports that WM7 might not be backward-compatible with Windows Mobile 6.X. Meanwhile, on the Internet Explorer side of the house, , an exploit in IE 6 that affected Google in China has led a number of company watchers to wonder why Microsoft is continuing to support IE 6. Why not drop backward compatibility so as to force IE stalwarts to move to IE7 or IE8?

On the WM front, the issue of backward compatibility is less pressing than it is on the IE/Windows one. Microsoft has broken compatibility in the past when releasing new WM versions running on phones with different processors. While there is some indeterminate number of custom Windows Mobile apps out there which may have been written for WM6.X, there still aren't more than a few hundred commercial WM apps in the Microsoft Marketplace for Mobile store. And you can be sure Microsoft will be prompt in getting its own apps (Office Mobile 2010, Silverlight, Windows Live, Bing, Zune, etc.) out for WM7.

The stakes are higher in Windows than Windows Mobile. Microsoft officials have insisted over the years that one of Microsoft's biggest strengths is its commitment to providing backward compatibility. With more than 1 billion Windows users out there, Microsoft officials haven't been willing (so far, at least) to create a new, smaller, less convoluted version of an operating system without thinking about how to continue to support the majority of existing apps and customers.

That "strength" also has become a great weakness for Microsoft, however.

Remember this August 2009 blog post from IE General Manager Dean Hachamovitch, where he explained why Microsoft wasn't dropping IE6 support? Even though doing so would make life a lot simpler for developers who are tired of having to create different versions of their apps/services not just for browsers from different vendors, but for different versions of IE, Microsoft was not going to do it. Hachamovitch attributed the decision to a number of factors, including the fact that some IT departments are lacking the money to shell out for the latest hardware/software, as well as the existence of custom internal apps that require IE6.

(It's still unclear exactly what the IE6/XP connection to Google is/was. Google hasn't explained how it was hacked, though there are plenty of rumors about that, too.)

Microsoft officials know IE6 running on older versions of Windows is a security nightmare. But they still decided to stand by the company's commitment to support IE6 on XP for the full lifecycle of those products. (In the case of IE6 on XP, I *think* that means Microsoft's support will continue until support for XP SP3 ends, which seems to look like some time in 2010. If anyone has any better luck deciphering the many support caveats and can come up with a more accurate date, let me know.)

Update: Here's the good news/bad news (depending on how you look at it): Microsoft officials say support doesn't end for IE 6 on XP SP3 until April 8, 2014. So this IE6 backward-compat debate is going to drag on for quite a while....

Back to Microsoft's conundrum. At some point, in order to truly advance IE and make it more standards-compliant, I'd assume Microsoft is going to have to drop IE6 compatibility. And in order to make any real changes in Windows, in terms of size, performance and complexity, wouldn't the Softies also have to cut the cord and deliver an operating system with a new kernel? Midori, the so-called "successor to Windows," is supposedly based to some degree on the Microsoft-Research-developed Singularity microkernel. The Midori team has been known to be debating how and if Midori will be backward-compatible with Windows.

One way around backward compatibility headaches is to use virtualization. But, as one of my readers recently noted, not all apps work well in a virtual machine running virtualized drivers. So maybe a preferable solution is to support two OSes simultaneously: Both WM 6.x and WM7. Both Windows and Midori (or whatever Microsoft's next-generation OS ends up being). But what about proprietary IE and more standards-based IE? Should Microsoft continue along that dual path here, as well?

Speaking of WM7, I don't have much new to contribute regarding all the new rumors showing up on various blogs and Wall Street missives. I can't help but wonder whether talk of two versions of WM7 is simply confusion over WM7 and "Pink" phones/services. As I've noted before, Pink was supposed to be a set of consumer services (including a Zune music service) plus a phone or phones custom-made for the teen/20-something set which would carry Microsoft branding.... So your guess is as good as mine (or any of the others out there) as to what Microsoft will share about WM7 and/or Pink in a few more weeks at the Mobile World Congress.