In its blog post yesterday, Microsoft explained some details of project Spartan and why it moved from its older IE rendering engine, Trident, to a brand new rendering engine. It said the new rendering engine, that Microsoft built at home, will also be available in “IE for Windows 10” for legacy purposes.
There was pressure from many quarters to adopt the already existing, open source rendering engine WebKit, into the new browser (Project Spartan) but Microsoft chose to build a new rendering engine instead of just building a new browser around an existing rendering engine. It gave four main points for building a new rendering engine from scratch:
- The older rendering system could not handle all of the document compatibility modes and hence was limiting itself to some extent. The issue forbid Microsoft from fixing some known IE behaviors. The company said that fixing interoperability issues with other browsers could have forced IE to break the sites built especially for IE.
- Forcing websites to fix themselves based on older method of compatibility mode was not possible for all types of websites as most of the testing happened on regular websites. For example, sites like reserving a barber slot at a local shop would not work on IE as it is one off the mainstream websites.
- Developers had been using some code to force older websites in the future versions in IE while providing better experience on other browsers.
- It said it can now focus better on MHTML5 without breaking websites that were due to non-consistent interpretations of standards document that came with MHTML.
Microsoft said it chose to build a new rendering engine instead of adopting WebKit because the web is built on multiple yet interoperable implementations and it is necessary to remove a monoculture from building up. Hence it created its own rendering engine for Project Spartan, the new browser for Windows 10. In January, Microsoft had stated that the new browser, Spartan, will be available on all range of devices, from PCs to Tablets to Mobile Phones.
Microsoft will not ditch the Trident altogether. It will be there in both Spartan and “IE for Windows 10” for older websites that still need the likes of IE8 to function. There will be a transparent, real-time switch between EdgeHTML and Trident as and when required, so that even older websites can be rendered properly.
The older browser engine was based on testing a couple of sites and was hence was limited in rendering all types of websites. They (Microsoft) then collected data using Bing Searches over a time and used that data to come up with over 3000 interoperability bug fixes and over 40 new web standards so that web does not break. In its own words:
“We don’t see this interoperability effort having an end date – we’ll be continuously checking the data and rolling out improvements to the new rendering engine. For users that upgrade to Windows 10, the engine will be evergreen, meaning that it will be kept current with Windows 10 as a service.”
Watch the Microsoft developers talking about why they switched to Spartan in this video.