Perhaps the most interesting question raised by Google’s Chrome is when does the Web browser stop being a Web browser and start being the operating system? For those of us that have been in computing for 25+ years now it's fascinating to watch technologies come all the way back around. Since it's beginnings the Web browser has moved from document viewer to application UI to application platform. Can operating system be far away?
Pardon me for a moment while I digress a bit and show my age. If you're not an old-time Unix user you may want to skip to the next paragraph. How many of you old-time Unix users out there remember the jokes about the "Emacs operating system‘? For those of you not familiar with it, Emacs started life as an editor with a complete Lisp interpreter built-in as a way to extend its functionality. Of course with a complete Lisp environment built-in, people eventually developed some fairly complex functionality inside the system, including email clients and a Web Browser. People have even experimented with Emacs running standalone on a Linux kernel. The idea being that the only application environment one really needed was Emacs.
With Chrome Google is taking the Web browser in exactly that direction: making it the application platform. None of this should come as a surprise. The more people use the Web, the more money Google makes. That's the beauty of Google's business model. Google doesn't make money when you or I install and run a piece of software locally on our machines. So Google has to make the Web application experience as good or better than the local application experience. To do that they need to take a big step forward from the existing browser technology and re-architect the browser assuming that's the use case. That means treating each "Web page" as a separate application, running in its own memory space, isolated from other applications. It also means taking the application development language (Javascript) and dynamically compiling it down to machine code for best performance.
We are also not always connected, so applications need an offline framework (Gears) that always them to run on a local copy fo the data and synchronize when connected back on line.
Sounds to me an awful lot like an operating system.
Well not quite. Chrome doesn't manage hardware. And although it runs each application (Tab) as a separate task and manages those tasks it doesn't do the task scheduling, swapping and other low-level memory management features an operating system does. So there's still some work to be done.
Oh yeah. It lets you view Web pages too. :-)
Where does Google go with this next? How hard would it be to add the hardware and process management features of an operating system? Well there are already several Open Source projects out there that do that. Linux and FreeBSD come to mind. A Linux kernel that boots and execs Chrome can't be too far behind. Anyone want to bet on how quickly someone makes a minimal "boot to Chrome" Linux installation?
Comments