Followers

Wednesday, February 25, 2009

Mozilla demos impressive Firefox 3.1 features at SCALE

By Ryan Paul

Mozilla demos impressive Firefox 3.1 features at SCALE

During a presentation on Saturday at the Southern California Linux Expo (SCALE), Mozilla evangelist Chris Blizzard discussed some of new features that will be included in the next version of the Firefox Web browser. He demonstrated how several emerging standards-based Web technologies can be used together to produce impressively sophisticated Web applications.

The Firefox Web browser got a massive overhaul for version 3 with a multitude of significant improvements and useful new features. Mozilla is currently preparing to ship Firefox 3.1, an incremental release that builds on the strengths of 3.0 and delivers valuable enhancements for Web developers. Some of the experimental new capabilities that are going to be introduced in 3.1 could someday redefine the way that Web applications are used and designed.

Web applications are increasingly adopting JSON as a format for data interchange instead of conventional XML. Because JSON is syntactically identical to conventional JavaScript data structures, Web developers often parse it with the eval function. This approach is plagued with security problems and also suffers from mediocre performance.

Firefox 3.1 will include a native JSON parser that can be used by Web applications instead of eval. Preliminary testing has indicated that the native JSON parser in Firefox delivers significant performance gains. This feature could soon be broadly used by Web application developers because Microsoft intends to include its own fully compatible implementation in Internet Explorer 8.

Another impressive feature that Web application developers will be able to take advantage of in Firefox 3.1 is support for worker threads, which provide support for concurrent execution in JavaScript. Worker threads will make it possible to perform complex computations in the background, so that the browser and Web application don't hang or become unresponsive.

The HTML 5 video element will also arrive in Firefox 3.1. This will allow video content to be embedded directly in Web pages, controlled with JavaScript, and manipulated through the DOM. It's a major step forward for rich media content on the Web. Firefox 3.1 will ship with built-in support for the Ogg Vorbis and Theora formats—open audio and video codecs that are believed to be unencumbered by patents. The actual codec implementations are integrated directly into the browser itself, so content in those formats will be playable without requiring any external components or plugins.

Blizzard says that Mozilla aims to encourage an explosion of creativity around video that will mirror the kind of uninhibited innovation that has flourished in the Web's inclusive standards-base ecosystem. Mozilla is actively contributing funding to Ogg development efforts to help accelerate the process. He says that Theora, which is used by Wikipedia, has the potential to achieve quality comparable to MPEG4. High definition video, however, will require the Dirac format, which could eventually be included in future versions of Firefox when it matures.

To illuminate the possibilities that are unlocked by these new features, Blizzard showed several technical demos. One of the demos used the HTML 5 video element to display a space shuttle launch. As the video played, JavaScript code running on the page used the video time index to retrieve launch data from a JavaScript array and draw graphs that show the shuttle's speed and altitude increasing during the launch. You can check out the demo yourself, if you are running a Firefox nightly build.

The most impressive demo that he showed during his presentation used JavaScript in worker threads to programmatically detect motion in a playing video. This one has to be seen to be believed:

The presentation also discussed several other new features, including SVG filters for HTML, cross-site XMLHttpRequest, DNS prefetching, and embedded font support. For a complete overview of the presentation and some instructive source code examples, you can read Blizzard's slides, which are available from his personal blog.

Original here

No comments: