July 7, 2006

Building a NetDesk

Shane Coughlan writes "There has been some discussion recently about Web Operating Systems (WebOS). The basic idea is to put a desktop environment on a server and have users access it through a network. This has the advantage of making data accessible anywhere and allowing software updates to be managed on the server. You can access your desktop like a web page from any computer as long as its connected to the Internet. This is not a new idea; it was first touted in the mid-nineties under the name Network Computer. The very first thing to point out is that the term WebOS is inaccurate. A WebOS is not an Operating System. It is a thin client providing access to desktop services based on a server. Let's be more accurate and call it a NetDesk.
http://www.fsfe.org/en/fellows/shane/communicating _freely/building_a_netdesk


The latest permutation of a NetDesk is based around the Web 2.0 concept of AJAX. It's about having web pages that provide certain tools like word processors and calendars in a pseudo-desktop environment. Two examples of this type of environment are eyeOS and YouOS. They are web services using the same technological framework employed by Web 2.0 sites like Meebo.

At first glance eyeOS and YouOS are impressive. They both give the impression of a desktop over the Internet. You can even save data on-line and come back to it later. However, there is little reason to actually use these services for real work. They don't deal with complex office files. They don't allow for secure file storage. They don't provide off-line working modes. Internet speed issues and overlap with existing local computer tools compound the problems.

It's not so much that existing NetDesk services are ahead of their time as that they are not fulfilling user requirements. They do not constitute a useful working environment because they introduce limitations to the desktop paradigm instead of opening up new productivity possibilities. This does not mean that a NetDesk is a redundant idea, but it does suggest that the idea is misapplied.

A NetDesk is an opportunity to provide a new user environment. It's a way of making data accessible anywhere, providing the same desktop at all times, and ensuring that the latest technology is always available. A NetDesk can draw together diverse web services and unite them under one common interface and one common user paradigm. A NetDesk can be a front-end to on-line storage facilities that offer recoverability if a local machine fails.

It's a confusing field because there is a mixture of ambition, incoherence and hype surrounding work in this area. A lot of very serious questions are not being answered. These questions include the security of user connections to the remote operating environment, the security of user data stored on remote servers, the structure of APIs for web applications to engage with the NetDesk and how currently dispersed web service data could be united behind a common interface and desktop paradigm. The first two points may be the most important, and the final point might be the most interesting.

Security is not an easy topic. It gets very complex when we begin to talk about accessing and interacting with data remotely. The local computer needs to be secure. The connection needs to be secure. The remote computer needs to be secure. When we talk about the data stored remotely we get another headache. We must consider who is storing the data. We must consider the format of that data. It's imperative that only the authorised users can access the user data.

On the bright side, once security is obtained the NetDesk could provide a common interface to web services and the desktop. It could reduce the distance between these disparate concepts to zero. Web services like Meebo, BBC News, Windows Live Mail and Flickr could interact with the NetDesk through thin clients with a unified desktop paradigm and allow transparent interaction between user files and such services. A user could drag and drop a handful of photos to have them listed on Flickr or save a message from Live Mail into their document folder without even having to consider that these are different services provided by different companies.

What most people do is based around the Internet. Email, instant messaging, search, web browsing and community websites are part of the fabric of everyday life. Indeed, these activities probably make up the bulk of the average user's ICT time. Office productivity tasks like word processing, spreadsheets and databases can also be accomplished through on-line services. Virtually everything we do is about shifting small bits of data around and editing this data with tools that could be running either on a local or remote machine.

About the only thing a NetDesk can't do is provide services that require massive amounts of data to transfer between local and remote machines. Ripping CDs and DVDs. Importing home videos. Transferring 60 gigabytes of data to an MP3 player. Multimedia would really have to be limited to streaming audio and video. This may disenfranchise the world's fourteen-year-olds but it does not negate the idea of a NetDesk for those who can live without episodes of The Simpson's on their iPod.

The advantages of a NetDesk are not dependent on AJAX, Ruby on Rails or any of the emerging Internet technologies. These technologies are being applied to grand concepts right now partly because they are new and exciting, partly as a justification of their existence, and partly because this is where a bunch of the speculative venture capital is currently located. We don't need these technologies to make a NetDesk, nor indeed are they necessarily the optimal solution for such a service.

A quick example is that you can run a GNU/Linux machine over SSH and an NX server for remote control of an X Window environment. In plain English that means you can run a full GNU/Linux desktop through the Internet at pretty good speeds. That's certainly a better deal than a handful of Javascript applications eating up a computer's CPU time. It give you large amounts of applications and the power, flexibility and security of the Linux kernel. You can even run the GNU/Linux sessions on virtual machines on the remote server, increasing security and server recoverability from problems.

A certain degree of boldness and foresight is needed to create a successful NetDesk. Rather than trying to create a monolithic pseudo-operating system with unique applications it is prudent to foster innovative thinking about service integration, system interaction, and the application of open standards to ensure completely transparent interaction between services.

One thing that is limited about Web 2.0 services is that they tend to be largely single-function. You might get a web-based instant messenger, but it's taking up an entire browser window. It's adding to the clutter of your workspace. A NetDesk allows for the potential to completely break with that problem and to start doing really interesting things regarding unifying the user experience. If its done correctly it might even unify the greatest split that currently exists in computer; the gap between what happens on our desktop and our experience inside the web browser.

The real shame from my perspective is that we don't see the Free Software community engaging more with web services. It strikes me that we could contribute a great deal to this arena of development, and that our empowering licenses could be important in making sure this technology is accessible to everyone."

Link: fsfe.org

Click Here!