I once wrote a nice rant about the inadequacy of the desktop metaphor.
In the light of the upcoming GNOME 3, the more document-centric Shell and the browser-mode nautilus (instead of spatial mode), I wanted to remix my thoughts a bit.
Note: I am not a developer and I am not on the Shell or Nautilus teams. The idea of a desktopless environment was briefly raised on the Nautilus mailing list months ago and has hesitantly appeared at the end of the GNOME Shell Design Document, as quoted below:
Used for both ephemeral, and working set data finding and reminding. Given time, the constant stream of things to do, the constant remainder that does not get done, and the unwillingness to categorize and archive manually, and the fact that the solution doesn’t scale (due to being spatially bound) results in the system breaking down. On top of this – so to speak – is the problem that this data lives underneath all of the current activities on the computer and is therefore very difficult to reach. Which also tends to reduce its effectiveness for finding and reminding. It also doesn’t provide any form of prioritization.
In the Shell design, the “desktop” folder should no longer be presented as if it resides behind all open windows. We should have another way of representing ephemeral and working set objects.
The reminding function of the desktop is really only available immediately after login. Once any activities are started its effectiveness is dramatically diminished. Starting the Journal automatically at login will have a equivalent effect and have the advantage of being easier to access later.
However, I haven’t seen much more happening since then, and I believe this to be a fundamental question to settle. GNOME 3 would be, in my humble opinion, a perfect window of opportunity for an “intrusive” paradigm shift like killing the aging desktop metaphor.
I believe the concept of “icons on the desktop” to be counterproductive and perhaps counterintuitive. This blog post is a humble attempt at demonstrating why.
Windows obfuscating contents
Most of the time, the desktop is hidden by multiple windows. To access your desktop contents, you need to manually minimize your windows, hit Ctrl+Alt+D, or use the “Show desktop” panel applet (which probably won’t exist in the Shell anyway). Then, when you are done interacting with your desktop, you need to raise all your windows again. You keep moving things out of the way and putting them back in the way, all the time!
Alternatively, you could use nautilus to access the contents of the desktop folder, which defeats the purpose of having contents on the desktop. Or you could always keep an empty virtual workspace to switch to, but it quickly fills itself with windows and the cycle repeats itself.
Icons, visual clutter and cognitive strain
The Desktop is typically “designed” for transient files (though, as I’m arguing here, the vast majority of users don’t actually use it for its intended purpose). By transient files, I mean the following categories/scenarios:
- Files that I received or downloaded (through instant messaging, or files that the web browser auto-downloaded for me, for example)
- Temporary crap: blogging material, files to be attached to bug reports, files from bug reports, emails, etc. Usually files with a lifespan of five minutes.
- “Reminder” files, there just to annoy me into doing something about them.
- Files that I am currently working on (though, in theory, nothing prevents us from working on files that were already filed properly in folders)
- Files that are “waiting” for something (for example, files I would need for project X in 2 months)
The distinguishing lines between those scenarios is often blurry, to say the least.
The problem with desktops is that we, modern “information workers”, have heaps of data to process, and we have the following choices to make about a file (GTD/Inbox Zero fans will see that one coming):
- Process it immediately (and then delete or archive it)
- Defer it (“I need to wait 2 weeks for event X to happen before I can touch this”)
- Archive it (in that case, it should not be on the desktop)
- Get lazy and let it sit there
Oftentimes, this means items start accumulating on the desktop for weeks on end, waiting for the right moment/motivation/energy to be used. All this has a price. For some, it can be annoying to have all that stuff in your face all the time, or it can become a chore to “clean up”.
Ironically, the inverse tendency can also be true: the less there is, the more we are inclined towards piling up new stuff.
Keeping the balance takes determination and technique (not everyone is a GTD/Inbox Zero maniac). For less organized people, the desktop just becomes a dumping ground, full of “stuff” constantly in your face, “urging” you to be processed and reminding you that you should be doing something else but don’t have the energy or resources needed.
My point is a bit hard to prove here because, to some, it may look like I am advocating “hiding stuff under the rug”. For the sake of the argument though, I shall say that I have been running my computers without a desktop since 2007. This is what it typically looks like:
And this is what happens if I reactivate the “icons on the desktop”:
As a real world analogy, my current summer job involves office work. Pure, old-fashioned office work with actual folders, tons of paper, a hole puncher, stapler, and pencils. I process a couple of dozen cases per day, which means that my desk is a constant mess, with me pushing and pulling folders around, using aforementioned tools, throwing them back in the pile while I go fetch printouts, letting objects fall on the floor, leaving bits of memos everywhere, etc.
It doesn’t look exactly like this, but close enough:
(picture by Rob)
It is Hell.
Why would I ever want to reproduce this kind of chaos onto my computer screen? Isn’t it the computer’s job to give me unlimited storage and triaging capability for me not to shuffle things around constantly?
Partly due to Bug 317764, GNOME’s text readability on the desktop is very poor, to put it nicely.
As I don’t want to nitpick on a bug report that I filed years ago, I won’t comment further on the matter. Suffice to say, reading text without a solid, contrasting background is an accessibility disaster. Those who want to dig the matter can take a look at the bug report linked above.
Not only complex wallpapers impair text legibility (as mentioned above), but the reverse is also true: text and icons take away from your enjoyment of a good wallpaper because they add visual clutter. When I wrote my original article a couple of years ago, I had calculated that out of my 2500+ wallpapers, about 5-10% of them could actually be used with the traditional desktop metaphor.
Here’s the thing: our icons are mostly bright, and their text labels are bright too. Even with sufficient text borders (if bug 317764 was fixed), having items on the desktop interferes with the artistic complexity of most wallpapers in terms of clutter, brightness, contrast, etc. For that reason, only a minority of minimalistic wallpapers are truly suitable for use with icons on a desktop.
Incoherence with the “file manager”
By exposing the desktop folder as a special use case, we lose a great amount of functionality and break the consistency with “normal” folders; the desktop does not have the same features as the “full-featured” file browser Nautilus. No side pane, menubar, toolbars, no listview/treeview/compact view/infrared view, etc.
It made “some” sense when spatial mode was the default behavior, but it doesn’t make much sense now that browser mode is the default.
TL;DR/summary: the desktop metaphor sucks. We are stuck with a limited surface, limited file management tools, and a background that actively impairs legibility of the files sitting on it (unless you’re using a solid black background).
Not so intuitive?
The desktop metaphor is often presumed to be more intuitive to use, because:
- The user would interact solely with that desktop, thus see the entirety of his/her’s important files. This falls short for anything but the simplest use cases.
- Users come from Windows/Mac OS/Altimit OS and are used to the desktop metaphor. This is one of the eternal debates of usability, “Do we make drastic changes or do we keep everything ‘familiar’?” It struck me, however, that one day my mom asked me directly if those desktop folders could vanish! A similar observation applies to a couple of other relatives: I suggested disabling the desktop because it was a mess and… they actually agreed!
In my opinion, for someone who was not trained for using the desktop (others can be retrained, or brainwashed), not having a desktop does not make a computer less intuitive. Actually, I believe having a desktop increases the difficulty, due to the reasons mentioned earlier and because it creates “another” way to access your files and folders.
You can easily explain to someone that “Whenever you need to access some of your documents, you just have to access the Activities screen and click your Documents folder, or your Home folder”. Explaining why some things appear on the desktop but at different places in the file chooser or Nautilus? Not so much.
As a matter of fact, unless the gconf key “desktop_is_homedir” is set to True, the standard XDG directories (Documents, Images, Music, etc.) are not even located on the desktop, so the user has to use the Activities menu to access them anyway. Many users don’t bother. And many users have no abstract conception of the distinction between the Home folder and the Desktop folder. I have observed this time and again.
In GNOME 2.x, switching non-geeks to launching their Home folder from the Places menu is a bit of a stretch, since it requires more abstract thinking (knowing what files and folders are).
Things change with the GNOME Shell: the incredible elegance of the Shell’s concept is that it combines applications, recent documents and places all into the Activities menu, which is accessible simply by a flick of the mouse. This means that accessing the home folder takes exactly one click, and is much, much less painful. The fact that the Home folder can now be accessed so easily is one more reasons why I believe the time is right to get rid of the desktop. The fact that removable devices can be accessed (and unmounted) directly from the Shell is icing on the cake.
Back when I wrote the first version of this essay a few years ago, the ecosystem was different. We were in the middle of a stable GNOME 2.x series, with no revolutionary 3.x redesign at our doorstep, and the thought of advocating a desktopless GNOME 2.x as the default behavior didn’t even cross my mind. However, at the dawn of a groundbreaking release, I believe now is the time to voice one of my deep convictions: we ought to kill the desktop by default. This means:
- Set the key “/apps/nautilus/preferences/show_desktop” to False by default
- Set the key “/apps/nautilus/preferences/desktop_is_home_dir” to True (unless we have a new use for the desktop folder)
- Ensure that the interaction between the Shell’s and its places shortcuts is rock-solid: it needs to fully support dragging and dropping items onto places such as Images, Documents, Home, etc; it needs to be reliable in showing all the removable storage devices and reliable in mounting/unmounting them. Have 20 usb keys plugged in? They should all be easily accessible without even launching Nautilus.
- Eventually: complement this vision with tools like GNOME Activity Journal and the (experimental) idea of “project-centric” workspaces. Surely someone smarter than me will be able to come up with a brilliant solution to the eternal problem of “limbo/temporary files”; perhaps a zone where files have “expiration” dates and where users can “pin” files to prolong their life before they are either archived (put in another folder) or trashed.
What about “@Waitingfor” files?
As I mentioned previously, there are some kinds of files that you need to work on at a later time. Back in the day, I wrote a horrible, hacky python script to deal with this, called FrontBringer. Again, perhaps that the great minds behind the 3.x vision could come up with a better way to handle this use case, with files that you can “pin” or put in a “cryogenic storage”. Or something based on Lucas’ newly announced Board. Perhaps Guadec would be a great time to discuss these things (I will not be able to attend, sadly).
Gentlemen, start your flamethrowers.