Related topics

Latest Firefox boosts video chat, 3D graphics, JavaScript performance

WebRTC and asm.js support enabled by default

The Mozilla Foundation has shipped Firefox 22 to the release channel, bringing with it improved support for web-based real-time communications and a significant performance boost for some JavaScript applications, among other features.

The new version comes with support for the nascent WebRTC API enabled by default for the first time. Technically still a work in progress at the Worldwide Web Consortium (W3C), WebRTC is a proposed standard that enables browser-based voice calling, video chat, and peer-to-peer data sharing.

Other than Firefox 22, only the latest versions of Chrome OS and the desktop Chrome browser support WebRTC so far, but other browsers are expected to incorporate it as the standard matures.

In February, Google and Mozilla showed off a cross-browser video chat session between a beta version of Chrome and a nightly build of Firefox. As of Tuesday, those same capabilities are available in the stable branch of the Firefox browser.

Also new in Firefox 22 is OdinMonkey, a module for the browser's JavaScript engine that provides special optimizations for code written using asm.js.

Not technically a W3C standard, asm.js isn't really a new web language, either. Instead, it's a subset of JavaScript designed to strip away some of the cruft and questionable features, leaving only a lean, restrictive form of the language that's much easier for compilers to optimize.

Because asm.js code is still 100 per cent valid JavaScript, it will run in any modern browser. But with OdinMonkey's special optimizations enabled, Mozilla claims Firefox can execute asm.js code with performance only about twice as slow as the equivalent native code – which is saying something, for a JavaScript engine – and it plans to do even better in future.

The main downside to asm.js is that its syntax is so sparse and its coding standards are so strict that it's not very human-friendly. Instead, programmers are expected to write their code in some other language – such as C or C++ – and then compile their source into asm.js code for execution in the browser using tools like Emscripten.

To demonstrate the technique, last August Mozilla offered BananaBread, a demo that took advantage of Emscripten, asm.js, and Firefox's then–newly enhanced WebGL graphics capabilities to deliver a fully interactive 3D gaming experience based entirely on web standards.

Incidentally, Mozilla has improved Firefox's WebGL rendering performance yet again in version 22, with the introduction of asynchronous canvas updates.

The new release also includes a number of minor new features, bug fixes, and improved developer tools – for the full skinny, you can check out the official release notes, here.

As usual, current Firefox users can get the new release via the automatic update feature. Those who would like to try out the open source browser for the first time can download version 22 for Windows, OS X, or Linux from the official Firefox website. ®

Sponsored: Designing and building an open ITOA architecture