Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Microsoft Shares Details on Spartan Rendering Engine

Microsoft Shares Details on Spartan Rendering Engine

Microsoft has provided new information about the new rendering engine for Project Spartan, the web browser that will power Windows 10 desktop and devices.

In the blog post, Charles Morris, Program Manager Lead on Spartan, described the reasoning behind the switch, the browser's history, and the future plans. Beyond the need to build a modern rendering engine to compete with Chrome and Firefox, "We needed a plan which gave enterprise customers a highly backward compatible browser regardless of how quickly we pushed forward with modern HTML5 features," said Morris.

The new rendering engine was originally based on the existing Trident engine, which contained 20 years of compatibility and legacy code. After the fork, Microsoft spent months deleting unneeded code such as document modes and VBScript which left behind a leaner, more modern engine. However, due to the demands of enterprise web apps that may be built for specific, older version of IE, the legacy engine is still included. Spartan has the ability to switch between the rendering engines "seamlessly."

In the discussion on Hacker News, Microsoft senior web platform engineer Jacob Rossi says that "Removal of old IE legacy cruft is slimming Spartan's disk and memory footprint when compared with IE."

With Windows Phone 8.1 Update, Microsoft changed the browser's user agent string to one that made web sites think the device was something more popular, like an iPhone. To ensure that Spartan is getting the best content delivered, Spartan will continue this work and change the user agent string to:

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Note that it no longer says "Trident" but adds the value "Edge/12.0".

In the blog post, Microsoft said that using the open-source WebKit rendering engine was discussed, but they decided to build their own. "While there were some advantages, upon further investigation it was not the right path forward for two important reasons," Morris said.

First, the Web is built on the principle of multiple independent, yet interoperable implementations of Web standards and we felt it was important to counter movement towards a monoculture on the Web. Second, given the engineering effort required, we found that we could deliver an interoperability focused engine to customers significantly faster if we started from our own engine (especially if unshackled from legacy compatibility concerns), rather than building up a new browser around an open-source engine.

In a Twitter chat, @sircmpwn asked about the possibility of Microsoft open-sourcing Spartan. "No near term plans to open source code fully but we are embracing openness in other ways (e.g. )," came the response.

IE began auto-updating in version 11 and this continuous updates will continue with Windows 10. Web developers have spent years complaining about issues related to IE's compatibility and "quirks". Time will tell whether Spartan will quiet the criticisms.

Rate this Article