If you’ve been following the GNOME Shell design documents you may have noticed that it had these FIXMEs and sets of random notes where there should be designs for what we’ve been calling the finding and reminding problem. Now that some of the other parts of the design are falling into place – ’bout time we get to it.

What is “finding and reminding”? Generally, having a simple and effective way to keep track of, recover, and be reminded about various types of content and information. In the traditional desktop computing model this often meant “file management.” But this is 2010 and we just don’t want to party with files or management anymore. They used to be cool but now they’re old and out of shape and make us do a lot of boring work and status reports every week?! Sorry. Back on track.

Most traditional computing environments offer a variety of tools which attempt to address aspects of the problem. These often include:

“Desktop” (folder)

“Places” (folders or collections)

Search

Recently used lists

File Manager (eg. Explorer or Finder)

File open/save dialogs

You’re probably thinking “hey no biggie they all work together or at least consistently, right?” Nya.

Functional Evaluation

Well, if you take a step back and you think really hard about the problem and analyze the interactions and you’re super clever, you can come up with a functional evaluation of the system. Or you can just cheat and find them in journal articles like I did. Actually, I smooshed a few together to come up with the following categories of information:

On hand (grip) – should remain easily and quickly accessible while relevant

Under foot (trip) – should be visible to facilitate opportunistic finding and reminding

Out of sight (slip) – when the shelf life of the first two types of information expires it should gradually slip out of view

Information that is frequently used or currently relevant should be kept around and readily available. Information that is incomplete or needs attention or action should be kept in a place where it may be tripped over to offer opportunistic finding. Other information that may no longer be immediately relevant should be available but out of the way so it won’t interfere, clutter, or confuse. Out of the way information should have a distance that is roughly proportional to its relevance (likely time of last use).

To be most useful the information retrieval system should be:

Available – ubiquitous access

Persistent – can be relied upon as a record

Current – up to date and relevant

Contextual – includes information in context

Present – serves a useful reminding function

Shareable – easily shared between people

Transparent – don’t require effort to maintain

The system should be designed with the following types of users in mind:

No Filers

Spring Cleaners

Frequent Filers

GNOME 2

OK then. If we use that kind of analysis to evaluation GNOME 2 how do we fare?

It turns out – not that well. It requires too much work, is too isolated, lacks coherence and context, and doesn’t keep the right information on hand or in sight. I’ll spare you the details until the end.

GNOME 3

So let’s try to do better next time. Oh wait, that’s like now isn’t it? OK. Hmm. Here’s an idea…

How might we design a solution that marries the Desktop, Search, Places, and the Recently used list? How might the roles complement one another?

What if the Desktop was a place to stage items that need to be addressed?

What if items could expire from the Desktop and fall safely into a time ordered list and eventually into an archive bucket?

What if Places were just a default set of tags that can be used as filters?

What if we had enough abstraction from the filesystem that we could transparently include non-local information in the same view?

What if we had enough abstraction from the filesystem that would could include information that isn’t that file-like?

What if this same desktop+timeline view allowed me to schedule items to address in the future?

What if similar or related items were automatically stacked together so they don’t clutter the Desktop?

What if I could access my Desktop from anywhere?

What if the Desktop wasn’t hidden behind all my other activities?

What if I could easily share my content with others?

What if everything in my archive was readily searchable and had rich contextual metadata?

What if it was easy to add almost any kind of item to the Desktop?

What if one had the ability to tag, star, and make notes about content directly from a document window?

Might be pretty sweet actually. What could this look like?

Hold on. What are we looking at here? Sigh, I mean besides a lot of lazily duplicated document icons and some poorly pixel-grid aligned… (Hi jimmac – I’m trying but it is late)

Essentially it is a representation of the following schematic:

This coming week

Tomorrow

Desktop (Now)

Today

This week

Last week

If things aren’t pinned into the Desktop they will gradually fall down the view until they safely drop out the bottom into the Archive.

Items may be filtered by any number of labels. A useful set of labels would be provided by default but users may add their own as well. Items may be starred to denote relevance or whatever meaning the user wishes to assign to that designation.

I’ve written up a lot more boring details on the wiki so feel free to check it out and make comments in the appropriate section.

What do you think? They tell me it is doable. And no it’s not a pooper.

Drop by the GNOME Shell design office hours today (Wed) 2 – 4PM EDT (UTC-4) on irc.gnome.org:#gnome-shell and let us know what you think.