Direction: Abstract vs. Specific

by havoc

There’s some talk on desktop-devel-list
about exactly what “online
” means, and in private mail I got a good suggestion to
focus it such that end users would understand.

“Online Desktop” is an abstraction. First, let me try to convince you
that it’s more specific than what GNOME purports to be about right
now. Then I’ll suggest a way to avoid architecture
the Online Desktop abstraction.

Right now it says on

GNOME offers an easy to understand desktop for your Linux or UNIX computer.

This is aimless, in my opinion. As Alex Graveley said in his keynote,
the “easy to understand” (i.e. usability) point is a feature, like the
color of a car. It doesn’t give any direction (sports car or
truck?). “Runs on Linux” is a feature too, like “car that drives on

Chop out the two features, and the only direction here is “desktop” –
that word by itself just means “a thing like Windows or OS X” –
it’s a category name, and thus defined by what’s already in the
category. It dooms us to cloning, in other words.

Here’s what I offered at GUADEC as an alternative:

GNOME Online Desktop: 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.

This is still a conceptual mission statement (or something), not a
product. I went on and had a series of slides about possible
products that fit into the above mission – the idea is that
end users would get the products, and would be marketed a product.
Here are the products I mentioned:

  • An amped-up mobile device (internet tablet or phone) designed to
    work with popular web sites and seamlessly share your stuff with your
    desktop (including your proprietary desktop, if you have one!). The
    closest current products to this might be the Helio Ocean, the iPhone, and of
    course GNOME’s own Nokia N800.
  • An Internet appliance. To date, the only one of these I was ever
    impressed with was the Netpliance – as best
    I can tell, the company cratered because it sold a $300 device for
    $99, hoping to make it up on service contracts cell-phone-style, but
    did not lock people in to a 2-year contract. So people bought the
    device, canceled the contract, and the company went bankrupt. Anyway,
    my grandfather had one of these, and it was perfect for him. I think
    it was a good idea and might have gone somewhere if they hadn’t dug
    themselves into a big old hole by losing $200 per device sold.
    The idea is also more timely today than in 1999, because you can do a
    lot more with a simple device as long as it has a web browser.
  • PCs for students. College students love the cuteness of the One Laptop
    Per Child. Imagine a cheap, well-designed, durable laptop, with an OS designed
    for the Internet. A slightly scaled-up version of the One Laptop with
    an OS designed for online instead of peer-to-peer.
  • Managed clients for small/medium businesses. If Google is successful
    with Google Apps for Your
    , or someone else is successful with something similar
    (already there are other examples – QuickBooks Online Edition,, then
    companies can outsource their server-side IT at low cost.
    But they’ll still be maintaining Windows, with its downsides.
    GNOME could offer an alternative client, perhaps managed by the
    service provider just as the online services themselves are,
    but in any case better optimized for a “window to the Internet” role
    than Windows and lower maintenance to boot.
  • An awesomer version of developer distributions like Fedora and Ubuntu,
    with neat features for services Linux lovers tend to use, such as
    Flickr, and nice support for stuff Linux lovers care about such as

You can probably imagine how to improve the above products, or even
come up with a few more.

In deciding what to hack on next, we should probably always be
thinking of one of the specific products, rather than the Online Desktop
abstract mission statement concept.

If you were selling GNOME to someone, you’d want to tell them about
one of these products, not the “window to the Internet”

I proposed the Online Desktop abstraction because 1) a high-concept
mission sounds more exciting to many people and 2) the specific
products each exclude some of the primary GNOME constituents. The
GNOME project can support several of these products. The Online
Desktop abstraction is meant to be something a large part of the GNOME
community can have in common, even though we’re working on a variety
of different products.
But we should keep working on products, not
abstract missions.

Even though Online Desktop is an abstraction, I think
it’s both more specific and a better direction than
the current abstraction on – “a desktop.” “Perfect
window to the Internet” is still vague, and I’m sure can be improved
on, but at least it isn’t a pre-existing product category that’s
already been defined by proprietary competitors.

You may notice that I tacked a bunch of features onto the Online
Desktop definition: “integrated with all your favorite online apps,
secure and virus­free, simple to set up and zero­ maintenance
thereafter.” I guess these are more illustrations than anything
else. The point is to capture what the various products built around
GNOME could have in common.

(This post was originally found at

My Twitter account is @havocp.
Interested in becoming a better software developer? Sign up for my email list and I'll let you know when I write something new.