This week's Windows Weekly broadcast spends about 20 minutes (from 2:00 to just past 20:00) on the topic of Microsoft banning competing browsers from Windows on ARM.
Paul and Mary Joe do a really good job of explaining things. The one thing I'd like to highlight, and Paul touches on this, is that were talking about more than just IE on the classic desktop on Windows on ARM. We're also talking about being disadvantaged in the Metro environment. That's actually the larger of the two issues.
Internet Explorer is basically one browser with two front ends. The back-end is basically the same in classic and Metro and it has access to special Windows APIs that no other app on Metro has access to. That means that this is not just a problem of other browsers being excluded from the classic desktop on Windows on ARM, but other browsers are also at an extreme disadvantage on Metro compared to IE.
IE on Metro has access to the full win32 API, unlike any other Metro style app -- including third party browsers. Without that access, it's simply impossible for other browsers to compete with IE on Metro. No other browser would be able to have a modern JavaScript engine -- Microsoft's JavaScript engine would be 10-30 times faster than any other browser's because IE has privileges on Metro that let it mark memory as executable (something you need for a JIT to make JS fast). No other browser would be able to compete with IE in terms of stability and security because IE has access to APIs for creating extra processes and brokering between those processes so it can sandbox tabs and plug-ins and generally build a more secure product. No other browser on Metro would have access to those APIs.
So, when Paul and Mary Jo talk about how Microsoft could make things right with third parties by just not having classic desktop IE on Windows on ARM, yes, that would be a small step, but it's not the classic desktop environment we actually want. No one wants to spend time in that environment on a Windows on ARM machine. What we want, and what IE has, is access to the classic win32 APIs that power the classic desktop while in Metro mode.
On x86, we had the same exact problem. Firefox on Metro did not have access to the same APIs as IE on Metro. Microsoft solved the problem by creating a new category of Windows 8 program called Metro style enabled desktop browsers. But what Microsoft was really doing there was saying "Your Metro browser can use your classic browser's back-end, which has access to the full win32 API" which is precisely what IE was doing.
Microsoft should provide the same exception on Windows on ARM and allow browsers on Metro to access the full win32 API just like IE does.
update check out that awesome 2004 Firefox 1.0 New York Times poster behind Paul :-)