Spartan browser to support IE-based enterprise apps
- By Kurt Mackie
- Jan 29, 2015
Agency IT managers wondering how Microsoft’s new Spartan web browser will work with their legacy applications got a few clues this week.
Spartan is Microsoft’s new lightweight as-a-service browser being built for Windows 10 devices. Designed to deliver a more “interoperable, reliable and discoverable experience,” Microsoft said Spartan would provide compatibility with existing web sites designed for Internet Explorer.
While Spartan has yet to be released for preview, Microsoft answered questions about the new browser in a Twitter#AskIE thread on Tuesday. Jacob Rossi, a senior engineer on the Microsoft Web platform team, provided more general details in a Smashingmagazine.com post where he explained how Microsoft plans to deliver the new Spartan Web browser while also permitting organizations dependent on older IE technologies to retain compatibility with their legacy web apps and intranet sites.
The Spartan browser will have a new rendering engine, called "EdgeHTML," which is the result of Microsoft’s forking of the Trident engine code used for Internet Explorer. Spartan will contain both engines, the new EdgeHTML one as well as the legacy Trident engine called "MSHTML" (see chart).
Forked Trident engine in Project Spartan, Microsoft's newest Web browser. Source: Microsoft IE blog.
Organizations will be able to use the Spartan browser even if they have legacy IE support issues to address. When legacy support needs arise, Spartan will be capable of running the old IE Trident engine via Enterprise Mode. Microsoft's Enterprise Mode technology is an IE 11 solution that emulates earlier IE browser technologies all of the way back to IE 5 for compatibility purposes.
"We want enterprises to be able to use Spartan too," Rossi explained. "For them, Trident compatibility (e.g. with legacy line of business sites) is critical. So Spartan can load Trident through Enterprise Mode for those sites. That helps keep their mission critical stuff working while the web gets the latest modern engine, EdgeHTML."
Rossi added that "we will not be getting rid of Trident." It'll be around to support legacy enterprise sites. "This dual-engine approach enables businesses to update to a modern engine for the web while running their mission critical applications designed for IE of old, all within the same browser."
IE also will contain both rendering engines, so the natural question is, Why would Microsoft be planning to sustain two browsers? Why not just stick with Spartan, going forward? Microsoft's engineers did not answer that question directly, although the implied suggestion in their comments is that Spartan will let Microsoft jettison a lot of old IE code, producing a more lightweight browser. A Microsoft blog post pointed to a blog post by Justin Rogers, a developer on the Spartan project, who highlighted that idea. Rogers suggested that Spartan will allow Microsoft to remove so-called "undead code" that can lead to browser crashes.
Rossi explained that the launch of Spartan will highlight Microsoft's efforts in supporting web standards. IE tends to remind developers of Microsoft's older and quirky implementations, he added. Spartan does away with the old document-mode support approach in IE, for instance. Spartan also drops support for VBScript, X-UA-Compatible strings, currentStyle and attachEvent legacy coding, he added.
Spartan comes with a "new user agent string" that results in "surprisingly positive results in compatibility," according to Rossi. He put in a familiar Microsoft plug that web site developers should just avoid using user agent sniffing approaches to enable browser compatibility "at all costs." Microsoft's engineering team is aiming to "ensure that developers don't have to deal with cross-browser inconsistencies" with the new Spartan approach, Rossi added.
Microsoft is planning to expand standards support with Spartan "in the near future" with support for "Web Audio, Image srcset, @supports, Flexbox updates, Touch Events, ES6 generators, and others," Rossi stated. More distant plans include support for "Web RTC 1.1 (ORTC) and Media Capture (getUserMedia() for webcam/mic access)."
Additional Spartan plans were described in Microsoft's Twitter session. For instance, the dev team confirmed that it plans to add support in Spartan for browser extensions (also called "plug-ins").
When asked, "What are exactly and precisely the rules to trigger the old IE engine?" the dev team said it's based on Enterprise Mode in IE ("EMIE").
"Will only honor custom docmodes for intranet sites, sites on Enterprise CV list, and when in EMIE," the team stated. "EdgeHTML will be default for the Internet and X-UA-Compatible will be ignored on internet sites."
The team was asked how frequently Spartan's engine will get updated, answering that the "exact cadence is still TBD, but our intent is to keep regularly updated along with Windows 10 as a whole."
The team was asked if Spartan would be made available for Windows 7. "Spartan is currently targeted at Win10," the team stated. "We're focused on getting ppl [people] upgraded (free) but will watch Win7 demand."
One questioner asked if Spartan would "replace" IE on Windows 10 machines. "Consumers on Windows 10 will get Spartan by default," the team stated. "IE will be available for Windows 10 and can be enabled by the user."
This article originally appeared on Redmondmag, a sister site to GCN.