The Grip, the Trip, and the Slip

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.

This entry was posted in Uncategorized and tagged , , . Bookmark the permalink.

18 Responses to The Grip, the Trip, and the Slip

  1. Pingback: William Jon McCann: The Grip, the Trip, and the Slip | TuxWire

  2. Luke Morton says:

    I’m sure you’re all over this, but it sounds like the solution might be a bit like Seth Nickell’s ideas for his interestingly named Task Pooper: http://blogs.gnome.org/seth/

  3. motumboe says:

    Thanks for your valuable thoughts.
    “What if items could expire from the Desktop and fall safely into a time ordered list and eventually into an archive bucket?”

    You entirely have me here.
    Temporal locality should be taken into a higher account. This archive bucket should have either data or information about how to retrieve those data.

    Zeitgeist and Gnome Activity Journal are going into this direction. But they need interface improvements and better integration.
    Overall the ‘recent documents’ should be enhanced anywhere.

  4. ogmiok says:

    Any way to get away from file management is definitely the right direction.

    Three question-bundles, and an idea.

    Is “Music Player” a program? If so, why would it be in the Desktop? Is this an example of something non-file-like?

    How does the Document folder interact with “Places as filters”?

    What are the advantages, if you don’t mind sharing, of grids over lists? This is obviously the trend, but I find lists much easier to scan (grids are like shelves in a library – I have to go row by row until I go too far, then back up and search sideways), and in the current paradigm I depend on sorting by various columns (I can definitely see how you’d want to move beyond that – though computer-unsavvy folks I know have been really pleased by Google Docs’ list/search interface). Maybe it’s just me, and I’m more verbal than visual, or something.

    And the idea, no doubt ridiculous. I’m sure you have all sorts of good reasons for focusing activity on the Activity button, but…if the Desktop were also made into the primary access to all files, including for saving and opening, and if it were accessible from its own hot corner, then it would be even more “on hand”, especially if it left the current windows in position, unlike Activities. That is, a hot corner would bring up Desktop/”things”, as would saving or opening from within an application.

    In any case, all this is very exciting!

  5. Eric Pritchett says:

    I think it would be beneficial for Gnome 3 to have a new menu spec that does not include the standard “file, edit, view, help, etc” bar. In fact, DanRabbit has some beautiful mockups that he’s working on to redo Nautilus that you can see at http://danrabbit.deviantart.com/art/Dash-Context-Pane-Concept-159408760 . Maybe put the file, edit, view, etc as a drop-down menu when you press the down arrow button on the very top right of that screenshot? In any case, I think a lot of areas should be explored (i.e. Microsoft’s Ribbon method used in Office 2007 as well as others), but the standard method I think needs to go.

  6. DDD says:

    I am always astonished at how hard UI design is 🙂 Even if you look at mobile phones, basically everyone is trying to copy Apple and failing even that.

    To muddy the water with yet more ignorant opinion: I personally like minimalist UI, like the old TWM window manager. Right-click brings up a menu with my applications, left-click moves windows around.

    Oh yes, and application install/uninstall should be “drag the program icon onto the desktop or menu/delete all instances of it”. Installers and package management things confuse me 🙂

  7. Hi William,
    The proposed solution of a search-based UI is really well thought !
    With semantic technologies coming to the desktop and a complete integration of windows, shell and file manipulations, an interesting result can be achieved.

    Do you see the file browser being a Clutter nautilus frontend or something new atop Tracker ?

  8. molok says:

    I like some of your ideas but I still prefer folders over tags. I almost never have the need to a file in two different places; when I do, I use (hard|sym)links. That’s it. Before Firefox supported tags, all my bookmarks were ordered in nice folders and everything was fine; then Firefox began supporting tags, so I thought I’d never need folders anymore! Well, now because of my laziness and the poor implementation of tags in Firefox, I have really hard time finding THAT bookmark. Sure, I use tags, but sometimes I tag a bookmark “uni”, others “university” or “school” or “unimi” or “physics” and it’s really hard to find something when you need it. Directories are hierarchical and that’s fine for me. I know a lot of people just put EVERYTHING on the desktop but I’m not sure making their files “disappear” is the best solution. Oh, can we please just use $HOME/ as the Desktop by default? It just makes sense.

  9. Horace says:

    Am I the only one seeing a lot of problems arising with the tag-based file-management and the ‘abstracting the file system away’.

    Simple example – I always keep my music library extremely well organized, with Genre/Artist/Album folders. I always kept it that way when I used Windows, and when I started to use Linux, I just had to mount the drive, and I knew exactly where every single song was. Even if I hardly ever browse the file system manually (I access it through my Rhythmbox library), it’s good to know that everything can be found with a minimum of fuss.

    Now, say I was using one of these search based file systems from the onset, just dropping my music, which is stored in a location I don’t know and arranged with an order I don’t know, and some time later on wished to switch operating systems. There is no way I’d be able to find my files and begin using them – unless the two OS’s tag and store metadata about the files in exactly the same way. Even if it’s not switching systems, if my system tanked and I reinstalled it, I would need to wait for it to index my 300GBs-odd of documents and media before I start using it.

    That doesn’t strike me as a system I would like to use.

  10. Fred says:

    Maybe I should get this out of the way… Get of my lawn! 🙂

    But seriously “abstracting the file system away” OR “But this is 2010 and we just don’t want to party with files or management any more” in my opinion is a BIG step in the wrong direction for educating/helping users. Great for putting more money in the pockets of people that understand the OS though.

    The more that abstracting is implemented, the less the user understands how the operating system works. And when there is a need for troubleshooting or similar activities were the user actually needs to know how the OS works, or how the program they are using interacts with the rest of the system/desktop, he/she is dumbfounded.

    As an example. My roommate uses a program on winXP that controls the playback of audio files with the use of a foot-pedal. Sometimes it won’t play a certain mp3. So I usually open up explorer, right click on the file and re-encode it with VLC. The way my brain is wired is I see “everything is a file and I want to perform an action on that file”, not “everything is an action and I want to find a file to perform it on” (hope that made sense). But my point here is I understand the simple concept of a file-system, but my roommate does not. Everything is increasingly being abstracted from her. When she can’t play her audio file with her foot-pedal program, she’s stuck, because she does not really understand the concept of a file sitting on the file system (she didn’t put the file there manually, that action was abstracted and the software automated the download and placement of the audio files). I believe this is a perfect example of how “abstracting the file system away” hurts users.

    Another interesting thing here is that the developers that are “abstracting the file system away”, have a complete understanding of the file-system in their head. I don’t think they really realize that. So when they abstract it in future desktops, they aren’t really abstracting it from themselves only future users.

  11. doood says:

    Horace and Fred, above, make very good points.

    How about making tags be an abstraction for symlinks? That is, tagging file “FILE1” with “TAG1” is the same as creating a symlink “tags/TAG1/FILE1” that points to “FILE1”.

    On another topic:

    Please do not make desktop icons a necessity. I like my desktop entirely empty, thank you very much 🙂 . I would like to be able to keep it that way.

  12. This thinking is moving in the right direction. I think the ideas are relevant and in line where things are evolving to.

    While I am not a great “tagger” I have come to terms with this in email, blogs etc. It makes it much easier to find things when you need them.

    For my partner it would also be much easier…. she can never remember where she puts anything… files, emails, music etc. etc.

    I like the sound of this.

  13. Jeaquares says:

    That’s just very nice. I only can say that I love it and just do it.

    Good luck!

  14. Willy900wonka says:

    Since this is a “modern” interface, first read the codasyl specifications; then change the terms to suit. Data shadowing becomes “Indestructible”.
    File reconciliation and merging becomes “Joining Stuff”. Journaling to a cloud becomes “Sky”.
    Nice first cut though.

  15. Chris Swetenham says:

    I love these ideas and the ideas of Task Pooper – there are a couple of ideas I haven’t seen mentioned elsewhere though.

    Firstly, blur the distinction between files and an application window with that file open – I don’t see why the files I have currently open shouldn’t be at the top/start of the most recent files view, why I couldn’t search among open files just as in recent files, etc.

    Secondly, have a workspace/desktop associated with each Task – so I can see the files, contacts, etc associated with a task, and so I can open/close my entire task workspace at once.

  16. Pingback: Thoughts About Tagging & The Future of File Management « Mandriva Linux and Random Stuff

  17. I think that the ideas in the post are great. Using tags allows the user to make fuzzier & less rigid categorisations and spend less time & effort maintaining their folder tree well-structured (I wanted to write about that aspect in detail but what I wrote was very long, so see my blog if you want to read that).

    GNOME 3 is meant to feel good to both geeks and “normal” people. I’ve asked some non-geek people and they don’t seem to think in terms of “finding a file and doing something with it”. They think in terms of “launching an application and opening a file with it”. So tagging would really make working with files much easier for this kind of users.

    I also agree with the people who said that we shouldn’t discard traditional file management. First, many people have really got used to it and wouldn’t want to change it; second, there’s an excellent point that Horace made: having all those tags would make switching to another OS problematic because the metadata would probably disappear or be unreadable by the other OS.

    My suggestion is that we could have two file management programs (a “Tree viewer” and a “Tag viewer“) or at least two modes in the file manager.

  18. John says:

    Those are some sweet paradigms your looking at! 🙂 I’m really excited about the direction this is heading and I hope there will be consent for this. The kind of paradigms this is fresh and definately where this should be heading! 😀

Comments are closed.