At first glance it looks like a typo, but Webian is in fact an experimental, open
source desktop environment using Mozilla and Gecko as its core. Developer
Ben Francis made the first public release last week, spawning immediate
comparisons to Google's ChromeOS project, and even
inciting concern that Mozilla would draw the search giant's wrath for
wandering into its corporate territory. But Webian is Francis' personal
project, not underwritten or sponsored by Mozilla. It does, however, show
off some key concepts that the browser-maker is interested in promoting
— namely Mozilla's belief that HTML5 and open web standards are the development platform of the future.
Essentially, Webian is a small set of applications written on top of
Note that the name "Chromeless" refers to
Mozilla's long-standing habit of calling its existing user interface
layer "chrome," and is not taking a swipe at the Google browser.
It strips away the entire browser interface (including
the XUL and XPCOM used by Firefox) and replaces it with a layer written in
Last week, Mozilla Labs featured a guest blog post by Francis about the 0.1 release of Webian Shell, the basic "desktop" for Webian. The Shell is an integrated web browser that needs no other window manager or desktop trappings. It runs in full-screen mode, providing a "home screen," a row of tabs across the bottom, and a URL-and-title-bar across the top. Francis has been actively developing Webian since 2009, based on design concepts he cooked up while in college. The design concept document explains the scope and architecture choices in more detail than the project's wiki: the browser is the only application, there are stripped-down tools to access other functions (such as hardware settings), and only minimal borrowing from "thick client" desktop metaphors of ages past.
The 0.1 release is available in binary form for
Linux (32- and 64-bit), Windows, and Mac OS X, as well as source. Not
everything described in the design document is implemented yet; Webian
Shell works as a full-screen browser, but the home screen
sports only a clock and "shut down" button. Also missing is Francis' concept of "stripe" UI elements: notifications and queries that slip into place horizontally and stack on top of each other, pushing browser window contents down rather than layering on top of them. The goal, according to the design document, is to "remove the concept of 2.5 dimensions where possible and treat 2D as 2D."
It is important to note that Webian Shell by design runs on top of your
existing operating system. While it does run full-screen (for Linux, that
means it run over X, and does not interact with the window manager), it is
not a full OS stack like ChromeOS is. Thus, at the moment, you can use it
as a browser and a UI demo for the eventual desktop system, but not a
replacement for your complete environment. As a browser, it runs quite
fast — faster, it seemed to me, than did Firefox 4 itself. Partly that is
due to not loading Firefox extensions, but simply shedding the heft of Firefox's own interface seems to give a noticeable speedup (installed plug-ins, it should be noted, do run in Chromeless and Webian Shell).
Webian inherits its security model from Chromeless. The latest version
takes advantage of out-of-process plugins and out-of-process tabs (which
debuted in Firefox 4), so one page crashing should not crash the entire
app (or, in Webian's case, shell). However, Flash or Java hiccups in
one page may force the user to re-load other pages in order to re-start
a crashed plug-in. Privacy controls are another matter; Chromeless and Webian can
technically maintain separate user profiles just like Firefox, but the
interface for managing profiles is not yet implemented in Webian Shell.
Aggravatingly, at the moment several of the high-profile Google web services do not run in Webian Shell, due to an upstream bug in Chromeless that hits pages incorporating the X-Frame-Options HTTP header. Nevertheless, there are still plenty of functional web applications available in the wild, so you can can easily test out Webian Shell for long browsing sessions.
The long-term plan involves separate applications beyond the Shell, however. The project is working on desktop widgets for the home screen based on the W3C widget specification, and a photo management application that implements a local interface for tagging and organizing content, but still connects to remote, web-based services for publishing and storage. That choice is initially hard to get used to: the ChromeOS-like approach would be to write an entirely server-delivered photo organizer, then deliver it through the browser.
Chrome OS and other competition
Despite Webian's limited scope as a browser and (potentially) desktop environment, the comparisons to ChromeOS are inevitable. Francis' post on the Mozilla Labs blog led some online media outlets to describe Webian as a Mozilla project — an error Francis is quick to correct. He has received help and input from the Chromeless team (including work on the X-Frame-Options bug), but the project is not affiliated with Mozilla nor is he an employee.
Still, the project does line up quite closely with several of Mozilla's goals. It serves as an independent showcase for Chromeless, which is poised to take on a more prominent role now that Mozilla has announced the end of support for Gecko embedding APIs.
Mozilla is also pushing forward on the "installable web app" front,
through apps.mozillalabs.com. While Firefox support for these apps is
provided by an extension, native support built into a thin-client desktop
like Webian would arguably be a better demonstration of their value.
Google's Chrome team has independently developed its own installable web
app framework, with a
similar but not-quite-compatible manifest format for the browser to
consume. Francis said he would like to support both, although he would prefer that both parties come to an agreement on a common format.
Another feature discussed in the Webian design documentation is a command-line interface implemented in the Shell URL bar / text-entry widget: supporting search queries is the first order of business, but arithmetic, app launching, and natural-language questions have been discussed on the mailing list and discussion forum. As several people in the Webian community pointed out, this type of functionality is already available in Mozilla Ubiquity, so here again cross-pollination with another Mozilla-based project seems natural.
But to really stage a direct challenge to ChromeOS, Webian would have to be bundled with an underlying OS. At the moment, Chromeless does not have the access to low-level system hardware that it would need to provide the hardware control described in the Webian Shell plan (although Mozilla's Rainbow does show signs of life in that area). Thus, to develop into a full OS replacement, Webian would almost certainly have to leave cross-platform compatibility behind, and pick a single stack to build upon.
Linux is the obvious first choice, and Francis alluded to that future direction in an email. "How much of Webian's functionality will be cross-platform is an unknown at the moment. The priority will be to build a Linux-based version but if some level of cross platform support can be maintained that would be great."
Of course, whether or not a full Webian-based OS offering would be successful competing against ChromeOS is a different question entirely. Francis and the other contributors are nowhere near the point where they could push Webian as a commercial offering like Google is doing for ChromeOS. Several contributors make the argument on the mailing list that Webian's non-commercial approach makes it more trustworthy for end users, who may be concerned over Google's user-tracking activities, or simply unhappy with ChromeOS's lack of transparent and meritocratic development processes.
No doubt, that stance makes sense to many free software advocates, but it does not do the work of bundling Webian with a Linux-based kernel and providing it as an installable image. The other argument common to the list is that Webian (like Mozilla) is dedicated to full support of open standards. Consequently, for example, it will feature HTML5 video playback of royalty-free formats only, rather than supporting royalty-bearing formats as well.
Frankly, that is a highly speculative line of thinking anyway, and threatens to overshadow what Webian Shell showcases here and now. At the moment, it is a showcase for Mozilla Chromeless — an idea that the browser vendor has been arguing for for years without a visible product to demonstrate. The notion that desktops are dead and the web is the new delivery platform gets considerable airplay in the press, often including the refrain that the open source community is behind the times as its desktop wars rage on. But up until now, ChromeOS was the only end-user-targeted attempt to build a "web desktop" at all, and it was intimately entwined with the proprietary web services offered by Google.
Thus it is good to take a close look at Webian, if for no other reason that to put the notion of the "web desktop" to the test in a Google-free environment. Personally, I certainly hope it continues to push forward, and to accelerate development of some of Mozilla's "lab experiment" projects at the same time. It could serve as a valuable motivator for the free software community on the web services front as well. But if nothing else, it goes to show how lean and fast a Mozilla-based browser can be, once all of that chrome is stripped away.
to post comments)