So you can imagine our joy as Microsoft announced Project Spartan during its recent Windows 10 event, a next-generation browser, one that will introduce cutting edge technology and support the latest web development standards while maintaining compatibility with older websites. Project Spartan is going to be the successor Internet Explorer deserves, and it isn’t simply a rebranded browser, but one that was built from the ground up.
“We believe the break from IE’s past we’ve made to create a new rendering engine will help make the browsing experience for our customers better, and make building Web sites that just work across browsers easier for Web developers.” – Charles Morris, Project Spartan Program Manager Lead, Microsoft
In a recent blog post titled ‘A break from the past’, Microsoft details the motivation behind the creation of Project Spartan. Over the past 20 years of Internet Explorer’s existence, Microsoft worked on modernizing the browser without “breaking the web”. The company tested the Web’s top 9000 browsers that account for around 88% of global web traffic, or the ‘head’ of the web. Unfortunately, Microsoft came to realize that the ‘tail’ end of the web was suffering, as a result. People complained that they couldn’t complete a web reservation for a stay at Hotel MiddleOfTheWoods, or navigate around the website of their local barber or school, these are websites that would never make it to the top 9000, and to Microsoft, this wasn’t acceptable.
The IE team at Microsoft asked themselves how it was possible that the browsers real-world compatibility was declining while the compatibility testing data they received was improving and upon further research into the matter, realized that fundamentally, a change in their approach to compatibility was required. Even while they added support for the latest HTML standard, it didn’t guarantee compatibility with sites written for older versions. The included compatibility view lists allowed the team to fix broken sites, but this needed testing and maintenance and didn’t scale beyond the top websites.
Another reason people were facing compatibility issues was because web developers were only using the “x-ua-compatible” header to maintain their site compatibility with IE while they configured their sites to work with other modern browsers. Lastly, the focus on web standards that were supposed to ensure site compatibility across browsers caused issues as the standards documents could be easily misinterpreted.
“…we also needed to significantly revamp how we find, track and fix issues on the long tail of the Web. To do so, we do daily analysis on trillions of URLs crawled in conjunction with Bing to detect patterns that exist in the head of the Web and the tail of the Web. By fixing these patterns, sites just end up working. This data is augmented by thousands of daily feedback reports from users via the “smiley face” icon.”
With Project Spartan, Microsoft sought to make it easy for web developers to write code that will be compatible regardless of which modern browser they originally designed it for. A browser that will work with top 9000, or the tail of the web where 4.4 million websites reside. A browser that enterprise customers will enjoy thanks to its backward compatibility even if and when they decide to upgrade to the latest HTML5 standards. They needed a “break from the past”, an all-new approach to compatibility.
A new interoperability-focused approach to web compatibility was need. The same proven approach that was used with the update to IE in the Windows Phone 8.1 Update. The IE team didn’t want to use an existing rendering engine like Webkit as it could also introduce compatibility issues, and so a brand new rendering engine was created “free from 20 years of Internet Explorer legacy”; this also necessitated the creation of a new user-agent string to ensure that websites don’t get any hint of IE. But even still, a new rendering engine is not enough.
“…the new engine began as a fork of MSHTML.dll but has since diverged very quickly. 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.”
Microsoft will also be sticking to the “Windows as a service” approach when it comes to the Project Spartan rendering engine. This means that over time, Microsoft will update the engine with new features and capabilities as soon as they are ready rather than wait for the next major release. Microsoft will also be heavily relying on user feedback and consider the development of Spartan a “community effort”. Spartan will be released alongside Windows 10 as a universal app for PC’s, phones, as well as the Xbox.
Stay tuned to WinBeta for more on Project Spartan, we’ll surely be learning more about over the coming weeks and months as it gets included in the Windows 10 Technical Preview.