Sunday, July 02, 2006



I think we need a new kind of operating system. Not one for accessing disks and keyboards, but one that provides a common platform for using The Web. We're almost there with Firefox and Seamonkey (a superset of Firefox functionality, including email), but they're not quite there yet.

Here's a little background on how I've reached this conclusion.

The wireless access point function in my Linksys wireless router locked up for the first time yesterday. I was able to get it working again by logging into it using my browser, going to a wireless configuration page, and pushing the submit button, even though I didn't change anything in the configuration.

I figured, if the router is going to have this problem every few days, I can write a little script on my Linux server to do this automatically when no wireless devices are reachable. I expected it to be a little convoluted to programmatically use cURL or Lynx to do the equivalent of pushing that submit button, but I didn't expect it to be impossible!

The problem is that the submit button does not exist on the form until the browser runs some Javascript, and neither cURL nor Lynx support it!

Firefox gives me everything I need, except a way to poke at a form within a program running outside of Firefox. I shouldn't have to start up the Firefox graphical interface to make such a program work. What I need is a platform that gives me a way to use Firefox from another program without the GUI.

I think Firefox is well positioned to provide this functionality, and that it may very well become a next-generation operating system.

Think about it. Firefox provides access to your keyboard, screen, files, network connections, and high-level Web content through an abstraction layer on top of heterogeneous operating systems (i.e., Windows, Mac OS X, and Linux). I want to use that abstraction layer from programs!

Java provides a similar abstraction layer that almost gives me what I want, but only for programs written in the Java language. The Java language is just not the best choice for every programming problem. In order to have a successful next-generation operating system, you need to let the programmer choose the language that's most appropriate for the task at hand.

If we had this new kind of operating system for using The Web, we could automate things that require human intervention and compose them into simple verbs. Firefox took the basic verbs for reading from files and network connections and gave us higher-order verbs for rendering interactive Web pages, as well as programmatic verbs for accessing and modifying those Web pages from Javascript. Not only do I want Firefox to provide me with higher-order verbs in the form of an "operating system", I want to someday compose even-higher-order verbs to provide yet another generation of "operating system".

technorati tags:, , , ,

Blogged with Flock

I posted a link to your blog entry to MozillaZine. There are some replies there that you may find helpful.
> Seamonkey (a superset of Firefox functionality, including email)

SeaMonkey is not a superset of Firefox but a different product based on the same backend. Infact Firefox was based on the real "SeaMonkey" (now commonly refered to as Mozilla Suite) but removed everything that was completely useless (except for a few dozen people) and began tinkering what addiotional functionality is needed by general to advanced. The new application dupped SeaMonkey did take the other path and crumbed more useless features into it...
Post a Comment

Links to this post:

Create a Link

<< Home

This page is powered by Blogger. Isn't yours?