Firefox Extensions and the New Web Paradigm
A few days ago I posted my musings on the decision to make AllPeers a Firefox extension, rather than a standalone app. I cited a post by Brian of The Dumping Ground as an articulate expose of the sceptic’s position. Brian went on to post a thought-provoking three-part series entitled “What Does ‘Web Paradigm’ Mean, Anyway?” (part one, part two, part three).
I seem to have developed a reputation for never agreeing with anyone, ever. (But in a thoroughly endearing way, right?) Although Brian makes a lot of excellent points, I’m afraid this is no exception.
A fair summary of part one would be that everything interesting about the web browser (hyperlinks, back/forward buttons, content viewers, etc.) has already been integrated into the desktop by Microsoft, and the result is neat but hardly spectacular. And yes, sprinkling a bit of web goodness onto Windows is not particularly revolutionary. (And if I were the type to take cheap shots I might ask why we are using Windows as the epitome of desktop/web integration when Microsoft has rarely — if ever — done anything truly revolutionary). The beauty of the web user interface paradigm is that it’s much simpler and less cluttered than the windows-flying-everywhere desktop paradigm. To benefit from this we need to kill the desktop, not graft on a new appendage.
Part two puts forth two overarching arguments for shunning indiscriminate use of web-inspired user interfaces. Firstly, Brian points out that HTML, even souped up with healthy doses of Javascript, sucks for many types of applications. True, but I’m not proposing a wholesale shift to HTML. Mozilla introduces the concept of a modern, markup-driven user interface language: XUL. Like HTML, XUL is easy to author and to stream across a network link, but it can be used to create great GUIs. In fact, Firefox itself is built using XUL. Microsoft seems to agree, seeing as XAML (its XUL rival) is a key component of Vista.
Secondly, he maintains that expanding the role of browser extensions will require the addition of capabilities to the browser (preemptive scheduling, process isolation, etc.) that are tantamount to creating a new operating system. Here his case is at its strongest. It’s going to be a long time before Firefox offers a viable alternative to a full-blown OS, and in the interim the annoyance of having to put up with its shortcomings may outweigh its advantages for many types of extensions. For example, I hate the fact that when I restart my browser, I have to restart Chatzilla. But if we had adhered to this argument in the past, we’d still be running our GUIs on top of DOS or some similar abomination. Sometimes it’s necessary to make a clean break and reinvent the wheel if we want one that’s smaller, lighter and rolls more smoothly.
In part three, Brian is saying that to take the web to the next level we need to put into place infrastructure that is based on structured data like XML, rather than fragile HTML. Well whaddaya know, I wrote a whole essay that argued exactly the same point. Who says I never agree with anyone?
7 Comments »
Trackback URL RSS feed for comments on this post. TrackBack URI
Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>







If you ran it as standalone using XULRunner, does that mean if one had your app, FF, and Thunderbird running, there would be (approx) 3x the memory usage as if they were running off the same instance of the engine?
Comment by mwarden — 1/18/2006 @ 3:53 am
Yes, but there is active work underway to fix this so that all Mozilla-based apps share the same runtime.
In any case, I think that the advantages of browser integration go deeper than just using Mozilla for many types of apps. Sometimes you want to press the back button in the browser and return to a screen that isn’t a webpage at all, for example. This can only work if the app in question is hosted in the same window as the normal web browser.
Comment by Matt — 1/18/2006 @ 5:38 pm
[…] one client, similar to Groove, but geared for the consumer market. Related links: Great Allpeers article (from Allpeers’ blog) about extension […]
Pingback by Bits and Buzz » P2P For Web 2.0: Brainstorming — 1/18/2006 @ 6:30 pm
What Does “Web Paradigm” Mean, Anyway? (Part 4)
First of all, sorry for the delay in posting this last part. I’ve had a great majority of it written for some time, but - as Faulkner once wrote - life intervened. I know there has been a trackback to part 3, and I have intentionally forgone reading…
Trackback by The Dumping Ground — 1/25/2006 @ 5:44 am
as a very-skeptical-about-adding-a-P2P-thing-in-FireFox i’m still far from convinced that it’s a good idea.
First it’s like giving all the Anti-FF cie. a woodstick to beat us. “Looook that FireFox monster can even help terrorists share their illegal MP3’s ” (
Comment by FF user — 1/25/2006 @ 6:59 pm
On the structured data argument; Have you read Shirky’s In Praise of Evolvable Systems and The Semantic Web, Syllogism, and Worldview? Powerful arguments for unstructured.
Comment by Josh Gentry — 1/26/2006 @ 7:35 am
thank you nice sharing
Comment by cep program — 5/14/2008 @ 9:46 pm