Sunday, February 05, 2012

Desktop environments: get out of my way

Increasingly the applications you use — yes, you, sitting there, not some rhetorical "you" — can be broken into two categories:

  1. Lightweight stuff where you just want to minimize your maintenance costs. You don't particularly care whether you learn every keyboard shortcut; you just want it to be simple and cheap and available wherever you go.
  2. Heavyweight applications where you do hardcore work. You are an expert operator of these applications and any minimal loss of functionality annoys you.

The categories that these fall into differ from person to person. For a programmer, category (1) might include a photo editor and category (2) might include your text editor. For a graphic artist, these might be reversed.

Desktop environment developers have developed this arrogant idea that they can impose "human interface guidelines" on the user to make their user experience simpler, more consistent, etc. This is an illusion, because category (1) applications will eventually all be on the web, and category (2) applications have never obeyed any platform's human interface guidelines (HIG), and they never will.

Maya 3D laughs at your pathetic HIG, Microsoft. Emacs laughs at your pathetic HIG, Ubuntu. Photoshop laughs at your pathetic HIG, Apple. (For that matter, your own software usually laughs at your HIG, Apple.) When you spend all day doing hardcore work inside an application, you don't give a fuck if it's inconsistent with everything else you do, because the gains from having that app work exactly the way you want far outweigh the loss from having it be slightly inconsistent with your MP3 player and your PDF viewer. For category (2) applications, the homogenizing influence of the HIG makes about as much sense as having a carpenter install exactly the same grip on a hammer, a power drill, and a jigsaw.

As for web applications, the web laughs at all platforms' HIGs. And anyway it's more important that they be consistent among web browsers than that they be consistent with the conventions of the host platform. Unless you're one of those douchey people who carries their iPad everywhere in a little murse non-murse device that makes you feel acceptably masculine, you're going to check your email using some other device sometimes.

So what we basically need from desktop developers is to get the fuck out of the way. Integrate really well with the web browser, and also give the user the most efficient, unobtrusive way possible to switch between type (2) applications.

1 comment:

  1. I'd say the main point of a Desktop Computer is as an interface to a hard drive. File management is the core feature -- the file system explorer, application packaging, backup options, migration.

    All other interface options -- notification, application switching, windowing -- are workflow specific and of secondary importance. Service / daemon / process management is necessary but not the core feature.

    Oh and don't hate on the murse :-D