GNOME usability hackfest

Saturday, October 25th, 2008

The GNOME user experience hackfest in Boston was a great way to spend the worst week in Wall St history!

Though there wasn’t a lot of hacking, there was a LOT of discussion, and we covered a lot of ground. There were at least 7 Canonical folks there, so it was a bit of a mini-sprint and a nice opportunity to meet the team at the same time. We had great participation from a number of organisations and free spirits, there’s a widespread desire to see GNOME stay on the forefront of usability.

Neil Patel of Canonical did a few mockups to try and capture the spirit of what was discussed, but I think the most interesting piece wasn’t really possible to capture in a screenshot because it’s abstract and conceptual – file and content management. There’s a revolution coming as we throw out the old “files and folders” metaphor and leap to something new, and it would be phenomenal if free software were leading the way.

I was struck by the number of different ways this meme cropped up. We had superb presentations of “real life support problems” from a large-scale user of desktop Linux, and a persistent theme was “where the hell did that file just go?” People save an attachment they receive in email, and an hour later have no idea where to find it. They import a picture into F-spot and then have no idea how to attach it to an email. They download a PDF from the web, then want to read it offline and can’t remember where they put it. Someone else pointed out that most people find it easier to find something on the Internet – through Google – than they do on their hard drives.

The Codethink guys also showed off some prototype experience work with Wizbit, which is a single-file version control system that draws on both Git and Bazaar for ideas about how you do efficient, transparent versioning of a file for online and offline editing.

We need to rearchitect the experience of “working with your content”, and we need to do it in a way that will work with the web and shared content as easily as it does locally.

My biggest concern on this front is that it be done in a way that every desktop environment can embrace. We need a consistent experience across GNOME, KDE, OpenOffice and Firefox so that content can flow from app to app in a seamless fashion and the user’s expectations can be met no matter which app or environment they happen to use. If someone sends a file to me over Empathy, and I want to open it in Amarok, then I shouldn’t have to work with two completely different mental models of content storage. Similarly, if I’ve downloaded something from the web with Firefox, and want to edit it in OpenOffice, I shouldn’t have to be super-aware or super-smart to be able to connect the apps to the content.

So, IMO this is work that should be championed in a forum like, where it can rise above some of the existing rivalries of desktop linux. There’s a good tradition of practical collaboration in that forum, and this is a great candidate for similar treatment.

At the end of the day, bling is less transformational than a fundamental shift in content management. Kudos to the folks who are driving this!

Update: thanks mjg59 for pointing out my thinko. The Collabora guys do great stuff, but Codethink does Wizbit.

