There has been over the last few weeks some thoughts forming out of my mist around delivering useful functionality to where it is needed which has been crystallized a bit by Jason Kottke’s excellent posting GoogleOS? YahooOS? MozillaOS? WebOS?. A highly recommended read.
So this is my best guess as to how an “operating system” based on the Web (which I will refer to as “WebOS”) will work. There are three main parts to the system:
- The Web browser (along with other browser-ish applications like Konfabulator) becomes the primary application interface through which the user views content, performs services, and manages data on their local machine and on the Web, often without even knowing the difference. Something like Firefox, Safari, or IE…ideally browser agnostic.
- Web applications of the sort we’re all familiar with: Gmail, Flickr, and Bloglines, as well as other applications that are making the Web an ever richer environment for getting stuff done. (And ideally all Ajaxed up to provide an experience closer to that of traditional desktop apps.)
- A local Web server to handle the data delivery and content display from the local machine to the browser. This local server will likely be highly optimized for its task, but would be capable of running locally installed Web applications (e.g. a local copy of Gmail and all its associated data).
That’s it. Aside from the browser and the Web server, applications will be written for the WebOS and won’t be specific to Windows, OS X, or Linux. This is also completely feasible, I think, for organizations like Google, Yahoo, Apple, Microsoft, or the Mozilla Foundation to make happen (more on this below).
If your browser is anything like mine [after the kids have been at it] the top of it has more buttons on it than you would find at a Pearly King convention!
Then we have the desktop add-ins like the MSN Toolbar, Google’s Sidebar, Konfabulator, etc. Apart from the usefulness of desktop search [which IMHO would be wonderful if it was a combination of Windows Desktop and Google Desktop's integration with the web in general and my browser history in particular] how really useful are the gizzmos that they all [a massive generalisation] provide. How many weather feeds do you need telling you that it is raining to convince you that the sunshine outside the window is a figment of your imagination!
So why is it that so much promise is not being realised? Well, to pinch a Web marketing mantra, most of the value is in the long-tail and its not being realised.
Let me explain. Currently there are two basic approaches to deliver new web-integrated functionality on to the desktop with the tools/platforms that are around.
Way one – The Google Sidebar way – A gizzmo on this platform has full access to the Windows subsystem, so it is comparatively easy to interact with other applications on the desktop. All you have to do to build one is to whip out your handy copy of Visual Studio and start coding away. Interaction with browser content may not be too easy, but a good Visual Studio guy should be up to it. All users need is to download the Sidebar and your plug-in.
So where do Jason’s thoughts help? He envisages his WebOS providing on/off-line capability with suitable local web services feeding locally stored content in to an enriched AJAX environment where the browser window becomes the desktop. This would deliver a great environment in to which a long tail of developers, regardless of if they use VS or Notepad as their IDE, to add their value to the world.
This won’t happen overnight though, there will be some false dawns on the way. For me the ‘killer’ step on this road would be for something like Sidebar to deliver an embedded Javvascript engine and [separate] browser window. This could leverage the long-tail of the developer comunity [currently hitting the Konfabulator Forums with hundreds of postings a day] on top of a simply downloaded gizzmo platform from a well known widely trusted by the users brand.