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 FreeDesktop.org, 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. 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.

  2. dmx Says:

    @erichbla:

    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.

  3. 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.

  4. 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.

  5. 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?

  6. 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.

  7. Verb Says:

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

  8. 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.

  9. 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.

  10. 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 http://nepomuk.kde.org/node/1:

    “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.

  11. 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!

  12. 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.

  13. 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 FreeDesktop.org and implemented last year, or tomorrow. Nothing should ever behave like Firefox’s filemanagement tho, its horrible.

  14. 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?

  15. 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.

  16. 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!

  17. 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

  18. Ilya Says:

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

    http://en.wikipedia.org/wiki/Extended_file_attributes#Linux

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

    http://www.freedesktop.org/wiki/CommonExtendedAttributes

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

  19. 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!

  20. 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.

  21. 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.

  22. 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.”

  23. Eva Says:

    http://www.ticketmaster.com/Coldplay-tickets/artist/806431

  24. 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. […]

  25. woganmay.com | 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 […]

  26. Sebastian Faubel Says:

    Hi Mark!

    thank you for mentioning Organise Framework in your blog! We actually have a project webiste at http://www.organise-fw.org. 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!

  27. 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 […]

  28. 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?

  29. 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. […]

  30. 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.

  31. 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.

    Specifically,

    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
    https://wiki.ubuntu.com/RevealAs
    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.

  32. 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.

  33. 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:
    http://pidgin.im/pipermail/support/2008-March/000835.html

  34. 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.

  35. 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.

    http://www.endolith.com/wordpress/2007/12/24/abolish-the-saving-of-documents/

  36. 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)

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

    […] GNOME usability hackfest […]

  38. 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.

  39. web Says:

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

  40. 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.
    -K

  41. 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 […]

  42. 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.

  43. 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.

  44. 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.

  45. 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 😉

  46. 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. 🙂

  47. 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 (http://www.markshuttleworth.com/archives/223#comment-311875), 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?

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

    […] read more | digg story […]

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

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

  50. 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. http://neosmart.net/gallery/v/wallpapers/Win7/Official/. Let’s up the ante Mark, in terms of looks!.