The two-browser strategy for Windows 10, at least for now

22.01.2015
Whether we saw Internet Explorer 12 or a curious new alternative browser from Microsoft remains unknown, even after the conclusion of Wednesday's Windows 10 preview event in Redmond, Washington.

Following the event, reporters were given hands-on demonstrations of the next Windows 10 build to be distributed to testers.

During the keynote session Joe Belfiore, Microsoft's corporate vice president for operating systems, introduced a different Web browser, calling it by its code name, "Spartan." It came as little surprise to many reporters in the room who had already seen leaked screenshots. It's a more minimalist browser, but not as obtuse and unfamiliar as the strange "Metro-style" browser that accompanied the first Windows 8.

What was surprising was the lack of a clear objective for Spartan. It may, or may not, replace Internet Explorer 11; and it may, or may not, become Internet Explorer 12.

"Since we've had this rapid evolution of the Web, and since we're building this new set of devices on Windows 10, the Universal platform, we think it's the right time to build a new browser for the modern Web which will empower our next generation of Windows users on Windows 10," Belfiore said.

He then proceeded to demonstrate a way to use pen drawing to mark up Web pages rendered on Spartan. The page he chose was a story on The Verge that talked up the virtues of Microsoft's new Web browser, and illustrated it with the familiar "e" logo of Internet Explorer.

For now, Spartan has its own distinctive icon in the new Windows 10 taskbar.

However, reporters invited to experiment with the Windows 10 build that will soon be distributed to testers noted the absence of Spartan altogether. In its place was a browser that company officials leading the demonstration referred to explicitly as Internet Explorer 12. One company representative said Spartan will become available to Windows 10's "Insiders" as a separate installation -- an alternative browser that takes IE12's place the same way Google Chrome can.

The duality isn't gone yet

It's not a nitpicking issue, especially for developers who would like to build Web apps that are functional in Windows 10 but have no idea where that functionality will be staged. Understanding the issue requires a bit of background.

There are two parts of a Web browser that are responsible for its relative performance. One is the JavaScript interpreter, which defines the functionality of a Web page or the client-side (user) portion of a Web app. The other is the rendering engine, which in essence is the printing press of the system. The challenge for each browser maker is to develop interpreting and rendering components that can handle the same raw material from the Web better than the competition.

It has been known for some time that Microsoft plans to introduce a new rendering engine with the version of its Web browser that ships with Windows 10. Today's revelation indicates that the company could very well offer both browsers simultaneously, one as an alternative to the other.

Why would it do this Well, Microsoft actually did ship two browsers once before, with Windows 8, both of which showed up in Task Manager as "Internet Explorer." One was for rendering Web pages on the Desktop, and the other was for rendering them in the other environment, which was then called "Metro."

Microsoft developers at that time communicated their hope that Web apps could be crafted in such a way that they could be installed in the Start Screens of both Windows 8 and Windows Phone 8, presenting themselves to the user of both classes of device as ordinary apps. The Metro IE would render these apps, while the WinRT runtime would render native Windows 8 apps.

Whether this was the only way or not, it was the strategy Microsoft chose for enabling Web-driven functionality for Windows 8. While that enablement might have worked, given enough time, the two-browser strategy failed because users found the duality too confusing. Some thought the Metro IE was confusing enough in itself.

Would Spartan help or hinder competition

A two-browser strategy this time around would be for a different purpose: appealing to the user base so rapidly built up by Google Chrome, while maintaining a compatibility path with veteran Windows users.

However, Web developers have raised the issue of whether adding another rendering engine to the field will complicate matters for those preferring their sites and apps to look the same in every context. For years, developers have resorted to using pre-processor directives, macros or other techniques to identify the rendering engine of the client-side browser before serving it code. This way they can deliver code best suited for each engine, rather than serving up one framework and hoping for the best.

Opponents of a new Microsoft rendering engine say it would give them one more context to have to test for, thus complicating their work. But supporters counter that the plurality of Web engines currently in the field helps to ensure that all browsers adhere to standards. They cite past history, when Internet Explorer 6 had such a commanding usage share, and sites tested to render in IE6 appeared in Netscape or Safari as though an earthquake had hit them. With no one browser commanding the field, supporters say, developers no longer have to pick one as the prototype and hope the others will follow along.

If Microsoft chooses to ship only Spartan with Windows 10, it could change the options for apps development dramatically. In addition to so-called "Universal apps," which are rendered slightly differently on phones than on tablets and PCs, it's foreseeable that Spartan could be used as a platform for HTML5 apps. Microsoft already has, after all, a new just-in-time compiler technology for JavaScript, borrowing architectural elements from the .NET Framework. If HTML5 apps are elevated to a prominent position alongside Windows 10 native apps (both WinRT and .NET), then Spartan becomes a key competitor against Google Chrome for the position of caretaker of the Web as a platform.

Scott M. Fulton, III