What is a WebOS?

"A webOS is less about being a 'real OS' and more of a human interface for the types of apps that require that quality."I'll move onto a new topic in the next post, but before I do I wanted to clear up some confusion about what exactly *is* a WebOS.

"A webOS is less about being a 'real OS' and more of a human interface for the types of apps that require that quality."I'll move onto a new topic in the next post, but before I do I wanted to clear up some confusion about what exactly *is* a WebOS.

In a way the term is a misnomer, because it doesn't mean a 'real' Operating System in the traditional sense - like Linux or Windows. A better term is probably 'Web Desktop', because it at least moves the "I already have an OS, why do I need another one?" argument out of the way.

In any case, today Mikael Bergkvist from XIN (which just got funded!) wrote a very good definition of 'WebOS', which I'm going to re-publish here because it's so good:

There are many levels of a webOS at this point.

a) A window manager running on the client, where apps are located in these windows as iframes. This is not really an OS, rather a window manager, regardless if they contain the most impressive serverapps avaliable. - Those can be cool too, though.

b) A window manager, where apps are in draggable layers/windows as a part of the webpage, running javascripts supported by a javascript library and possibly by the server with a public API for that purpose. This API would have to have some limitations/restrictions or it would be plain dangerous securitywise. However, everything mentioned above is true for exactly 100% of all webapps today, if only you put a window manager ontop. If this is a webOS, then every webapp online is one too. The same applies if you replace 'javascript' with 'flash' or 'java'.

c) The above, and then also a system for adding/removing apps on the fly, both on the client and on the server. Nice, but there are still things missing. This sounds more like a portal, like Netvibes, doesn't it?.

d) The above, and then also the managing of multiple users and their individual settings. But still there are things missing, and this still sounds very much like a portal.

e) The dynamic negotiation of resources, supervising the apps so that they are as lightweight as possible when running, preventing collisions, conflicts, and making sure they all play nice together, done by the webOS and not the apps themselves. This means that they exist within an enviroment that controls their existence and what they can and cannot do. This is true for apps running on any OS, which is supposed to let you now if you don't have enough memory to run something. It's also true for Windows live's Gadgets, also runnable on Windows Vista.

This is about as far as a true 'webOS' can go as I see it, since there are even more levels, all the way down to the hardware when you boot the machine, which a webOS cannot do, even if you can fake it starting a browser onstart, taking the user to a webpage. - But it's still just faking it.

A lot of the hype driving this webOS thingie seem to be the desire to fake a 'real' OS, and that's another thing that separates the different approaches that I've seen sofar. The ones with a practical and technical reason for it are the ones I tend to root for. Otherwise, it's just the internet hype all over again.

The first window manager using DHTML I ever encountered was Windows ME actually. Now and then I get a javascript-error using the fileexplorer in windows for example, so I guessing it's a dhtml app, albeit hiding it maybe a bit. ;-) There are also some cool HTA-apps that I've come across in this vein.

I have also worked with a lot of embedded systems that have a (d)html interfaces. It's not very uncommon, they can be designed and deployed easily, and be quickly updated when needed to.

On the web, Google has something of a OS going with it's many API's already, and all they would need would be a window manager to tie it all together, but they dont see the point of it, and neither do I, to be perfectly honest. They dont want it all neatly in one place, do they, they run on ads, that's how they make their money, and that means pageviews, lots of pageviews, and people jumping around within Google generates more of those precious pageviews with their displayed ads/links/paid links/etc.

But an email app like Gmail is different in nature..

It makes more sense to have an 'app' feel to it if you have a fairly complex application with a dynamic workflow, like Gmail, where the serverload can change violently from one person to another, because we have different approaches, workstyles if you will, to get things done. You open one dialogue, minimize another, jump back and forth, getting it done as a chaotic human, and not as a rational computer. That was the great alure of the desktop anology to begin with, and Gmail also has some of that 'human element' in it's design, using Ajax to achieve it.

Man is chaotic and using windows responds well to that.. um.. 'quality', it's like papers all over the desktop, but YOU know where everything is, don't you?

In the end, it's not a real OS unless it's GOD for the apps it runs, and has a direct relationship with the hardware. A webOS is less about being a 'real OS', and more of a human interface for the types of apps that require that quality, and about relieving the serverload when there's a lot of apps running simultainiously, that can be open/closed erratically at any time.

This discussion should be where a webOS should be used, and not IF it should be used, based on the (false) assumption that it's somehow a 'real' OS. We know it's not, we didn't design it as such either, it's a interface approach, plain and simple, and the discussion should be where this approach best applies, and how far the 'desktop' anology should be taken online.