Tagged: ajaxwindows

WebOS: a misnomer


The blogosphere is [[http://blogsearch.google.com/blogsearch?hl=en&num=10&c2coff=1&lr=&safe=off&ie=UTF-8&q=ajaxWindows&btnG=Search+Blogs|buzzing]] with news of the [[http://www.webware.com/8301-1_109-9775272-2.html|most interesting WebOS experiment yet]], namely [[http://ajaxwindows.com|ajaxWindows]]. This kind of hyped up media coverage sends my bullshit detector into high alert. I should make it clear that I have nothing against the folks behind ajaxWindows — its a fine product, very clever engineering and interesting concept. My grudge is against how things are represented in media, and in general I’m not a big fan of this WebOS concept. Let me explain why.

==== What the hell is a WebOS? =====

Before I talk about WebOS, let me briefly talk about the **OS** bit of it. Traditionally, Operating Systems have been [[wp>Operating_system|defined as]] the software that //manages the **shared** resources on your computer// or helps you in doing so. This is obviously an oversimplification, but I think captures the essence well. Sharing has been a critical aspect of resource management — whether it is sharing memory across processes or protecting users from one another.

So what about WebOS then? I you were familiar with OS and you were familiar with the Web, then just the term WebOS might invoke a few ideas:

* A web based operating system: since an OS to me has a lot of low level functionality (like memory management and process scheduling), this idea doesn’t even make sense to me.
* An OS to manage resource on the Web: Resources on the web may be web pages, images, documents etc. Mostly they can all be classified as //data//. There is rarely any memory or computation to be managed on the web (yet). So again, this idea doesn’t make a lot of sense.
* An OS with special support for the Web: how about OSes which have native support for web services. There are already [[http://fuse.sourceforge.net/|FUSE]] modules to mount your gmail or your flickr account as a filesystem. Imagine a system where the OS was aware of del.icio.us tags, could transparently backup to [[http://aws.amazon.com/s3|S3]] etc. But again, these are more features of end user applications (so would be better built into desktop software like KDE/GNOME) and not really core OS services.

{{http://i.i.com.com/cnwk.1d/i/bto/20070910/ajaxwin-desktop_540x408.jpg?300|ajaxWindows}}

//NOTE: the ajaxWindows.com website is down, and all the screenshots have been taken offline. I stole the image above from [[http://www.webware.com/8301-1_109-9775272-2.html?part=rss&tag=feed&subj=Webware|this article]]//

==== Why is the WebOS concept broken? ====
So what does a WebOS like ajaxWindows do? It essentially **replicates** the user experience of a **conventional desktop environment** in your browser. I think this is fundamentally broken on several levels:

* How is this an Operating System, pray tell me? True, for //some// definition of an OS it may be construed to be one. But really, exactly what “resources” is it managing? Are any of these resources shared? Any resources at the server side are being managed by the server’s OS. Any resources on the client side are being managed by the browser and the client OS. There is //nothing// that ajaxWindows itself is managing. It is NOT an OS!
* At best, systems like ajaxWindows can be called online equivalents of a desktop environment. But in that case, I don’t understand what the big deal is. First off, ajaxWindows was NOT the first system. I know for a fact that [[http://eyeos.org|eyeOS]] has been doing exactly this, and they’ve been around much longer. In fact, eyeOS is open source, so you can actually download and run it on your own server! And I really think the likes of [[http://netvibes.com|Netvibes]] or [[http://pageflakes.com|Pageflakes]] are that far off in spirit.
* The whole notion of replicating the desktop experience seems incredibly stupid to me. Here we have a wonderful opportunity — this whole new medium (internet) on a new platform (the browser), and what do we rush off to do? Just replicate what we know! This is the time to innovate, think creatively about the new kinds of interfaces and user experiences that can be built. I mean seriously, why would I ever want a tabbed browser inside “WebOS” (which is probably already running within a tab in my browser)??

[[http://eyeos.org/screenshots|{{http://eyeos.org/img/capturas/s9.jpg?300|eyeOS}}]]

I rather like to think of web services as unix tools. Give me nice, clean APIs and make it really easy to mix and match things. Thats why I like services like [[http://rememberthemilk.com|RTM]], [[http://pipes.yahoo.com|Yahoo! Pipes]], Flickr, Google Maps and so on. They focus on doing one thing really well, and make it easy to create mashups. If I want to access my desktop from anywhere, I’d much rather carry a USB key with VMWare player and my desktop VM image anyday. And I haven’t even touched the security implications of such a “WebOS” yet!