An "online desktop" is not exactly a new idea, as X-based thin clients
have been around for twenty years or more, but combining the desktop and
the web is an idea that is gaining some momentum, at least in the GNOME
community. The online-desktop
project is an attempt to define a mashup of Linux, GNOME and web
applications into something completely new. It is an ambitious goal, which
will be met with a fair amount of skepticism, likely by all of the
communities being mashed.
In a keynote at the recent GUADEC 2007
conference, Bryan Clark and Havoc Pennington laid out a vision
(slides in PDF format) of the online-desktop (OD) with the following
top-level description:
The perfect window to the
Internet: integrated with all your favorite online apps, secure and
virus-free, simple to set up and zero-maintenance thereafter.
Many people are or will be using online applications almost exclusively,
with the
operating system just providing a platform to run the browser, at least
according to Pennington and Clark.
The OD would seamlessly connect the browser-based applications with any
native programs that remain, storing data locally and remotely. This would
allow users to access their data, including settings and preferences, from
any internet connected device. A user would be able to jump between multiple
computers and mobile devices, finding their entire desktop environment and
data available on each. A new disk and fresh install would no longer require
a tedious reconfiguration of preferences and restoration of backups,
a user would simply log in to the 'service' and pick them all up.
This network-centric view of computer usage is not particularly new
either - Sun's "the network is the computer" initiative is a famous
(or infamous) example. The keynote points to plans for the next version of
Windows, which will be more closely integrated with Microsoft's internet
services, as an indicator that the OD direction is the right one. In order
for Microsoft to play its usual lock-in game, it would need to provide most
or all of the kinds of web applications that people already use. OD
proposes to integrate with the existing applications, presenting a single
view that incorporates them and facilitates sharing between them,
without the lock-in.
The requisite demo during the keynote was of
Big Board, a GNOME
Python application,
that prototypes portions of the OD,
using the Mugshot project. A high-level
implementation plan was also presented:
SEARCH AND DESTROY everything that leaves my data stranded
on a single computer.
INTEGRATE the best web applications with the desktop.
RETHINK the user experience to take advantage of live
connections to friends on the net.
CHANGE THE DEFAULTS so naïve users taking no special action
will create collaborative, backed-up, online data rather than local
files.
By its very nature, OD has a very distributed architecture. It is meant to
talk to various servers to store data using the services (Flickr, Picasa,
Gmail, etc.) that the user is already using. But there will also be data
that needs to be stored, for instance preferences and configuration
information, for which a service will need to be created. This service
is envisioned to be decentralized, with at least some of the servers run
by the community. Like many parts of the project, it is still in the
planning stages.
The project is young, with thoughts and discussion starting to pop up on the
GNOME desktop-devel mailing list in April. Since the conference,
things have started to heat up, the website has moved from within Mugshot to
its own site, some
mockups
have been created and there has been a bit of a discussion about an
acronym. An obvious choice, using the first letters of GNOME Online Desktop
leaves something to be desired, so current candidates seem to be GOLD
(OnLine Desktop) or GOOD (Open Online Desktop). Others would rather see it
referred to as GNOME Online without an acronym; we stayed out of
it and used OD.
Another piece that is in the planning stages is an API for desktop
applications to be able to share HTTP state and cache information. With
multiple programs talking to some of the same websites, cookies, at least,
will need to be shared between them. Sharing data that has been cached
from websites, between the browser and other programs that use it, would be
useful to reduce traffic as well.
Mixing and matching different web application APIs and storing lots of
personal data on remote servers will require careful thought about
security. There is some mention of "strong cryptography" being used, but
the concerns mentioned so far seem mostly concerned about handling (and
losing) private keys. Overall, the security issue seems to be a low
priority. A post to
Pennington's blog seems to miss the point, comparing the OD security issues
to that of online banking. Banks only store the information they have, not
the sum total of all data one might have on their computer. In order to
fulfill the "secure and virus-free" portion of the goal statement, a lot
more thinking and effort will have to be focused there.
Folks typically carry more powerful computers, with more storage, in
their pockets today, than were even available to home users twenty years
ago. That trend seems to be continuing, at least for now, so there should
be ways to carry our own data with us. Desktops that were set up to handle
external, plugged-in storage devices and easily switch to an environment
stored there would remove the need to store that data on an internet
server, except, perhaps, for backups. This might be a simpler alternative
that removes some of the concern about loss of data control.
There are lots of opportunities to share and collaborate using web
applications, for pictures, text, video, music, etc. But there is also lots
of data folks may not want to share. Financial information, email,
contracts and work-related documents are just a few of the things that
people very well might want to keep private, naïve or no. It will be
very difficult to set up an environment that turns all data, by default,
into "collaborative, backed-up, online data", without sometimes exposing
sensitive data. Using the word processing tool to type a blog entry and a
love letter should not automatically expose both to the world.
An interesting, related development is an attempt to define what a "free" or
"open" web service is. If a user's personal data is to be stored somewhere
other than the local disk, potentially multiple places, it must be clear
what rights the user has to that data. The responsibilities of the service
must be clearly defined as well. Luis Villa has some
thoughts
about the framework in which an Open Service Definition might come about.
The framework consists of sets of goals, preconditions and rights, each of
which can be thought of as a "sliding scale". He goes into some detail
enumerating each of the sets and discussing various settings that could be
made on the scales and the impacts that has on freedom and openness, for
both users and providers. By using OD as a test case while discussing various
settings with interested parties, Villa hopes to come out with a set of
definitions and licenses that, in many ways, parallel the Free Software and
Open Source definitions.
It is an issue that is much larger than the OD project and one that bears
watching.
The biggest question, perhaps, is whether this is the "right" direction for
GNOME and for desktops in general. Is personal computing finally headed toward a
completely network-centric existence? If so, are HTTP, HTML, Javascript,
AJAX, and the like up to the task? One is reminded of the wisdom of the
Magic 8-ball:
Answer hazy, ask again later. One advantage that free software has over
some of its competitors is its diversity; we are certain to see other
implementations of an online desktop
(Pyro for example) as well as
desktops that resist the close integration to the web. Free software will
truly give users the ability to choose the one that works for them;
users of proprietary systems may not be so lucky.
(
Log in to post comments)