Wednesday, May 20, 2009

The Webtop (Browser-Based Desktop)

Why does this have to be complicated? For the last couple of years, there have been companies that are trying to give you the desktop user interface experience through a web browser. My first experiences with remote desktop work was with VNC and Exceed. They were good but slow because they were sending a whole lot of pixels. Could they be more efficient-- probably-- but they did the job well on a local area network. More recently, some companies that caught my attention were YouOS and G.ho.st. I really liked YouOS because this was the first time I was using a non-VNC program to access a remote desktop, and it was all in JavaScripted HTML. I used it a few times and then just stopped. Why? It seemed like a developer had to reinvent stuff that already existed. Their database storage was different, the development environment (which I never used) was sort of different. Applications that were written for YouOS existed as much more advanced software for the desktop.

YouOS is defunct, and that is sad because they were one of the few harbingers of what is to come. The idea is a good one but the implementation is not quite right. All of the magic with user interfaces for the internet today are re-implementations of solved problems. Every common user interface widget and windowing system known to a person has been implemented (better widgets will come in the future, but I am focusing on current user interfaces). So the thinking goes...because I want to port my application to the web, I have to rewrite my user interface code into some AJAX JavaScript library that supports a windowing environment (or some equivalent in Flash). That's all fine and good, but the interface can be more cumbersome and limiting than its equivalent version on the desktop. For instance, Google Documents is great, but Microsoft Office and Mac iWork are much more fully featured and enjoyable to work with. Now, what developers have done so far is admirable. It is hard to move to new technology, but something is not right.

I think that the solution will be something similar to what Citrix and others are doing. They have been in the business of this magic word called "virtualization" for a long time, and they seem to know how to do things right. Porting applications from the desktop to the web or other platforms is the essence of virtualization (well, at least one type). VMWare, Sun/Oracle, and Microsoft are also in the mix. Ultimately, websites are just going to be applications and will feel like desktop applications. Your home page of choice will be clicking on icons on a desktop. The magic cloud I want is to be able to render 2-hour video footage to DVD in 10 minutes in my Adobe Premiere cloud application.

This was the closed-source version of the webtop...what about the open source version...what about Linux. I think it is time for a "grand challenge". Because I can have too many things going at once, I don't think I can take this project on myself because I have a kaleidoscope to build, but I would like to call others to action. I would like for the developers of KDE and Gnome to make a browser-ready version of their Linux desktops so that I could run my favorite Linux apps in the cloud. If I wanted to run OpenOffice instead of Google Documents, it should be possible. If I wanted to do some serious image editing with GIMP instead of Photoshop, someone could make it happen. If I really wanted to run Blender (a 3-D animation and modeling app) in a browser instead of Maya on the desktop...well, why not? All of these wonderful open source programs are available and would be way better than anything else you could run on the web right now. So, Linux developers, if you are listening, if you want to win the mindshare of the web-using public, think about making KDE and Gnome webtops. So...imagine running SuSe, Ubuntu, or Red Hat through a web browser...and think of how people would be empowered.