Project Spartan

Microsoft has offered some reasons why the Windows team decided to break from 20 years of Internet Explorer development and make an all new browser rendering engine, called Edge, for Windows 10. The engine will be used in the all new browser, code name "Project Spartan".

In both a blog post and a video, Microsoft said that while they have been improving the rendering engine in Internet Explorer for 20 years, it continued to received feedback about some websites that were broken while using IE. This forced the team to reevaluate their approach to web browser development. The blog stated:

In order to really address these challenges, we realized that we couldn't just incrementally improve on our previous approach, we needed a break from the past – all without losing the major investments that we had been making since 2009. A pragmatic approach The break meant bringing up a new Web rendering engine, free from 20 years of Internet Explorer legacy, which has real-world interoperability with other modern browsers as its primary focus – and thus our rallying cry for Windows 10 became "the Web just works."

Microsoft also decided not to use an open-source browser engine like WebKit and simply adapt it for Windows 10. The team had two reasons for that decison. It stated:

"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."

Microsoft says the new Edge engine offers a lot of advantages in web browser development along with better compatibility with older websites. It states:

By making this split, we were able to keep the major subsystem investments made over the last several years, while allowing us to remove document modes and other legacy IE behaviors from the new engine. On the other hand, our legacy engine (MSHTML.dll) can remain largely unchanged (outside of security and other high priority fixes) to help guarantee legacy compatibility for our enterprise customers. We also built up capabilities to switch between the legacy and new rendering engines seamlessly. A clean break also necessitates a new user-agent string to ensure that no IE-specific code was being sent. This built upon a long browser history of using whatever tokens are necessary to get the desired content from servers. Although this meant a lower compatibility rate initially, it was also useful to reveal interoperability issues that needed to be fixed! Finally, since legacy IE code is no longer being sent, we are able to drastically reduce our reliance on the CV list. This means that our top site compatibility rate will match our long tail compatibility much more closely.

The new rendering engine can be enabled with Internet Explorer 11 in the current 9926 preview build of Windows 10.

Source: Microsoft