In a partnership that would have been unthinkable 10 years ago, Microsoft has strongly endorsed Mozilla's asm.js technology for bringing graphically intense games and other performance-critical software to the Web.
During the last 10 years, much of the work that in the '90s would've been handled by software running directly on a Windows PC is now handled by software that runs in a Web browser. Facebook and Gmail, for example, were both born as Web services.
That suited Firefox maker Mozilla just fine, since its mission was to promote the Web as an open foundation for computing. In recent years, to try to attract even more software to the Web, Mozilla created software called asm.js that's designed to accelerate certain types of Web software, such as games in which a character explores a 3D environment.
Microsoft's move reflects two important changes at the company. First, it has become serious about supporting Web standards and technologies to better compete with Firefox, Chrome and Safari, and to attract Web developers. Second, under Chief Executive Satya Nadella, it's embraced even those technologies that may undermine the power of existing businesses like Windows. In addition to supporting asm.js, it has also released a version of its Office software for Apple's iOS operating system, for example, and opened up Office document storage to rival cloud storage providers like Box.
Microsoft grew to browser dominance in the 1990s with Internet Explorer, which it bundled with Windows. Since Firefox debuted in 2004, though, it's steadily lost that dominance, and IE has been dogged with a reputation as a sluggish browser that doesn't embrace exciting new Web technologies. In part to break with that past, Microsoft is introducing a new browser, called Project Spartan, that strips out a lot of old IE code for a fresher start in Windows 10.
The software giant also has embraced many new Web standards and become more transparent about declaring which ones it supports.
Microsoft has made big progress supporting newer standards. It's even wooed one former critic, Christian Heilmann, who for years railed against IE's standards shortcomings. "Microsoft. Yes, the bane of my existence as a standards protagonist during the dark days of the first browser wars. Just like my doctor, I am going to the source of a lot of our annoyances and will do my best to change the causes instead of fighting the symptoms," Heilmann said in January of his move to Microsoft after serving as Mozilla's principal developer evangelist.
Unsurprisingly, Mozilla is pleased with Microsoft's shift. "We at Mozilla are very excited for IE to join Firefox in providing predictable, top-tier performance on asm.js code and from my discussions with the Chakra team, I expect this will be the case," said Luke Wagner, an asm.js developer at Mozilla, in a blog post.
Gaurav Seth, principal manager of Microsoft's Chakra team, and Ed Maurer, principal group software engineering manager of the the team, praised asm.js as a tool that runs nearly as well as software that lives on a PC's hard drive. "Asm.js is a clear step towards enabling near-native performance for the Web platform," they said, "which is why we're excited to bring it to Chakra in an upcoming release."
Why asm.js matters
Among asm.js-based games released on the Web are, . Epic's Unreal Engine, a foundation used to power other games, .
Microsoft likes what it sees with asm.js. "We believe that asm.js and the work we do to enable asm.js has the potential to provide speed benefits to many more scenarios over a period of time," Maurer and Seth said.
"We're already beta testing TurboFan in Chrome 41, which significantly improves the performance of numeric code like asm.js," the TurboFan team said. "One could consider this issue 'mostly fixed.' We are actively experimenting with the policy to activate TurboFan, and one signal is the 'use asm' directive" that Web pages use to invoke asm.js.
Updated at 4:41 am PT with further background.