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!

5 comments

  1. Rami

    I have different opinion. The Web OS concept is very real not only for geeks but for users who are often using someone else’s computer – whether students at school, people at work or people at Internet Cafes.

    To see a real Web OS check out G.ho.st, the Global Hosted Operating SysTem, at http://G.ho.st. G.ho.st provides 3GB of online storage for free and has chosen the very best available storage service for your precious data – namely at Amazon.com’s S3 Web Service.

  2. Zvi Schreiber

    I agree with Rami – you are using a definition of operating systems from the 60s. For years, from the user’s perspective at least, the operating system was about the desktop, application management, file system, single sign-in,… all these features are present in Web OSs like http://G.ho.st and AjaxWindows so from the user perspective they are really operating systems even if they don’t have mouse drivers… they are also extremely useful for anyone who is regularly using more than one computer including people moving between work and home, students using school libraries, people at Internet Cafes etc.

    Zvi

  3. Diwaker Gupta

    *@rami*: How is g.ho.st any more “real” than eyeOS or ajaxWindows? The problem with trying to (re) write all apps for your WebOS is that the quality of individual applications will suffer. You really think your “office apps” will be able to match up with dedicated players like Zoho or Google Docs?

    I can see the advantage in having an integrated workspace. But I don’t see the point of replicating the desktop metaphor — why do I need to see folders, start menus and taskbars? I’ll be just as happy if say Strongspace exports an API that allows me to directly access my data through Zoho or Google Docs.

    *@zvi*: The definition of OS hasn’t changed. What you are building is NOT an OS, period. I find the phrase “online desktop” much more accurate, even from an end user perspective. Meanwhile, without APIs and cooperating services, the utility of such WebOSes as you call them is still limited. Say I’m at a library — can I drag and drop files/images from the local harddrive onto my WebOS desktop?

  4. Michael

    Well – You’re right in the sense that it isn’t a real OS in traditional terms. It’s really just a desktop looking thing inside your browser. Perhaps ajaxDesktop would have been more accurate. But using the term OS tells you that it at least “looks” like an OS the way most users think of it. It doesn’t manage resources in terms of memory, threads, etc…but it’s a platform for building applications.

    All that said, I think ajaxDesktop and all these other Web OS’s are great projects and do push the limits on what you can do with JavaScript. Since JS has become a well accepted portable language it’s limits need to be pushed so we can build even more compelling web based applications. This may also push browser makers to further optimize the JS interpreters, maybe some JIT’ing would be nice.

Leave a Reply