Chrome OS created a whole slew of buzz around the Web finally being an OS. There are many other examples of this of course. On the desktop we have had the likes of moblin and Jolicloud for quite some time. On the phone we have webOS.
The Web as a virtual machine
In many ways, it seems obvious that this will happen. When I look at my desktop, I often find it looking like this:
which looks surprisingly similar to this:
Wait a minute. Can’t you look at the browser as being a virtual machine for the Web? A hugely successful one that has been ported to almost every platform known to man. It is a viral virtual machine that has become so successful due to its simple yet powerful constructs that allowed the platforms to do the porting (oh and it was friggin made to be free! Take that gopher!). As a virtual machine it grew so fast that it is quickly usurping the hosts themselves. The traditional operating systems. Applications are being written for the VM rather than the OS. This is very different to the diagram that has Windows running inside a VM on the Mac. In that case you are running applications written for Windows on the Mac. The virtualization crew have done wonders to make that emulation possible. With the Web you didn’t quite need those tricks, and instead thanks to Web standards, you just had to write a browser.
Going inside out
Normally, we have seen systems built natively and then we virtualize them. In the case of the Web, the “Web platform” is the host environment and the VM. As this environment has become stronger and stronger, there is bound to be the time to ask “do we need our host anymore?” We are on the fringe of that time right now where a huge bulk of the applications that people use are Web based.
I just ran an experiment in this area myself. The hard drive in my Macbook Pro died and while the kind folks at the local Apple store replaced it I had to pick up a random machine for use. What would life be like if I had to work on a random machine? I purposely didn’t restore from my own backup, and ended up with a week seeing how much of this cloud thing I use.
It turned out that all of the apps that weren’t somehow cloud based were now a pain in the arse. Obviously I could get my email with Gmail and the other Web apps were there. However it went further than that. I could download Tweetie and be instantly up and running where I left off (thanks to the fact that Twitter is just a Web service). I got to see which IM servers did a good job keeping my server based contacts, and what a pain it is when you make changes on the local client to tell you that flubber65 is Frank and suddenly you have no idea who anyone is without that (NOTE: if you build a service, for gods sake save everything up there!).
It even made me happy for Bespin, as I was able to get to a bunch of my code. That has incentivized me to help make Bespin great :)
So, I learned that Web based services won. I was productive on a random machine in minutes, and cursed the situations where this wasn’t the case (mainly around development).
If the entire OS was Web based, with a rich cloud infrastructure, then I could literally login to any machine and be ready to roll. X Windows productivity will be back! :) This will greatly change the role of devices too. Seamless upgrades. Multiple devices sharing data. Fun times.
So, Web OS it is. Hopefully the Web platform will be complete enough, and where it isn’t this kind of force behind it will push it even faster (this is why I am excited to see the space heat up, and also wanting to keep a watchful eye to see how things get standardized with crazy timelines behind them).
What do we lose?
But, wait a minute. We have seen that virtual machines are actually pretty awesome. Having an entire system in a single file that I can suspend, backup, and run multiple off? Cool. I am running multiple “Web OS’s” every day (Firefox, Safari, Chrome). I can update them whenever I want, and they can compete.
We also see fantastic features where we can watch over all of the connections from the virtual machine to the host. Tweak how ethernet works, set limits on various usage, etc. Just as we are getting amazing things out of virtual machines…. maybe we don’t need the Web platform to move from there just yet.
User-Agent
Chris Beard (Chief Innovation Officer at Mozilla) is often talking about what it means for the browser to be the “users agent”. There is so much that the s/browser/virtual-web-machine/g can be doing for us, and we have only just begun.
We need to be wary of losing out on any of these thoughts if the Web becomes the OS on the computer (whatever that means, of course!).
As we think about Jetpack and granting enhanced functionality from Web apps to browser-chrome I am often thinking about a morphing browser. When I am on Gmail, I don’t need the URL bar and all of that jazz. Instead, add new Gmail specific UI for me to use, and let me tie into the local system for contacts etc.
In that vein, it has been nice to see a step in that direction when listening to Alexander Limi speak about UX in Firefox last week. He and the UX team showed some concept mockups for future versions of Firefox such as this:
By the “home” tab you can imagine other tabs that are for applications. Thin tabs that just have an icon (e.g. an email notification icon showing new message counts). These “app tabs” can be slightly magical. The user has to bless them, and at that time can grant special powers to access local services such as a File API, or a Webcam, or Geo location, or [insert cool thing that native apps can do]. This feels like a small step for the browser, but one that can open up a lot.
In conclusion, I am bullish about the Web being called the ‘OS’ on certain computing devices. I am most excited about seeing this driving innovation into the Web platform as a whole, and also exploring the great side of having a platform run as a virtual machine on your hardware. Gotta love the Web :)
August 31st, 2009 at 11:33 am
Interesting idea with the privileged tabs feature; reminds me of the BB feature that was recently removed from HTML 5 to install “privileged” HTML apps:
http://www.quackit.com/html_5/tags/html_bb_tag.cfm
Never could quite understand what BB stood for though.
I’m still blown away at how most users don’t know what web browsers are. Do you think it makes sense to do a general marketing campaign to raise awareness of what web browsers are amongst the general public, as well as make them desirable? Other industries have done this; Nike made “tennis shoes” both a generally understood item and desirable, for example. I wonder if that could help bring Firefox and other open source browsers greater awareness and use amongst the general public. I’ve never seen the Mozilla Foundation attempt to raise broad awareness of what a browser is and why you should care that you have a good one; that would be cool to do a creative, viral marketing campaign on that.
August 31st, 2009 at 12:14 pm
I wrote about something like this in 2006:
http://factoryjoe.com/blog/2006/10/05/socially-networked-harddrives/
Not exactly the same thing, but you can imagine hosting everything in the cloud and finally just using “thin clients” to access these remote resources.
I find that music is a real litmus test here… With Spotify, Pandora and SimplifyMedia — I basically have music wherever I am — so long as I have a connection. It’s those times when I’m without a stable connection that I question the viability of the WebOS without some kind of amazing caching/offline story.
But it’s clear to me that we’re headed in this direction. It’s only a matter of time.
September 1st, 2009 at 2:29 am
Interestingly, Chromium betas at least on linux already have this “priveleged tab” feature, I have all my web apps load up automatically in pinned tabs on the left hand side that just display an icon.
September 1st, 2009 at 9:05 am
I think browsers becoming more powerful is a good idea. Working towards having all user apps in the browser will certainly push the browser to become more powerful. It doesn’t mean desktop applications will disappear. The browser is a desktop application, after all.
I hope the defacto and W3C standards processes accelerate. The defacto XMLHttpRequest standard has been around for a while but the W3C is only on a “working draft” for the XMLHttpRequest. Some of the W3C working draft details are valuable ones. One of Canvas, SVG or VML hasn’t been implemented everywhere. An open video standard takes this many years? There is still a long way to go. (Un)fortunately the web is “good enough” already.
A virtual machine isn’t so great unless it is exactly the same everywhere. The new advanced features need rapid uptake so what you are writing isn’t available until 2020.
Another thing I wonder about is this everything in the cloud business. It is fine if all my data is accessed uniformly from servers but I (speaking as a regular computer user) better *own* one particular server. There is some data I won’t want to have on anyone else’s computer. Am I just stuck in old thinking? So perhaps the future means my PC is split into two: a web browser and my own data server. Perhaps they will be on the same machine but more likely they won’t. Perhaps we’ll be buying an iPhone and laptop for clients and personal web server that we can just plug in to the internet and access anywhere?
September 2nd, 2009 at 3:07 am
@Chris Messina
“I question the viability of the WebOS without some kind of amazing caching/offline story.”
I’d love a heart symbol in Places for everything you’d like to cache locally, similar to the star symbol. Currently you have to manually save stuff you like, track it in Downloads instead of Places, and manually check to see if it’s been updated on the web.
September 4th, 2009 at 4:05 am
Oh, and how much work can you still do when your Internet connection dies? I had that for a number of hours this week and even I couldn’t do a lot of things any more, and I don’t use web apps or data in the cloud as I don’t want to have others having control over my data. I could do a lot of things and work with my documents, but I’m working for and in an Internet project and my Internet connection was down, with the support line telling me it might take a day until a technician might even call me! Bummer.