Menu
Slideshow

In Pictures: Beyond Firefox - 10 Mozilla projects fuelling the open Web

Mozilla has its hands in many projects aimed at advancing the Web. Here's our take on the 10 most promising

  • Ten Mozilla projects fueling the open Web Firefox reinvented the old-school Netscape browser, marking a defining moment for Mozilla as an advocate for open Web technologies. Today, market share for Mozilla's most noteworthy project is slumping, and the luster of Firefox appears to be fading somewhat, no thanks to strong competition from Google Chrome. But that doesn't mean innovation at Mozilla is on the wane. Mozilla has had a hand in many software projects -- some cooked up within Mozilla, others executed in conjunction with other organizations -- and continues to push forward its mission of an open Web. Here are 10 notable projects Mozilla has played a key role in developing, each of which hint at Mozilla's evolving vision for the Web.

  • Rust Wouldn’t it be nice to have a language with the speed of C/C++ and the memory safety and concurrency controls of a higher-level language? That’s the impetus for Rust, a fast-evolving language co-sponsored by Mozilla and Samsung, designed for systems programming on modern CPUs with multiple cores. Rust sports a slew of features for minimizing or eliminating common programming mistakes, such as improper use of memory. But the safety features of the language can be toggled off selectively -- e.g., if you don’t want the overhead of garbage collection for a particular function. Plus, Rust and C/C++ interoperate, so each can use the other where needed. Our take: One to watch, especially as it shapes up against Google’s Go, which has some related goals.

  • Servo So what’s Mozilla building with Rust? Exhibit A: Servo, a Web browser engine intended for current and future generations of multicore hardware and GPUs. Here, Rust’s been used for memory safety (something always good in a browser), but also to have an elegant native mechanism for keeping browser components isolated. Our take: Worth keeping in mind, especially as a way for Firefox to regain some share from Chrome. But no browser, from Mozilla or otherwise, uses Servo yet, and Mozilla isn't betting the farm on it, so don’t hold your breath.

  • Firefox OS What Chrome OS was to Chrome and notebooks, Firefox OS is to Android and smartphones. Sort of. Originally dubbed "Boot to Gecko" and billed as "a complete, standalone operating system for the open Web," the project was conceived as a less proprietary response to Android. Under the hood is a stripped-down Linux kernel designed to run little more than the Firefox Web browser as a smartphone OS, with all the apps implemented as pure HTML5 and JavaScript Our take: A better idea in theory than in practice. And given that Firefox OS seems aimed more at emerging markets than as real competition for Android or iOS, it’s made the most minimal of dents in both marketshare and mindshare.

  • WebIDE Building, editing, and testing Web apps is often tedious work. Mozilla decided to do something about it by creating a Firefox component that turns the Firefox browser into a development environment for mobile apps. As of June 2014 it’s included only in development ("Nightly") builds of Firefox, but Mozilla aims to add it to Firefox proper in time. Mozilla also offers WebIDE starter templates for common Web apps; using them is optional, not mandatory. Our take: The concept is great. Web app development is hard enough as it is, and anything to make the toolset a little more streamlined and convenient is welcome. And the WebIDE concept may have some influence: Google seems to have picked up on the idea for its ecosystem.

  • Shumway Adobe Flash, a constant source of security headaches, is nonetheless the plug-in that refuses to die, even with HTML5 and JavaScript having eclipsed much of its functionality. So why not create something that emulates all of Flash’s capabilities in HTML5 and JavaScript and ditch Flash itself? That’s exactly what Mozilla has in mind with Shumway, which aims to run Flash-format files in a browser without the use of a plugin. Our take: Nice idea, although it seems like it’ll be a while before it’s really ready for primetime. Even in Firefox’s nightly builds, it lags on many Flash apps and doesn’t run some of them at all. What are the odds on HTML5 replacing Flash entirely before Shumway is fully baked?

  • PDF.js The PDF plug-in is yet another Adobe product found in Web browsers that’s infamous for being riddled with security problems. PDF.js aims to replace all that with pure JavaScript, and apparently has done a good enough job that it is now the default PDF renderer for Firefox. But not everyone is crazy about that choice. Of course, you can always save a PDF file locally and read it outside the browser, right? Our take: One less potentially insecure add-on for a browser is always a good thing. Could afford to run a little faster and render typefaces a little more cleanly.

  • Asm.js Strip JavaScript down to a few essentials. Translate existing C/C++ code into that stripped-down JavaScript. Launch it in the browser. Watch it run at remarkable speed -- OK, around half of native code’s speeds, but remarkable considering it’s JavaScript. Asm.js is an ambitious project, demonstrating Mozilla's belief in JavaScript as a universal runtime engine. Support for Asm.js-specific extensions need to be implemented in a browser’s JavaScript engine to realize its full potential; only Firefox sports such additions right now. Even without them, Asm.js-powered apps are impressive. Our take: Aside from game demos (e.g., "Bananabread" shown here), killer applications for it have yet to show up. If Asm.js gets merged into Chrome’s V8 JavaScript engine, that’s when things will get really interesting. Your move, Google.

  • TogetherJS When it comes to collaborative Web applications like Google Docs or Office 365, the easy way to build one is just to use some existing incarnation of the technology, such as ... well, Google Docs or Office 365. Mozilla’s open source TogetherJS library is meant to make it easier to construct Web apps where users can see collaborator's actions on their own screen in real time. The library requires a hub server that passes messages to all the participants using Web Sockets, but the client code can be changed with a high degree of independence from the server. Our take: Not revolutionary, but the barrier of entry to use is quite low (a single included script will get you started).

  • BigBlueButton Billed as "an open source Web conferencing system for on-line learning," BigBlueButton actually comes off most as an open source replacement for discussion and meeting systems like GoToMeeting, WebEx, or Adobe Connect, especially since its interface is strongly patterned after those programs. The feature set is certainly on par with those services: whiteboarding, desktop sharing, recording and playback of meetings, slideshow displays of PDFs or Microsoft Office documents, and both webcam and VOIP conferencing are all included. Our take: It's a great idea that curiously doesn’t seem to have caught on much outside of educational circles. It even comes in its own VM image for easy deployment.

  • Parallel JavaScript Lack of parallelism is a perpetual JavaScript shortcoming -- not just that it runs in a single thread (barring use of Node.js or the "Web Workers" API), but that it can’t take advantage of processor-level SIMD functions. Mozilla’s getting behind the Parallel JavaScript project, primarily sponsored by Intel, to propose SIMD functionality be added to the ECMAscript standard. Our take: Intriguing idea, but the payoff will be years down the road. For one, it will take time to become an official part of the language, if it ever does. There’s also doubts about how much of a speed boost SIMD-type parallelism can provide for most JavaScript applications, although there’s little question JavaScript is showing up in more ambitious projects as time goes on.

Show Comments

Market Place

Computerworld
ARN
Techworld
CMO