Tuesday, March 27, 2007

Re-visioning GNOME

Recently Murray called for "more visions" for GNOME (in addition to "GNOME is People"). Well, I've got one.

GNOME is the GNU Network Object Model Environment. We have some really good network object features (e.g. the ability to browse remote directories using ssh:// URIs in Nautilus) but none that really set it apart from the other desktop environments. (As far as I know.)

What about making the GNOME environment more fully a network object? By this I mean that, no matter what physical machine you are running your GNOME session on, you have access to all your settings and configuration data?

Of course, this is trivial in the case of a managed/corporate environment where you mount your home directory over the network. But this relies on each GNOME-machine having access to an always-available server.

What about a user that has GNOME installed on several machines, but can never guarantee that any given machine will be powered up or network-visible at any given time? And what about bandwidth-constrained situations where exporting huge amounts of data over the network is impractical?

I suppose what I have in mind is something like this: All GNOME applications get their configuration and state data from a central source and cache it locally. The GNOME foundation supplies a network resource for people who do not have access to an always-on location for that data. Then when you get your shiny new hardware and install GNOME on it, all you need to do is type a URI for your configuration data and Evolution, Epiphany etc. are all set up automatically.

Obviously storage and synchronisation of actual application data (e.g. mail messages) is problematic, but we may have some application domain-specific solutions to this (e.g. IMAP for email).

I suppose I am kinda brainstorming here, but I'm so impressed by the available-anywhere-on-any-platform service that Google offers (mail, calendaring, word processing, spreadsheet, photo storage and management, general file storage, ...) that I can't help but think that we can do more in this regard.

Thoughts?