104 Responses to “GNOME usability hackfest”

  1. Matthew Garrett Says:

    I think that’s probably Codethink rather than Collabora.

  2. Agustin Benito (toscalix) Says:

    Maybe the Gran Canaria Desktop Summit: GUADEC + Akademy 2009 can be the right place to improve what freedesktop is and can be in the future:

  3. Kamujin Says:

    Sadly, for me, the word GNOME conjures the thing I dislike most about the Linux community. Don’t think this is a Linux hate comment, as I am a huge Linux fan.

    I use Linux as my primary OS. I use GNOME. On of my pet peeves with GNOME has to do with Nautilus. You see, unlike just about every piece of good software out there, Nautilus will happily move file and folder to the trash bin without the option of prompting the user. I am quite aware that it will prompt the user before deleting these files or folders, but this is sub-optimal. There are a number of scenarios where a minor fat finger can turn into lost data under this scheme. For example, if there are a large number of files in the trash bin prior to a unintentional move to trash operation, the user will have a hard time identifying their mistake prior to emptying the trash bin. This is also obviously wrong to any good programmer.

    This “wrong feature” is not what I dislike most about the Linux community however. It’s the response that I get or that I’ve seen others get when they try to report this problem. In many cases, they are dismissed by being told that Nautilus prompts before permanently deletes the files. Clearly the respondent didn’t read or understand their original submission. This normally invokes the response that they are aware of this behavior, but that Nautilus needs to prompt BEFORE files are moved to the trash. At this point the responses turn to the “Linux is not Windows” type of insult. Honestly, I don’t think Windows has a monopoly on good design and I don’t see why someone would advocate an inferior design for fear of being perceived as too much like Windows.

    This is what I dislike most about the Linux community. Too many people in the community put their emotions before reason. To many people are willing to spend an infinite amount of energy attempting to build the better mouse trap instead of adopting a widely accepted best practice.

    Innovation is great. Innovation is fun. It needs to be balanced with pragmatism.

  4. Steve Says:


    KDE has already started this kind of semantic tagging with the nepomuk project ( You’ll notice that Mozilla is also implementing support. If GNOME came on board, we’d be several steps closer to a semantic desktop. Also, the KDE imlpementation of ‘Activities’ is based on nepomuk. If the gnome implementation was also based on nepomuk, both kde and gnome applications would be able to react to a change of activity, regardless of whether they are running in a plasma workspace or a gnome workspace.

  5. Flimm Says:

    Glad to see some action!
    Isn’t great being part of an open project? There’s stuff happening all the time.

  6. Michael "Nepomuk" Howell Says:

    I agree with Steve. Nepomuk ( is not a KDE project (only the integration of Nepomuk and KDE: Nepomuk-KDE ( is). If both KDE and GNOME adopted Nepomuk, it would be a huge step closer to a semantic desktop.

  7. Michael "Nepomuk" Howell Says:

    I agree with Steve: if GNOME is going to implement this, it’d be best to implement it on top of Nepomuk. Nepomuk ( is _not_ a part of KDE (see for info on the integration project). They have done some work with Eclipse and Mozilla as well. If GNOME came on board, Nepomuk would basically become a de facto standard.

  8. Thorsten Wilms Says:

    It seems many people immediately understand how tagging/categorisation makes so much more sense for organising photos and music files. But outside of these areas, interest hasn’t been as large.

    I think to minimize friction due to differing implementations, tagging/categorisation should happen on a level below applications like image browsers and music players. There has to be a common and reliable way to store, backup and exchange the meta-data with the content. This aspect is the reason why I’m not fond of separate databases: They make me think of how to handle backup and restore and discourage doing things on a per file basis.

    As you mentioned, the user having to deal with different mental models in the same realm is not good. But it is likely to happen if you keep the hierarchical filesystem beneath. It will still determine where things are stored in an implicit fashion (a path with a mount point somewhere). It should be considered to handle storage location as an attribute of files/objects. This should also be handy for tracking copies on other systems and origins of downloads.

    Kamujin: If you bring up a dialog asking back each time on a very common operation, a portion of your users are likely to develop automatic behaviour to quickly OKay such dialogs without actually paying attention. All that’s left is a more or less slight annoyance. I think offering Undo is a much better strategy.

  9. If we already do it this way, it must be wrong. Says:

    […] the way EVERY SINGLE THING works. Look at Mark Shuttleworth’s coverage of a recent Gnome usability hackfest in which no actual hacking was done. There’s a revolution coming as we throw out the old “files […]

  10. erichbla Says:

    One thing I have noticed happening on the more serious web development world is the “active links” pattern.

    I’ll give you an example. Say you got instant messenger and email functionality built. Now, you add a list of people on a web page and bind the right click to the options to invoke the instant messaging and email functionality. Very dull so far. Now what the people are building is a standard way invoking these things. Then all the 3rd party developers have to do in ANY applications is to write something like me@somewhere and voila – every single application can offer all the functionality, of which some is 3rd party plugins as well.

    The idea enrichens desktop because then you could actually point at nearly anything, get a list of what you can accomplish with your target, and click away. It would make developing intruitive applications on top of the main stack fast and easy. That is something that is missing from the Gnome desktop platform at this moment!

    Please notice though that the idea is enabling in nature, and people still have to use it properly in order to reap the maximum benefits. It is not a silver bullet per se.

  11. erichbla Says:

    Ouch Mark, your blog comment filter system is nasty. Not it only tags very eagerly innocent stuff as potential spam, it also wipes out anything that looks like html tags. I tried to write the action:email tags around the me@somewhere in my example! You should just escape the strings.

  12. Alex Says:

    I absolutely agree that whatever comes of these discussions must extend across desktop environment boundaries. I think the upcoming GNOME 3.0 would be a great opportunity to collaborate with KDE in many areas, not just file and content management. The users should be able to expect all applications in the Ubuntu repositories (or at least main) to play nice with each other. We have the means to do it (DBus, Nepomuk, QGTKStyle, etc), so let’s do it!

  13. Michael Glasser Says:

    For years now I have been noting the benefits of the OS X “media browser”. It allows for novice users to think in terms of “pictures” within “image albums” and “songs” within “playlists” and these ideas can be used in many applications. In other words, if I use my photo organization tool to organize my photos I can look for those photos using that system in *other* software. It is brilliant and helps not just novice users but more advanced users as well. And, best yet, it helps educate new users on how to use files and folders – it can act as “training wheels” while not getting in the way of advanced users (and even offering them benefits).

    I am not sure Linux needs to completely eliminate the file/folder metaphor. It works well and is very, very well established. If it were missing then people coming from other platforms might feel it is too alien. And, really, I am not sure what can be done to replace it.

    What can be done is to have some form of “content browser” and easy to use and set up “smart folders” where you can define what type of content you want to “capture”. Have it come with pre-made, commonly used “smart folders” and make them easy to get to.

    If all of the software on a system can be made to be system-file-dialog aware, then adding these to the Save As / Open dialogs would allow all programs to “tap into” these capabilities without the authors of the programs having to do extra work or make changes as things improve. Might also be a good idea to have a floating “content browser” where you can just drag and drop items.

    If you want a good laugh, though, talk about these things with the people in news://comp.os.linux.advocacy. To many the very idea that file browsing can be confusing for some or that there might be a better way… or even the idea that consistency has huge benefits… is a horror. They fear it and lash out. Sadly this is seen too often with Linux supporters… the argument being that if people would benefit from such things then Linux would already have provided it or that to make things better would somehow limit choice. Bizarre. Such thinking runs rampant with Linux “advocates” however, and slows down the speed at which Linux is adopted and improved.

  14. Dread Knight Says:


  15. orlando_ombzzz Says:

    please, before advance in this “change-of-paradigm” changes, fix the Nautilus-cannot-thumbnail-pics-without-eating-100%-CPU problems; i experience this kind of nasty behaviour all days and i saw this mentioned in the “real life support problems” from a large-scale user of desktop Linux presentation [0]

    thank you


    have exp

  16. PlasticBoy Says:

    […] Shuttleworth’s notes on the GNOME Usability Hackfast with some interesting mockups. […]

  17. Cory Hamma Says:

    There are a lot of great concepts that should be brought into the discussion of alternative filesystems. One substantial question — Is it important to create an alternative filesystem just for the UI, and leave the existing file and folder structure behind to accommodate existing development? On the issue of deleted files and version management, the Novell technique of simply keeping old versions of files until disk space ran out seems to be a concept worth revisiting. Deletion should simply be a way of hiding the file from the user until they need it back, or run out of space and overwrite the file. Similarly, with the advent of 1.5 TB hard drives, it seems only logical to backup everything user-created or frequently viewed until the oldest stuff simply falls off the edge. Of course, the algorithm that determines what gets deleted would have to incorporate the file metadata and all sorts of statistics.

    Perhaps offering the users a voting choice on files, like a sliding scale to show how likely they believe they are to need a file in the future, would assist with creating metadata without taking a lot of time.

    It is almost as if we need a return to the PARC days with a significant amount of user testing on the new ideas surrounding filesystem/content management. We should encourage collaboration between university psychology departments and CS departments. The psychology departments have eye-tracking equipment, video recording equipment, controlled labs, experience replicating experiments, the ability to bring in specific groups of subjects, and a large supply of student subjects. The CS departments have the coding skills needed to throw together test UI’s to test a particular feature. You can’t just write a successful file and content management system without some controlled feedback.

  18. Flavio Says:

    I just want to join the other comments about Nepomuk. I’m not very much into the details, but I know that Nepomuk has been an active project for years now, has been tested and implemented in KDE. Looking from the outside it looks like a perfect match.

  19. pwl Says:

    The best system that I’ve seen that provides a unified name spaces, database, and file system is the very notorious Reiser File System. You can find out more at:

    What I like about it is the ability to search, find things, and the way that it can handle tiny chunks of data in their own tiny files as well as massive data files and directories with massive amounts of data. Who needs a database when one has a system like ReiserFS?

    Bringing the advanced file system name space and search capabilities upwards into applications and presenting it to the user ensures that one uniform model is presented from the ground up through all layers of the illusion to the user.

    Maybe the current implementation has problems but it can be improved…

  20. Jonathan Paul Hopkins Says:

    This is just a curiosity arising from the very common and standard use of nouns as modifiers in English:
    “real life support problems” ….

    In such cases, ‘life-support’ would better be hyphenated.

  21. Paul Kishimoto Says:

    Mr. Wilms brings up my biggest worry about semantic systems: they don’t align as naturally with filesystem boundaries. With a hierarchical filesystem and known mount points, I can easily tell which of my documents are on my NFS share, on my desktop, on my laptop, etc. This is reassuring when dealing with important documents I don’t want to overwrite or lose to a disk failure.

    The analogy from some semantic web applications (digg and similar) is that content which is popular is not cared for and can disappear without consequence, but this is not true of a user’s data. If I rip a CD to disk and then forget about it for months, I would like the files preserved and still easily found without any interim babysitting of tags.

    There are probably creative ways around this sort of problem—e.g. documents with a “unique” tag could be version-controlled across all participating systems (home and work desktops, laptops, MIDs, etc.); documents with an “archive” or “important” tag are stored on and retrieved from a designated backup device; and so on. However it’s done, though, user reeducation will be needed to help people be confident about the whereabouts and security of their data.

  22. Rooker Says:


    Although a lot of Linux people can be like that, gnome in particular seems to attract some truly “special” people. Should have seen the initial response when they came out with “Spatial Navigation” and set back window UI design by about 10 years. The Pidgin developers tend to behave the same way.

  23. Fulano Says:

    The Apple Newton did something like you suggest (which is also what Reiserfs 4 and winfs were trying to do i think). The idea is that instead of having files/directories, there is a “data manager”. An application (for example, a IM client) sends to that manager the list of friends – but the data he sends it’s not just raw data, he just sents the friend list in a XML-ish format. When the friends are connected, it also stores that information in the central data manager. Now, other application, like say, a mail app, can ask the data manager when a friend connects. He doesn’t gets the information directly from the IM app, but from the data manager, who sends notifications to everyone who requested information when the IM tells the manager that someone has connected. This scheme can also solve your problem, because once you handle all the data with this manager, the idea of “file” and “directory” dissapears

  24. SW Says:

    There seems to be this huge push to take everything and turn it into a search function.

    I don’t want a search function. I don’t want intelligence. I don’t want to have to examine the best guess of the day to try to find what I’m looking for.

    I want to organize my shit, and see it where I left it, as I left it. I want deterministic rules that are predictable.

    To put it another way, it’s a tool, not a secretary. Stop trying to make everything fuzzy just because you think it’s cool and would make it easier for brainless people to find things. Brainless people aren’t getting anything done in the first place, so stop dumbing down the tools on their behalf.

  25. Marinus Says:

    What’s needed is a new way to work with files. I think the file system should be abstracted in such a way that you don’t care where files are stored but rather how you want to access them. For example when I receive a file I could tag it with work,finance,project x. When the file is needed all
    I need to do is enter tags until I find the file I need. I should also be able to access older versions of the file if needed. Some tags could be smart i.e. music. If I’m search for music and I use the tag music I could search for music.bpm or music.length. This could be achieved by creating a FUSE semantic file system. Search for files do a chdir with labels & smart labels [tab completion a must]. There’s been a couple of similar ideas, projects and research but nothing I’ve seen so far is polished. I think the time has come to let go of the inherent limitation of organizing information in a hierarchical fashion.

  26. Jon Smirl Says:

    Directories in file systems are an old way of thinking and are no longer needed. They encourage a single scheme for finding a file, the fully qualified path name.

    Compare Gmail and Outlook, it is the same paradigm. There is no absolute path to a messages in Gmail, everything is located by doing queries on tags. Outlook is folder based and works like directories.

    There are a few file systems where files are located by querying on tags/content instead of by file names. In general this capability is layered on top of existing file systems. Layering on top triggers the synchronization problem – when you turn the turn the computer on the query layer has to rescan the whole disk since it can’t tell what has been changed.

    I’ve always thought that some day databases, file systems and revision control would merge. ReiserFS also shares that vision but it probably won’t be making anymore progress. Lustre is another implementation that has some tagging capabilities.

    Gmail had the courage to drop the directory model. That hasn’t happened yet for a file system. It better happen soon, it’s going to be impossible to find anything on 10TB disks.

    Lustre also has another interest quirk. They’ve reprogrammed this disk drives so that they don’t work on blocks. Instead you open a file by ID (64b integer?) and read/write it. The drive itself figures out how to allocate the blocks for the file.

  27. Seth Nickell » Blog Archive » Content doesn’t exist Says:

    […] I like what Mark’s saying. […]

  28. Kjella Says:

    If you really wanted to do something for ease of filesystem navigation, make a special folder / bookmark system that works everywhere. If I create a bookmark in Dolphin (KDE), it’s there when I try to save in Amarok (KDE). If I open GIMP (GNOME)? Nope. Opera (QT)? Nope. Java app? Nope. I haven’t tried it from Gnome to KDE but can’t imagine it works any better. I’m not talking about anything huge or innovative, I’m mostly talking about something Windows had ten years ago. Basicly, a way to define some special folders

    $GENERAL = /default/other/than/home/dir
    $DOCUMENTS = /foo/bar/Documents
    $MUSIC = /foo/otherbar/Music
    $VIDEO = /otherfoo/bar/Video

    Then, whenever any application needs to show a file dialog they talk to this system, and use/display these shortcuts somewhere. 99% of my file system confusion happens because I CAN’T ACCESS THE FILE IN THE SAME WAY. If I always had a music icon that’d always take me to my music dir, things would be so much easier. Start crawling before you start with some hyperfancy semantic net kind of thing.

  29. OSPolicy Says:

    Could you clarify what you’re trying to propose?

    A file system is a thing that manages a namespace that maps a name to some data. The name can take many different forms including a path and file name, a desktop icon, or whatever. The data are usually on some sort of persistent mass storage, but there are RAM-based storage systems also. The data can be data intended to be directly read or written and interpreted as data, or it might be data that represents a link that points to other data.

    There are, of course, many other types of names and data and storage media.

    So if you’re talking file systems, you either want to add a new type of name, change the name-to-data mapping function, or change the way that the data are stored.

    Alternately, you could be talking about building something new that sits on top of a file system and enhances it in various ways. You seem most concerned about finding data, but you may have other criteria in mind. In particular, semantic systems may be concerned with synthesizing new data from existing data. Other goals are easy to imagine.

    A lot of work has been done on all of these areas, but it’s hard to know what’s relevant to the goal here as long as the goal remains so fuzzy. Anything you could add to take this from “it would be nice if, you know, stuff was, like, better” to something more concrete would be useful, IMHO.

  30. gpmasury Says:

    Here is the low hanging fruit of possible solutions, a GUI version of the ‘find’ command.

    Although users might forget *where* they put their files, they will remember *when* they touched their files; and whether that touch was a read, move or edit. A widget that shows the files across the file system that where touched at a given time, and the file change made, will help users find a large percentage of their misplaced files.

  31. Fran Says:

    If you are going semantic, don’t forget to bring linguists aboard. You don’t want to end with dresses designed by carpenters.

    Please, remember that «tag» must be a shorthand for both denotative and connotative semantics. You can have one and only one “source format” tag, i.e. “ripped from CD”, or “host device”, i.e. “laptop”. Succesive changes may overwrite or leave that kind of tags but not add more values. Meanwhile, the “style” tag in a music file may have many values and they aren’t exclusive between them. The distinction is transparent for the user, who will just look for “laptop, ripped from CD, folk”, but not for software, which must avoid tag dementia by excessive semantic aggregation in aging file systems.

    And please don’t forget internationalization either. If a Spanish user tags a file as “configuración”, an English user should be able to find it by “configuration”.

  32. Michael Glasser Says:

    For years I have been noting the brilliance of OS X’s media browser. Users can, for example, set up their pictures in photo albums and their songs in play lists and then, from a movie editing program, have access to not just the file (songs / pictures) but their play lists. And they can do this without knowing where their files are or what a file even is. Third party software can – and often does – use the same media browser, so it is not just tied to Apple’s iLife software or Apple software in general. The media browser not only offers a very good alternative for novices and pros alike, it also works as “training wheels” to help understand the concept of files and folders.

    As good as the media browser is, I think Linux could make it better: make it more flexible, have it so you can create your own categories (recipes in cook books anyone?), etc.

    In addition to the media browser, of course, you can have an excellent search (Spotlight / Beagle / whatever). Finding files then becomes something the novice user can quickly learn to do.

  33. hype Says:

    “Notifications Center” seems like an exellent idea.

  34. Nick Says:

    One request for this new semantic filesystem… Can it please just apply to user documents/home directories and be a DE configuration choice rather than pushed to be part of the core?

    I personally have no problem organising my stuff for Documents, Images, Music, Recent Downloads, Video etc but would be happy if some semblance of time was incorporated for those things, not for storage (users shouldn’t just dump their crap everywhere and not expect to lose it, that’s not how the real world works, it’s not how the metaphor should work) but similar in vein to the OLPCs journal I think a similar concept could apply to the file manager. The ability to look at open, today, common, recent, last week, last month etc files would be a welcome addition and I think a journal based system would play to those strengths.

  35. Tom Says:

    Well .. it was the “_GNOME_ user experience hackfest”. So anything with a “k” in it is out of the question. Even if Nepomuk isn’t really KDE the Gnomes will not adopt it. They will find some nitpick reason that will make it “ooh so not suitable” for Gnome and they will invent their own incompatible implementation. It will suck and will need a reimplementation in after a few years creeping along. ( GnomeVFS -> GIO etc. anyone? )

    Novell and Red Hat employees want job security not good solutions. And they basically control

    Sorry for the rant, but that is way it used to be and I don’t see that changing.

  36. Jose Hevia Says:

    I love files, please don’t copy Microsoft way of doing things. It’s bad bad.

    You say people love searching on internet. Not really, people love googling internet. Google is so superior design 90% of the people use it because of that.

    I love Linux, but I’m not going to be kind here, we need autocritic.

    Google is:

    –> Fast, really fast. I mean, way faster than ubuntu. Look at apple search on their OS, or search on their web page( look at the up-right corner, every time they save a file, they index it, so search is instantaneous.

    Google takes 0,2 seconds on a simple request, ¿ubuntu? seconds, minutes, hours.

    Ubuntu(linux) aproach is ugly, indexing take a lot of resources at ramdom times(I disabled indexing because it made ubuntu irresponsible at random times, every time the laptop started to suffer I “top”ed and there it was, the indexing daemon killing the machine, and searching is slow.)

    –>Simple. So simple, before google I had to connect to altavista, close the annoying popups, click advanced search, and put something like:

    potatoes AND Spain AND (bananas OR carrots)

    (Not kidding, for every search you did you needed to do that, or worse). The time I saw google “spaces as AND” design I was sold.

    –>Powerful. The core of google are smart people that love solving hard problems. The core at beagle team are people that code on high level mono so they don’t need to solve low level hard problems.

    Needless to say, I think search is one of the fundamental linux flaws today.

  37. Jose Hevia Says:

    What I tried to say is that files and folders are a proven design that works.

    Search is an area when the only thing is needed is work, hard work, that make it f*ck*ng work like google and less exoteric-experimental things.

  38. Jose Hevia Says:


    Your “wrong feature” is something a lot of people don’t agree with you. It’s so simple,

    Don’t you understand that for you is a problem but for others is not?

    People is different. I am a grow up man and I’d dislike the computer talking me like a child that doesn’t know what he does. I never lost a file the way you comment, so I don’t like clicking a popup every time I remove something(20 times a day). If I do something important I backup.

    “Too many people in the community put their emotions before reason.”

    Every man and woman on earth put emotions over reason, you included. But you want to impose your emotions, wrongly considering what you feel as fact(good design is only good design for your necessities not for other’s ones), and what other feel as emotions.

    People is different, with different necessities if you need to erase things more than 30 times a day because you use your computer a lot, you are different from the guy that only removes a file over a weekend and tend to wrongly remove thing because he doesn’t have practice.

    Geeks use to have different necessities that “normal” people . This doesn’t mean they are against you.

  39. Ben Martin Says:

    OK, OK, I’m plugging my own project 😐

    I tend to rely on Bacula for multi versioning, sort of like outsourcing that part and then turning around and mounting the VC system as a filesystem.

    As many have mentioned, using RDF as a base is a good choice, if its Nepomuk or not. As an aside, I use RDF for metadata handling and it works quite well. Being able to view a file, have a d-bus signal sent and a daemon work out “hey, these other 7 files are related or this is next in the webcast series, here is a link on your desktop”.

    For the interested, see also

  40. Jonathan Day Says:

    This seems an intriguing problem. Database filesystems have been tried but are not (as yet) fast enough or featureful enough to be useful. Object-oriented filesystems have been around since the early 1980s at least, possible 1970s, but I’ve not seen them used much and it’s not immediately obvious how they’d simplify searching, although they are very nice when it comes to doing things with files you have found. (I do not consider file associations as object-oriented. As far as I know, there are no OO filesystems for Linux, *BSD or Windows.)

    Unix-like filesystem concepts work very nicely with piping, but very few user interfaces can exploit piping or intelligently handle symmetry when it comes to pipes. (Attaching a pipe to a file is logically no different from attaching a file to a pipe. Inputs are always the source, outputs are always the destination, pipes are always the transfer mechanism.) Again, though, even with a smarter UI, pipes don’t help to find things, they only help in making things easier once you’ve found them.

    So far, I’ve identified possibilities for improving the user experience with files they can point to, but that still doesn’t answer the key question in the article. There are some possibilities that seem like they would help. A fully transactional filesystem should be able to identify the N most recent transactions that were fully completed, which would include identifying where a file was placed. However, this is only useful if the file you “lost” was one you very recently wrote to.

    We can use metadata. There are plenty of projects out there (especially for education) that collect metadata on files and allow people to browse project servers via those metadata tags. If this were to be incorporated into a filesystem and UI sufficiently, you could produce whatever tags you like and auto-generate catalogues based on whatever perspective and/or hierarchy you wanted. This depends on users providing metadata and/or “expert system” shells that can guess at tags the user would likely want to use. It’s also heavier-weight and loses some of the keep-it-simple paradigm that is key to good engineering, but produces all of the benefits of a database filesystem without the need for a database.

    (Metadata can be stored in a special case of a parse tree, familiar to compiler-writers, where AB=BA. As the name suggests, you’re doing an n-ary tree search, not a database search, which means you can represent the parse tree using existing filesystem concepts – directories and soft links.)

    Metadata searches are only as good as the user and/or expert system. As we can’t depend on either to be that reliable, we need to look at other ways of producing the same result. Self-organizing networks offer a possibility. Instead of trying to store humongous amounts of metadata, simply add the knowledge of the file to the self-organizing network and use that to generate a fixed number of tags. (Fixed numbers are much nicer to work with.) When a user wants a file but can’t find it, they simply tell the self-organizing network to identify files similar to one or more example/reference files. The network generates the tags, builds a directory using one tag, then prunes it via the other tags until you get down to an acceptable number to view* or you establish there is no common denominator.

    *The idea of using set logic to reduce the number of examples down to an acceptable number was one I first saw demonstrated on the Chemical Abstract System Online (CAS Online) service in the 1980s. Rather than try to automate getting an exact match, they semi-automated getting a good-enough match and the user could pick from the results. This is definitely preferable to the usual disk search, which can potentially regurgitate all of the files on the disk and which doesn’t usually help the user much at all.

    Now, can we expand these sorts of concepts to reliably (and that word is extremely important here) work across networked filesystems like NFS and Lustre and also across the web? This is a much harder problem, but it is not unsolvable. In the same way ccNUMA provides access to distributed memory as though it were local and where it allows for memory pages changing by marking cached pages as dirty, we could certainly have all remote sources go through a caching meta-filesystem (a cross between SQUID and what CODA wanted to be) where you were subsequently provided local copies until such time as the cache was marked dirty and a new copy was obtained. This won’t work on existing installations as-is, it would require scalable reliable multicast (SRM) technology to handle corporate or Internet use, and would certainly necessitate network filesystems and webservers supporting PUSH technology. If you don’t have the messaging infrastructure in place, you won’t get the scalability required for these sorts of purposes.

    But could it be done, even if just in theory? Oh, certainly. None of this requires anything fundamentally new. Virtually every component I have listed has existed for longer than Linux itself, and even the few that are more recent are still many many years old. You are not looking at anything that remotely approaches invention. What you are looking at is some serious stapling, gluing and application of gaffer tape, at least to build the reference implementation. Everything you need to prove this is useful and usable to real users is already out there. A mix-and-match reference version that was fast enough for anyone but a power user could be assembled in months at worst, possibly weeks if (like me) you’ve already done almost all of the research needed. The raw desktop version should not take a single programmer more than a fortnight (ie: 80 hours of actual keyboard time, which may not be 14 days of wall-clock time, depending on whether this is their primary job, a second job or hobbyist work).

    These sorts of projects are fun in many ways, but the key problem is that those with the most free time to do open source work are the ones who don’t have the background to produce a solution. If they did, you would have seen a filesystem that did everything you wanted by Linux 1.0. You wouldn’t need to ask at 2.6.27. This, then, is the crux of the problem. Not “can we do it”, but “who’s available?” and “is it something we’d be willing to budget for?”

  41. Kamujin Says:

    Jose Hevia:

    You act as if there is no such thing as an option. Even the current system is optional. Thanks for proving my point though.

    BTW, nice condescending attitude. Did you intend to reinforce every negative Linux stereotype in a single post or was that just luck?

  42. dusan maletic Says:

    “We had superb presentations of “real life support problems” from a large-scale user of desktop Linux, and a persistent theme was “where the hell did that file just go?” ” – well, I have had a decade+ of real life Linux support at large University and that issue never came about. It is (in my opinion) a false issue. What annoyed and frustrated “my” users was mainly Nautilus. Almost no one used it. Problem – slow and inefficient, particularly in environment where sharing between Linux and Solaris systems was integral and necessary. And the systems with large amount of disk spaced shared via network. What Nautilus does in such cases – slows to a crawl or fails. Because it attempts to be too many things at once. What “my” users loved: ROX file manager. Why? It did all they needed from a file managing system and it did it FAST and regardless of environment … Please, first solve “file and folder” efficiently, than move on to new paradigms.

    “People save an attachment they receive in email, and an hour later have no idea where to find it. ” – that describes reckless user who will not have any help from “new paradigm” described here. That same user won’t tag his files and won’t be able to remember under what context to look to find his lost data. When introducing new paradigms, explore the expert users first. What would improve their efficiency? Than add that to the existing framework. (Expert user: user who knows where he have placed file received as attachment in his email).

  43. Vardogr Says:


    I don’t understand why it’s either/or. Why not give the simply allow the user to choose? Nautilus is decent, all that would be needed is a toggle for whether it asks you or not. It seems there are some people who don’t want that, however, and instead want to force other people into doing things their way, regardless of opinion.

  44. Jiff Bean Says:

    GNome rocks. Always has in my opinion. I also agree on the “normal person” comment above.


  45. LankyFrame » Blog Archive » Mark Shuttleworth: GNOME usability hackfest Says:

    […] […]

  46. ChuChu Rocket Says:

    It took so long and they still can not fix font to make it look at least as good as Windows.

    I am really losing my confidence in the geeks’ ability to sort out what is important for regular users, especially the GNOME geeks.

  47. Greg Says:

    Cool event, I’m sorry I missed it. there are so many opportunities to really change the paradigm of the OS and the file-system. Consider how disocrganized and scattered things feel on desktop when compared to self-organizing structures like in music in iTunes or conversations in GMail.

  48. ethana2 Says:

    You know, 90% of my problems with files would be fixed if Places>Recent Files actually had all the files I interacted with locally in it, and I could drag and drop files from it into applications. Do we really need more technology than we already have to do that?

    Another thing that bugs me is that Firefox decides what to do with files according to my firefox settings. Firefox should give the file to a separate app to handle all that, and that app should be able to use more detailed criteria than what the file type is. It should be able to attatch more information to files before passing them on. Firefox should pass all .torrent files to the sorter. Transmission should save torrented files where its told to on a case by case basis.
    The sorter should be able to tell Transmission that if it’s a jamendo torrent, it goes into ~/Music, and if it’s an .iso, it goes into ~/ISOs. Little things like that. Perhaps I want the video files I torrent cleared entirely from transmission but would like to host ISOs indefinitely?

    Expanding on that, an app should have an option to be passed a .torrent file, get it done, and get the contents given back to it locally. Firefox should be able to rely on some torrent library for .html.torrent files, for instance, and it should be invisible to the user.

    We need a central ubuntu system daemon for passing files around intelligently.

  49. Jason McMullan Says:

    I would like to see a user-level interface the fileystem as based upon ‘projects’, with transparent revision control.

    Projects would have the following properties:

    A name
    A distributed revision control repository (GIT, HG, BZR, et. al).
    Pointers to subprojects.
    A set of ‘storages’ to synchronize with.

    Storages can be local, removable, or network storage.

    Synchronizing local storage to removable or network storage is automatic if:
    * The removable/network storage’s head is an ancestor of the local storage of the project
    * The user has not disabled automatic synchronization.

    Synchronizing remote storage to local storage is automatic if:
    * The local storage’s head is an ancestor of the remove/network storage of the project
    * The user has not disabled automatic synchronization.

    Projects can contain themselves either directly, or through an indirect subproject path.

    Search could be ‘google fast’, as the only file indexed by search would the files contained in the user’s projects.

    Commits are performed automatically every few minutes. Automatic commits are ‘coalesced’ into named commits when the user creates a named snapshot of the projects. For example, if you had:

    Start working on my thesis


    And the user selected ‘Checkpoint the project…’ and entered ‘Finished bibliography’ as the checkpoint name, the
    revision log would be:

    Start working on my thesis
    Finished bibliography

    When projects are updated, synchronized, or noticed on removable medial, all the deltas not yet seen by the user’s search database are cataloged.

    The user’s search database could, if queried ‘2006 enocrinology study’, would respond with:

    1) Amy’s Doctoral Thesis (2 files, local)
    a) mythesis.tex (34 revisions)
    b) studies.tex (12 revision)
    2) Enodcrinology 201 Review (2 files, local, network:project://
    3) Enodcrinology 101 Review (1 files, removable:’Amy’s 64G USB Stick’ – last seen Oct 10, 2007)
    a) class_notes.txt (2 revision)
    Jan 12, 2006 12:33pm “Class notes on endocrinology – study hard tonight!”
    Mar 11, 2006 12:10pm “Opportunities for summer”

    Although (3) is not currently available, the user now knows where it is, and can get (at minimum) the changelogs for the files
    that matched the query. Note that 3.a “Mar 11, 2006” matched on search content, not changelog.

    Users can purge their search database of specific project or named storage media.

    — Use Cases —

    1) Amy is working on her doctoral thesis as home, and want to copy it to her USB stick for Bruce’s review. She can (a) drag the ‘Amy’s Doctoral Thesis’ project to the USB stick icon or (b) right-click on the project and select ‘Store on Amy’s Stick (32G USB)’

    2) Bruce gets the USB stick from Amy. When he puts in the USB stick, the ‘Amy Doctoral Thesis’ shows up on his ‘Current Projects’ places. If he wants a local copy, he can right click on the project and select ‘Store locally’. Note that the project will still also have ‘Store on Amy’s Stick (32G USB)’. Bruce can remove the USB stick, and continue to work on the project.

    3) Bruce makes local changes, and when he inserts the USB stick, his modification deltas are automatically copied to the USB stick. If there
    would be insufficient space for the changes, Bruce is notified, and the project is left unchanged on the USB stick.

    4) Amy gets back the stick from Bruce. Having made local changes, she receives the notification:

    ‘The ‘Amy’s Doctoral Thesis’ project has changes available from another source (Amy’s Stick). Please review them.’

    Amy then has ‘Amy’s Doctoral Thesis’ and ‘Amy’s Doctoral Thesis (Amy’s Stick)’. She can select both of them and:
    a) Use the system textual-merge tool to review the changes and integrate the projects
    b) Use the project’s application to perform the review and merge (ie video, photo, music projects)
    or, Amy can just look at the changelog of ‘Amy’s Doctoral Thesis (Amy’s Stick)’, hand-integrate Bruce’s review comments,
    and dispose of it.

  50. Wrathernaut Says:

    This is long overdue.

    The time to stop emulating a system which is barely adequate in the “real world” in our computers is NOW.

  51. Jonathan Day Says:

    Looking again through people’s responses reminds me of something I’ve said for a long time. The desktop metaphor was designed at a time when computers were aimed at the so-called “paperless office”. Having a “desktop” on the screen made sense in that context, because it literally was supposed to replace the top of your desk. As we now know, the “paperless office” isn’t even a useful goal to aim for. Once you accept that, however, then those metaphors which derive from such a goal must also be flawed – at least, insofar as they are still designed with a paperless office in mind.

    The logical thing to do, then, is to go back to basics. Perform the requirements analysis and specification phases of software engineering, with an eye to what people want from their computers rather than what problems they have when using computers as they are. If we’re designing software to a flawed specification, then the software will never be better than the flaws designed into it from the start. Personally, I don’t think the specification is as flawed as all that, so fixing user issues within it is perfectly reasonable, but at some point the ground work really needs to be done to determine the paradigm GUIs really should be using.

    Incidentally, this goal of replacing the entire desktop paradigm from the ground up would seem to be what Linux needs to seriously compete with commercial vendors. The commercial sector has the desktop pretty much sewn-up, making it hard to compete with them. It’s always going to be a game of catch-up. But their strength is also their weakness. If the desktop isn’t what people really want, it will take a decade or more to replace the commercial desktop environments out there with something more viable. Linux distributions couldn’t change overnight, but they could change far more quickly. Furthermore, if Linux defines the new paradigm first, it will be everyone else that is playing catch-up, allowing Linux developers to set the standard others need to beat, rather than forever trying to reverse-engineer other people’s.

  52. dmx Says:


    Aye, that is great stuff, but I think whats needed to do it right is a wider adoption of microformats. The idea that in my web pages, I can just throw a few semantic markup tags around content elements like addresses, phone numbers, geographical locations, and so on, and the browser can go “Oh hey, this is a microformat, I can offer to put this address into the users address book!” (note. offer! dont assume mr browser) , well that just makes the web blend into the desktop beautifully. Skype already installs hooks LIKE this into many browsers, but alas they aint microformat standard. I assume if microformats where adopted, skype would comply. Gnome, KDE, Windows and Leopard are now all integrated enough that agreements across OS vendors could make this a reality, with enough critical mass that it’d hit adoption. Best of all, the format is lovely and degradable, so old browsers wont get upset if they dont understand microformats.

    Man that would rock.

  53. PMC Says:

    Hey, great, let’s Vista-ize Linux. DE has copied everything else about the Microsoft look-and-feel, might as well get with the flow and copy the search features. Please note that the bitching and moaning from folks with obsolete hardware will be … immense.

    But since it’s the Linux desktop we’re talking about here, no one will actually care, except you guys, who don’t even realize (except one commenter who objects to it) that this was a design feature of Vista, and is implemented in Google’s normal privacy-invading ways in Google Desktop and Copernic Desktop Search.

    BTW, I use the latter, and have introduced it to non-Geeks, who easily get addicted. Moving to a PC w/o a way of doing this is like taking of your glasses when your eyes are 20/200.

  54. Markus Hitter Says:

    So, many people experience “lost” files from time to time. Obviously I’m doing something wrong, as this next to never happens to me. Whenever I think I need something later, I save it. Every application will ask me where to put the file … err … content and this is where I find it later. A folder naturally reflects what my intention is.

    Now the modern way of content handling appears to put contents whereever it falls, then to provide tools to get some order into it later. Clearly, loosing track of what one is doing it considered the standard, people keeping track of their work look aged, old-fashioned, silly.

    Whatever you try to enhance on the file system hierarchy (a very clean and intuitive tagging mechanism, after all), please consider those tidy people as well. There are people always having exact one copy of some contents. Humans, eager to throw away outdated stuff just for the sake of getting rid of it. Users, which use Tracker or Spotlight-like search tools less than twice a year. And no, they don’t have an internet-like mess on their hard disk, making desktop googling just obsolete.

    If you don’t harm tidyness, please go ahead. Changes are welcome, as they usually come with even more eye-pleasing graphics.

  55. DaVince Says:

    My 2 cents about content management: have an application that keeps track and remembers the last 20 files or so opened with any application. The program works like this: it’s split up in to three parts:

    – A daemon that keeps track of what application wrote data to what file (this should be possible, right?), and stores this info in a database.
    – A graphical application with a list of “applications that accessed files” on the left hand, and an empty pane on the right hand. Click any application in the list on the left and the right pane will show the files (+ document titles, possibly) it accessed (sorted by last date first).
    – An applet to quickly access the application and have some options/settings available quickly.

    I think it’ll definitely help those people who are a mess when it comes to file storage…

    And yes, I’m probably posting this in the entirely different place. If you like the idea, suggest it in appropiate places?

  56. Zac Says:

    Jonathan Day: Spot on.

    This is a good idea. Mark, don’t play catch-up with Windows/OSX. Aim higher and surpass them, as Jonathan says Linux can change quicker, but also learn from what they do right. Push Ubuntu to the future.

  57. Verb Says:

    Talk is cheap. Show me the code.
    -Linus Torvalds

  58. simplr Says:

    SW said: “Brainless people aren’t getting anything done in the first place, so stop dumbing down the tools on their behalf.”
    That is what M$ has done in Vista and is one of the main reasons that I hate it so much.

  59. Fran Says:

    It would help if we didn’t have things like icons spread through /usr/share/pixmaps, /usr/share/icons, ~/.local/share/icons, /usr/lib/$app/icons and so on. I get crazy looking for the application icons for my FluxBox menu. 😛

    Anyway, when folders are named by system structure (usr, local, share) instead of content (multimedia, audio, pictures), it will be always non-intuitive for People That Uses Contents, no matter how transparent they are for People That Uses Systems.

  60. Bugman Says:

    NEPOMUK is the perfect solution for this! If only the Nepomuk-KDE people would go through the Portland Project and coordinate with the Gnome people. GNU/Linux should have one, and only one, Resource Description Framework (RDF). This should be shared and modifiable by every program. For example the information in the Beagle and Strigi indices is a small subset of the RDF. The benefit of unification is that Beagle’s indexing can be used by Strigi and vice versa – and then any other software on the system can use this information as well as far richer information.

    The Nepomuk-KDE project sums up the usefulness of Nepomuk the best. Quoting directly from

    “The most interesting type of metadata is, however, the kind that cannot be extracted easily by an indexer and is not generated by the user manually. This includes for example the url of a file that is downloaded from the internet. Once saved on the local harddisk this information is lost. The same goes for the (rather popular) example of email attachments: Once an email attachment is saved to the local harddisk its connection to the email and with it the connection to the sender is lost. These are just two examples relating to the source of files. There are many more.”

    Now if only all GNU/Linux programs were Nepomuk aware, modifying the RDF database in a directory, say for example ~/.rdf, to preserve all these ephemeral links between files and the desktop user’s movements and also utilising this new type of data, then in the future we would be interacting with a radically different desktop.

  61. Mynah Says:

    From the point of view of a (power)user, I’m very interested in this discussion. I can empathize with the user requirements described. Over time I have added a lot of solutions, mostly little freeware gadgets, firefox addons, and, more recently, web services. I use shell extensions such as “DM2_window_enhancer” to offer places in the file system to store something. I know most of this stuff exists for Linux, too. It really doesn’t need to be part of the core or paradigm. Nobody is keeping you from having flat folder hierarchies, either.

    But I must say, *I hate tagging*. I always save stuff to certain default folders, online or off. If it’s a project, I might create a new folder for that project and set it as default or new target (link).
    Once in a while, put a date on the folder and start a new one.

    What really saves the day is my desktop search tool (I use Copernic, but there is Google Desktop, Spotlight and others). Files more than a year old all in one big mess on a large HD, and it finds anything I can remember to ask for. Also the many functions of TotalCommander, which are, however, hard to figure out. Unless you have a requirement statement as in this discussion, and can see how TC or one of the other gadgets can help.

    The problem is is to recognize your own requirements, and recognize a solution when it’s suggested. You can’t expect this from an intuitive user.

    Maybe there could be an interface for people to 1) set up their own use cases, like Jason did up there, 2) start a UC by name, from a file by shell menu etc. and 3) Open the necessary folders and apps. There would be some default UC for new users. (I haven’t thought this entirely through.) But I’ve set up some of my UC as electronic sticky notes containing a checklist, keyboard shortcuts and such.

    Now I’ll be following your links to get more ideas on data storage and retrieval, and if there are good ideas, I’ll implement them right away.

    Keep it up!

  62. Kamujin Says:

    The “desktop” as it exists today is the result of 15+ years of crowd sourcing. It would be ignorant of me to suggest that it can’t be improved, but it’s also naive to suggest that it would be easy to replace.

    Many of the ideas described here are dependent upon technologies that are not inherently tied to any one “desktop” ideology. Consequently, they don’t really suggest an improvement to the “desktop” as much as an improvement to computing in general.

  63. lefty.crupps Says:

    I’ve been frustrated with this for a while also. I’d say, create a standard API for file open/save/print and then use whichever Desktop Environment is chosen’s open/save/print dialog for all applications.

    So if I am in KDE, all apps look like KDE when I am managing files. When I am in Gnome (well, I’m never in Gnome, but…) all applications’ file management behaves like a Gnome app. This should be defined by and implemented last year, or tomorrow. Nothing should ever behave like Firefox’s filemanagement tho, its horrible.

  64. Scott Ritchie Says:

    The problem gets even worse with Wine-powered applications. Suddenly the user has _three_ modes of thinking about where their picture is – wherever they clicked on download, somewhere in ~/Pictures, and then somewhere in z:\home\user\Pictures.

    Wasn’t desktop search supposed to fix this? Is it possible to fix tracker or beagle so they can be reenabled by default again?

  65. Yep Says:

    Two things every OS should have by now:

    – BeOS-like metadata support. It was done, it worked fine, lots of apps used it, in ways nobody expected. This feature can give much more than ‘easy file search and tagging’. No experimenting needed. You can also look at WinFS, etc.; but it’s more or less the same idea, in a bloated way. Why add another layer over the filesystem for this? Keep it simple. It worked before, will allways work. Desktop search is a crappy patch to solve a very small part of the trouble.

    – OS X-like versioning. Haven’t tested it, but it looks great. And there are other places to look at (Novell and others). Timestamps, no duplication of files, only diffs, branches…

    Metadata and versioning is something a lot of apps are doing in an independent way, forced by need. That’s stupid, it is something any modern OS should do. Apps would be simpler and more reliable for users and developers if those were standard features. Two examples:

    – The BeOS mail client, storing each message body in a file, with all the other data – sender, destination, date… – as metadata. People only had to do a file search to find some senders messages; the mail client didn’t really need more than send and retrieve messages. How many bugs were avoided that way? How many more features you can do having these solved? Can you have a better desktop integration than this?

    – CVS, Subversion, GIT… If the filesystem handles versioning, they could dissapear into standard file managers. And they could be used by non-coders without any effort. How much trouble could you avoid that way? Think about how easier is having a file manager which manages archives transparently than having to use a separated app. By the way, why do I have to use a separated app in my Ubuntu for archives? Nautilus should have managed that from a long time ago.

    Some OS is gonna get this right first, and it would be great if it were Linux.

  66. Rob Taylor Says:

    For all those commenters talking about NEPOMUK, I should say that it appears that if there’s any kind of standard Freedesktop semantic desktop ontology, the current NEPOMUK ontology will be part of it. At least, this was the outcome as I understand it from Xesam 2 discussions at the desktop search hackfest. The work the NEPOMUK guys have done is stunning and takes us a long way towards our goals.

    Mark, thanks for bigging up Wizbit! I’m glad you liked what you saw. I hope we can all really push these ideas along into reality, it’s been way too long coming!

  67. Jose Hevia Says:

    Kamujin,Vardogr: :-) jaja, we agree on the principal.

    I prefer the KDE way of doing things(providing options for the user). I’m not against options what I’m against is about the intention to force what you like, what is good for you over others because “it’s good design” being it some users or developers decision. One of the good things of OSS is choice.

    It’s a human way of seeing the world. Every human think he is the centre of the world, and it is for him. Gnome principle “one fits it all” doesn’t let you choose.

    There is a very good book about developers not being able to put on other’s mind:
    “The inmates are running the asylum” Alan Cooper

  68. Ilya Says:

    Have always wondered why no application tries to use filesystem level attributes for tagging/categorization, which AFAIK are supported by ext3

    In fact, there is even a freedesktop recommendation for them:

    The only thing which would be needed is stardization of attribute names

  69. Karl Lattimer Says:

    Dude, I gave you a codethink T-shirt, did the presentation with you asking vast quantities of questions and you still thought it was collabora?

    Jeez man, I can’t believe I haven’t made an impression yet!

  70. skierpage Says:

    Stuff gets into a user’s “personal space” through the browser’s Bookmark, the browser’s Download, and applications’ File > Save dialogs. So they should all have a common feature set.

    All these dialogs need to pre-offer the appropriate folder, e.g. “My Pictures” based on mime type, and maybe a project directory if the system can figure out the user’s current project. Maybe “Project directory” is metadata, not actually a folder.

    They should offer a common user tag implementation.

    The dialog should unobtrusively show the metadata it’s saving. The date and title of the original, the date saved, and the file’s metadata: MP3 tags like song length and composer, picture data like image size and camera model, HTML page tags, etc.)

    The most important metadata is “Where this came from?” I downloaded it from a URL, I saved it from an e-mail from Aunt Judy, I copied it from Canon D5 SD card, and in some cases I made it from scratch myself. That’s what is lost by most systems.

    Then, the “Open” dialog can reuse the conventions of the Bookmark/Download/Save dialogs. An expanding set of horizontal panels to narrow search: within folders like “My Pictures” and various projects; by user tags; by date ranges and file sizes; by mime-type specific metadata; and then by content search.

  71. Kamujin Says:

    Jose Hevia,
    Not everything in life is gray. Having the OPTION to confirm deletes before they are moved to the trash bin is a screaming no-brainer. I feel sorry for anyone still struggling to recognize this, because they will really be screwed when they are faced with a really hard problem.

    Considering that this option is both rational and widely used by competing implementations, one can only attribute it absence in nautilus to either laziness or ideological stubbornness. Remember, we are probably talking about no more then 10 lines of code.

  72. David Cartwright Says:

    Most of the time I have no problem finding files in GNOME, however I am not a typical user.

    I have installed Linux (GNOME desktop) on a number of desktops used by average PC users. In every case they complain about the problem of trying to find files they have previously saved from OpenOffice, or Gmail, or some other application.

    It is a very basic use case, but it exactly matches the problem you have raised.

    I agree 100% … desktop Linux needs to develop a new metaphor for file and content management, and to verify how good it is, it needs to be something that an average user experiences and says – “Wow, that’s better than what I am used to in Windows.”

  73. Eva Says:

  74. Gary Day » Blog Archive » links for 2008-10-27 Says:

    […] Mark Shuttleworth » Blog Archive » GNOME Usability Hackfest Though there wasn’t a lot of hacking, there was a LOT of discussion, and we covered a lot of ground. There were at least 7 Canonical folks there, so it was a bit of a mini-sprint and a nice opportunity to meet the team at the same time. We had great participation from a number of organisations and free spirits, there’s a widespread desire to see GNOME stay on the forefront of usability. (tags: opensource filesystems linux gnome kde) This entry was posted on Monday, October 27th, 2008 at 8:04 am and is filed under Linklog. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site. […]

  75. | The OS of the future Says:

    […] the past few months, a new venture in Linux usability has sort of appeared on the scene, championed by Mark Shuttleworth, with the aim of making Ubuntu […]

  76. Sebastian Faubel Says:

    Hi Mark!

    thank you for mentioning Organise Framework in your blog! We actually have a project webiste at May be it would be better to point people to this site, rather than to my Boston presentation slides.. :) We will keep the website up-to-date on the latest developments around our project.

    Since seeing is believing there are screenshots on the site. The latest mockups are based on the feedback from the Boston GUI Hackfest and are heavily inspired by Micro Müller’s “lowfat” OpenGL based picture management application. They represent our vision of what we think future desktop shells/file management should look like. Our goal is to have a runnig implementation of what is shown on this site ready until next GUADEC!

    For everyone who’s interested in the semantic web foundations of our project: We are developing two key technologies for a complete RDF-based abstraction layer on top of the hierarchical file system. You can read about this in our paper “Towards Semantic File System Interfaces”.

    Best regards and thank you very much for your feedback!

    ~ Sebastian

    PS. I share your opinion that GNOME and KDE need to collaborate on future file management. Since RDF is a W3C Standard it is well suited for providing platform independent metadata exchange. I suggest having a GNOME/Glib port of Sebastian Trüg’s Nepomuk RDF Framework. I will hopefully meet with him on the ISWC this week to discuss a common road map for our projects!

  77. Tectonic » Desktop data management needs re-think, says Shuttleworth Says:

    […] a recent posting on his blog Shuttleworth says that “there’s a revolution coming as we throw out the old […]

  78. Athropos Says:

    “The panel won’t allow adding additional icons or application launchers to encourage use of the overlay mode and standardize the look. Widgets and application launchers can be placed on the optional sidebar.”

    Please, don’t do that. Why not just let the user organize his desktop the he wants? Why should I absolutely use the optional sidebar? What if I don’t want an optional sidebar but still like to put application launchers in my top bar?

  79. Mark Shuttleworth considera i pc ad una svolta epocale at Linux e dintorni Says:

    […] La versione integrale dello Shuttleworth pensiero e disponibile all’interno del suo blog. […]

  80. gordallott Says:

    I always thought it would be nice if instead of files dispearing into the file system you tagged them as you go, then when you want them again you just ask your DE ‘i want a list of files tagged “work”, “sarah” and “party”‘ and it gets busy. The current system of having each user do their own filing is just silly.

  81. Damon Says:

    Many good ideas in these comments. I welcome a new desktop paradigm.

    I also firmly believe that many of the common problems stemming from “Dude, where’d my file GO??!?” could be resolved NOW with a few simple additions to Gnome.


    1) I’d like to see “Reveal in Containing Folder” implemented in context menus EVERYWHERE. Firefox Download Manager has it, and I think the “Recent Documents List”, F-Spot, and Rhythmbox should have it too.

    2) I’m shamelessly supporting my “Reveal As…” blueprint
    to promote rapid interaction between program and file hierarchy in every program that has user-created files.

    3) Save As / Open dialog boxes could function more exactly like Nautilus (file/folder rename and move), or be easily convertible to a real Nautilus window (for example, options that allow for “Save As and Reveal” or “Open and Reveal”)

    4) Develop a “Recent Documents Browser” that includes information fields that can be sorted and searched “Time Edited” “Program Used” “File Location”.

    I really like ethana2’s idea. I’d like to expand the idea and add that his application could have a “File History” browse feature similar to the History in firefox.

  82. Javier Says:

    What about modify the “Save As” dialog in GNOME/KDE, so it allows me to add tags to the file I save, so I can use Tracker with those tags?

    That way, when I download something from Firefox or save an attachment from Evolution or whatever, I can choose the file name, the location and tag(s) associated with that file.

    This shouldn’t be hard to do.

  83. Herman Robak Says:

    “Remember, we are probably talking about no more then 10 lines of code.”

    It’s not the initial coding effort to add an option that is the main concern. It’s maintenance, testing, documentation and design. If you factor those in, options are freaking expensive.

    More on pet peeves and the expense of options:

  84. Dave Richards Says:

    As an attendee of the UI summit, everything in Marks original blog is completely true. In regards to saving files, the commonality that I am seeing in the comments is that people are thinking in terms of their own work, and their own files.

    The bigger issue is to also consider multi-user systems with hundreds of users, that are *sharing* files all day. Jack might merge documents from Mary and Tony, and then later be asked to make changes to the source documents which no one can find anymore. Or Mary and Tony might be out of town, and no one has any idea where their original documents are stored.

    The comment about garbage-in/garbage-out in terms of tags is completely true; however being able to issue the following command (pseudo-code) “select all impress documents created by “tony” between 10/01/2008 and 10/10/2008 with the snippet of “Downtown Development”; would be a HUGE benefit. Even though it contains no tags, at least they can *find* it. Even basic logging of information to a database is better than we have now.

  85. Endolith Says:

    Semantic tagging AND revision control? This is wonderful. We’ve been waiting for this stuff for years. I really hope Gnome starts innovating instead of just playing catch-up with Apple. Ignore the Luddite naysayers. They’ll come around like they always do.

    A while ago I wrote about my vision of an automatic revision control file system, in which you never save anything; it is all saved continuously in the background, with revision information, so that, for instance, you can “undo” any change even after closing an app and rebooting, collaborate with others on any file type with changes logged under your username, and data is never lost, even in a crash. It would apply to system files, too, so when your xorg.conf script is changed, for instance, the process that changed it is logged and the old revisions are kept.

  86. Taylor Says:

    ARGHHH. As usual, everyone is thinking filesystems. This is the WRONG way to go. We need to consider FILE FORMATS. A file system is fundamentally tied to the system on which it resides, and thus, metadata BY DEFINITION cannot be transferred from one filesystem to another.

    Think about it this way – filesystems today *DO* carry metadata. They hold the path, the filename, and usually other bits such as permissions, last accessed and so on.

    But when you FTP a file from one filesystem to another, all of this metadata is lost. You are lucky if the filename comes through. Everything else is destroyed!

    So to do this properly, the solution is NOT filesystems. It’s FILE FORMATS.

    Now, we already have a file format that supports metadata that just about every mail program in existence (as well as many other programs) knows how to read. And it’s a standard. It’s called MIME. So, how do we make this all work?

    Well, all files should be MIME encoded. All programs should be written to understand MIME encoding. Tags (and any other metadata) should be embedded into the MIME headers.

    Of course, this would be really hard to implement, because no old program would know how to open a MIME encoded file.

    So, to implement this in a backward compatible way, I would propose that a new filesystem is built that can handle MIME data types. It should store all files natively in MIME format. All regular file system calls should open the file, and read data from file as from the content section of the file, so that for all intents and purposes, fopen and brethren wouldn’t know that they were opening MIME encoded files.

    However, any new program written to take advantage of this new capability should use mime_open fs calls, to have access to the full contents of the file, including the embedded metadata. This abstraction would ease the burden of the typical program to only have to interact with the filesystem APIs, and not have to embed a MIME library into every user application.

    There are still some various issues that would have to be dealt with – for example, if you copy the bits of a file from one filesystem to another, how to do it? If you copy the raw bits, the destination filesystem has to be able to accept either raw content (thus creating a new MIME file but pumping the bits into the content section) or know that it is receiving a MIME file (and thus write the bits directly into the file, such that the MIME section is transferred intact). So in the ftp example, this would probably need to be indicated by both the sender and receiver that the MIME encoded file is being used, and would only work if both supported “MIME xfer mode”, otherwise raw bit mode would have to be used (regular fopen)

  87. Boycott Novell » Links 28/10/2008: CodeWeavers Sets Product Free, Dell Advertises GNU/Linux on TV Says:

    […] GNOME usability hackfest […]

  88. Christoph Rupprecht Says:

    Let me propose a short analysis of file and information handling. Before I start, I’d like to thank Fran, Jason McMullan, ethana and Endolith for their very insightful comments. All of what they said needs to be taken into consideration!

    So, the main goal is: I want to be able to find any kind of file or information stored on my computer with as little knowledge about the file as possible (I tend to forget things). The standard file system approach has its good and bad points, and the same goes for version-based or semantic systems. What makes them different, is the “dimension” used to sort the information.

    I think there are 4 main dimensions of sorting information or files:

    1. Content (semantic)
    Information can be sorted in categories, tags, file types, size, lenght etc. The content can also be searched, e.g. as full text, music or video pattern.

    2. Time (version-managed)
    Different sorting criterias are time of creation, change (name/content) and touch (opened/sent, “recently used” etc). Other useful features of version management are “undo” and full automatic background saving/backup.

    3. Location (classic file system)
    Classic folder-file system, “most used”/”most visited”. The big reason why I think it would be a real mistake to abandon it is this: it robs the user of one path to the file he or she is looking for. Ever tried to find an interesting book at home, but forgot the title? You remembered it was on the shelf in the living room, bottom right. I tend to remember file locations sometimes, and forget the name.

    4. Author
    Who sent the file, who created it, did I send it to someone? Also: rights management.

    In my opinion, a sophisticated yet extremly simple to use (Apple-like) file management should offer the user every possible way to find the file. Therefore, any solution should include all sorting dimensions above. Also, I think disposing of the “desktop” idea is wrong, because humans tend to think in such “real-world” terms, including location and spatial relation of things. Maybe, that’s why the current system is so widely used? Still, there’s no reason to ignore the benefits of adding search/find dimensions such as content, time and author. After all, they are already implemented, just not very well.

  89. web Says:

    some really interesting UI ideas coming out of the FOSS community. who says we can’t innovate?

  90. Kevin Mark Says:

    Hi Mark,
    As an XO/Sugar users, I was inspired by the interface of the “Journal/Datastore” concept. Its still probably alpha stage, but it does tell you what file you just worked-on, you don’t have to look for a file as its all in one place and you can quickly find a file by what app made it or by simple mime-type. Oh, and it allows tagging, too.

  91. GNOME usability hackfest (here be dragons) | Open Source Pixels Says:

    […] Shuttleworth covers the GNOME usability hackfest. “The GNOME user experience hackfest in Boston was a great way to spend the worst […]

  92. Paul Boddie Says:

    I agree with a lot of what Kamujin says. People should have the option to customise application behaviour, not be told by some usability “experts” that it breaks their ideological model of how a system should work. It may not be “nice” to the “experts” that an “Are you sure?” dialogue appears when someone presses the Delete key in a file browser (although Konqueror and various KDE applications do this by default), but this stuff is all about the user, not the “experts”. The example discussed is a good one because it’s easy to accidentally use a shortcut in an application because the focus is unexpectedly in another window (I do this with Thunderbird instead of Firefox regularly, but fortunately Ctrl-T isn’t harmful in Thunderbird), and nobody wants to be wondering what some shortcut just did, especially if it’s moving files to the trash.

    As far as GNOME and the “experts” are concerned, and I’ve probably said this before a few times, I think they’ve done a pretty bad job in certain areas. For example, the file selector is just awful: a tiny view of a narrow selection of directories with the option to expand to the awful “advanced” mode, all apparently done as a tribute to the NeXT user interface. And the fact that these people are typically so “Apple-happy” – drag and drop all over – and yet pooh-pooh the old RISC OS-style drag-save just shows how unremarkable some of their “expertise” is.

  93. zelrik Says:

    On the same kind of topic I think, I’d like to see some improvements for Gnome-Do and that other thing that keeps all your Copy/Paste Stuff. I think that everything should be linked in a very sensible way and certainly everything should be highly linked to mailboxes. My dream would be a ‘super-organizer’ that just : keeps track of, classify, process and store all my thoughts; and of course that software would talk to every possible other piece of software I am using on a daily basis.

  94. shawn landden Says:

    Im sorry but I think the file system is here to stay. Its one of the few fully standard things, not to mention universally supported (POSIX), and helps prevent lock-in and taking over of my computer. I can see a need for multiple disks and expansion (classic mounting, but also much more awesome zfs and other new fses) and more metadata (filesystem meta support, its been here for ages but nobody ever uses it, maybe mysql server as standard with a special namespace for applications.)

    Anything that can exist as a list can exist as a filesystem, UNIX fundamental beliefs are based on it: everything is a file, do one task and do it well (standard of fs is best for this).

    Nautilus sucks your computer into a CPU fight and doesn’t even mount things like smbon the filesystem(or provides no access), these things make it non-standard and quite useless to integrate with the standard that almost every other piece of software ever made complies to.

    A GNOME that separates from filesystems is a GNOME that is less free, same applies to ubuntu and I will avoid it like the plague. Don’t attack the filesystem simply because you don’t want to admit how computers are doing the same thing they always have or because you refuse to make available the power of your application.

    Programs can display information in better ways, and filesystems can store it in better ways but the filesystem is not broke, and there really is nothing better for representation. Filesystem != the same old way of displaying things, or necessarily that people have to endure the torture that is using nautilus.

    Now maybe a relational database, tied to the directory of the data, could be standard for interrelating data and searching via tags, meta-data etc; but data is still fundamentally a hierarchical thing (even if flat like /usr/bin) and should be stored in a filesystem. Don’t reinvent the wheel and don’t make open source a closed system.

  95. johndoe Says:

    An obvious suggestion, but I’ll state it nevertheless, for the record –
    Whatever you do, dont make something that is functionally a security issue like Microsoft’s Active Desktop.
    Scripting, if needed, could be done in a *sandboxed* markup or pascal-like *separate language*.
    Html and script is best avoided – basically anything that creates a direct to-and-fro between desktop and web is a rebuild of the ActiveX disaster from Microsoft.
    That it is made using Linux wont change it’s inherent security issues.
    Java applets are a good thing because of the sandbox.
    Write nothing to the main filesystem. Maybe just keep things in one single isolated file/directory with an option to the user to check and then move it from the sandbox into the real filesystem.
    Something of that kind is needed.
    Sorry, I haven’t followed the development-roadmap or feature-request schedule, but that has many reasons – the global un-warming being one of them 😉

  96. Vikram Nilakantan Says:

    Ubuntu 8.10, although maybe not as feature-packed as some of the other ubuntu releases, was definetly something that I was looking forward too. I got up early this morning just to download the new ISO. The new themes are great, and the tabbed nautilus was a great idea. Small things like that Make ubuntu one of the greatest operating systems out there. :)

  97. Bugman Says:

    Oh, once the NEPOMUK concepts are available then the file dialogs in Gnome, KDE, E17, etc. should be transformed into something more awesome than the firefox awesome bar! As Dave Richards indicates (, it would be great if you could type plain language text and then all matching files appear. The file system layout should still be accessible (i.e. the current dialog box concept). But this should not be separate from the ‘search’ using NEPOMUK ideas as you use the current dialog to ‘search’ for the file, even if you know where it is. There’s no need to separate the concepts as has been done in the past – they are the same concept. It should be a fusion of the ideas of the current file dialog, the locate or find programs, the firefox awesome bar, and the user behaviour-generated links between files and directors. And if you decide to stress your harddisk and have Beagle, Strigi, or other indexers running, then why not use this information as well to type a few words that exist within the file to find that file – all within the same file dialog?

  98. Mark Shuttleworth: GNOME usability hackfest « World News Says:

    […] read more | digg story […]

  99. Ubuntu Look » The Mint Newsletter - issue 66 Says:

    […] Mark Shuttleworth on GNOME usability hackfest […]

  100. Bob Says:

    The Dust theme should have been the default, along with a new icon pack, a set of high res wallpapers, and new sounds. I was disapointed, like so many. Windows 7 already has a new selection of default wallpapers, and not just one. Let’s up the ante Mark, in terms of looks!.

  101. Wie wir Informationen finden « Biophilia Says:

    […] me propose a short analysis of file and information handling. Before I start, I’d like to thank Fran, Jason McMullan, ethana2 and Endolith for their very insightful comments. All of what they said […]

  102. Will Says:

    Not enough time to read thru all the comments, but responding to Kamujin I want to note that I have the same feelings about Linux and the Linux community. After talking to Linux fanboys and hackers about the issue, I’ve got the feeling that there are two groups: Those who think Linux should supersede Microsoft as the most popular OS, and those who are fine & dandy with Linux remaining a hack toy for computer enthusiasts. I consider the two to be mutually exclusive– good application and UI design don’t happen by accident.

    Case in point on my Linux Mint Elyssa with Firefox 3.0.2, to connect to WiFi I have to right-click the network icon, enable wireless, then left-click and select a network. I’m lucky that it’s that simple and I didn’t have to scour backwater forums for drivers to my (surprisingly uncommon?) Intel PRO/set Wireless laptop card, nor sound/video/ethernet/etc. There’s a reason Ubuntu is so popular, and it’s because people want Mac ease of use with Windows’ flexibility and Linux’s price/restrictions. Deliver or be damned. (Side note: once I get more comfortable with Java and C/C++ I’ll be trying to solve these myself– it’s just depressing that I seem to be the only programmer who cares.)

  103. Jawahar Says:

    Cell Phones and ATM (Automatic Teller Machines) are very EASY for an average user to operate.

    Hence I’d suggest GNOME to follow the USABILITY principles of ATMs and Cell Phones to capture the Desktop computer systems.


  104. From Madness to Mapness! » Blog Archive » New Year’s Eve eve dev marathon Says:

    […] GNOME usability hackfest […]