GNOME Vision Brainstorm

This is just a brainstorm, no hard and fast rules being set here. A bunch of the designers here at the GNOME London UX Hackfest got together yesterday to talk about Nautilus, and after talking about Nautilus those of us left had a bit of bigger-picture view discussion (mostly Garrett and I at the whiteboard with hbons & jimmac listening as they worked on awesome icon stuff). Us GNOME designers see each other on pretty much an annual basis for the past few years either at usability hackfests, GUADECs, or GNOME Boston Summits, and we end up having variations on the same ‘big-picture’ vision for GNOME. Somehow, we never end up really fulfilling that vision, and the climate changes slightly every time (for example, microblogging I think is a big difference this go-around that wasn’t as much of a consideration in previous iterations of the discussion).
Why does this keep happening? I think we go back home and work in individual silos again – and when we meet next it’s difficult work I think to resolve the different perspectives behind the progress we’ve made over the past year. It seems we then keep trying to redo the vision, maybe with the notion that this time will be the time we’ll figure out how we can all work together. I think though, not only are the tools for us to work together non-existent (there are some that have cropped up over time that help; e.g., Garrett and jimmac collaborate a lot using Dropbox) – but necessarily we’re working for different organizations that have different focuses and our free time is limited.
So what if we drew out a loose map of the big-picture vision, and as we necessarily work within our silos, pin that work to some piece of that vision map and fill the map in together each time we meet so we have an idea of how we’re progressing? Then it’s easier for our separate pieces coalesce in a more coherent manner when we get together and we can make forward progress together and feel like we are designing together more.
Anyway, here is a snap shot (nice and clean thanks to Garrett’s whiteboard photo Gimp tip) of our whiteboard from a rough stab at laying out some potential components for this vision:
GNOME vision?
Here are the components:

  1. Application Launching
  2. Notifications
  3. Switching contexts (apps/windows/documents)
  4. Support flow/focus
  5. Provide the date/time (maybe not the hugest function, but…)
  6. Sync & share / collaborate
  7. Project management / to-do management
  8. Store my personal database
  9. Some other random ideas generated from this discussion:

    • When I use GNOME to create as opposed to consuming, there’s an awful lot of data about me GNOME knows that it should be applying to the things I create. For example, why should I have to fill out the Dublin Core metadata entries for every single Inkscape document I create? Why aren’t I automagically added to the author field? GNOME knows who I am….
    • When my file touches another person’s computer, what if a log entry was added to the file. Then it’s emailed to someone else, and when it lands on their computer another entry – so on and so forth until the file has a history so you know where it’s been…
    • When someone collaborates on a file I created, their name is added to the list of authors in the metadata…
    • Having your desktop be your facebook rather than facebook. E.g., if Seth is in my address book, I can see not only his contact information, but documents and other stuff he’s created that he sent me, my chat logs with him, his blog posts, other output from his online identity…. but gathered automagically, not so I have to gather all these links on my own. E.g., how the Palm Pre grabs your contacts’ facebook avatars to display when they call you – it grabs that data for you.
    • Suggesting licenses to reconcile / suggest a license for a work you’ve created when it uses sources of varying licenses (or alerting you when they are incompatible)
    • Version control – even on remote servers…. if you have git on your client, make your local project folder a git repo, and then you can sync it to a remote server, along with all of the git metadata so you can even have version control when the remote server you’re synching too doesn’t have version control installed / available to you
    • You interact with files differently based on whether or not you created them or consume them (they’re from somewhere else)
    • You interact with files differently based on whether or not you are actively working on them / with them vs. you finished with them and they’re archived. (For the former, you kind of want them in your face; the latter you don’t mind searching for them.)
    • Have offline-disk access. E.g., store metadata about disks you’ve plugged into your machine in the past but don’t necessarily have connected now
    • Synching files to work with other people
    • Synching files so that they’re available across the devices you own (laptop, desktop, phone, etc)
    • context-sensitive notifications, maybe one-shot notifications. I’m waiting for Ray to come online today, but I don’t want a notification every time he logs on or off. Just this one time. Vs. I always care about when he comes on or offline, but I don’t care to be notified about anyone else’s goings on.

    For some of these, there are already pieces in GNOME that will help make them possible. However, they aren’t integrated as a coherent whole yet. This list is not to say that anything that already exists in GNOME today is meant to be thrown out or done over.
    Anyway this is just a random brain dump but I wanted to make sure it was captured and shared. Sorry it’s not more polished.
    Any ideas on where this should go or how this framework should be constructed?


  1. Joe Buck says:

    “When my file touches another person’s computer, what if a log entry was added to the file. Then it’s emailed to someone else, and when it lands on their computer another entry – so on and so forth until the file has a history so you know where it’s been…”
    Great. That way when some troublesome whistleblower exposes government or corporate misconduct in the future, he or she can be promptly arrested, sued, fired, or whatever.
    Please consider privacy issues in any Gnome redesign.

    1. Hello. You have asked something of me, so I feel it fair to ask something of you:
      Please re-read the very first sentence of this blog post:
      “This is just a brainstorm, no hard and fast rules being set here. ”
      Thank you. Simmer down now!

      1. Joe Buck says:

        By saying “simmer down”, you are implying that I’m going off half-cocked here. Yes, I know that it’s only a brainstorm, that you haven’t decided to definitely implement anything in particular. I also know that killjoys like me can interfere with a good brainstorming process.
        Still, there’s way too much web 2.0/social networking design out there that ignores privacy, sometimes deliberately, sometimes just because the designers are comfortable living their lives in public and think everyone else is too, so I would hope to see new design work consider, right up front, how best to make the user aware of the trail she is leaving and whether that is the intent. If this is not considered up front and is bolted on later, the result can be ugly.

        1. "By saying “simmer down”, you are implying that I’m going off half-cocked here. "
          Hmm….. where in "simmer down" is the "half-cocked" hiding, because I don't see it?
          I was just trying to be *funny* – so please giggle. Thanks.

  2. […] In Gimp, filters> edge-detect > difference of gaussians, radius 1: 30, radius 2: 2 – results automagical cleanup of whiteboard photos (like the one in my post before this) […]

  3. Florent Théve says:

    Wow ! When I read your eighth point I just think of Tracker.
    That's exactly what Tracker guys are trying to achieve, please take a look at Nepomuk ontologies and have a speak with Tracker guys (#tracker on gimpnet), what you want is almost here.

    1. Fair enough! These notes aren’t trying to say there aren’t pieces that exist to make the vision possible – but they are definitely not unified / coherent at the moment, are they?

  4. Very interesting. Thanks for posting this.
    I liked to add something:
    # Application Launching
    Should integrate something GnomeDo-like and it could be include meta infos. So typing “browser” would give you Firefox/Epiphany
    # Notifications
    This is a biggie and a hard one to crack. Gnome should integrate all IM services people use and maybe you could predefine a “work”-workspace where you won’t be distracted and a friends workspace where you get all notifications (Once you switch to “friends” there they are) Otherwise the setup will be too hard for most people I guess.
    # Support flow/focus
    # Store my personal database
    Please use Nepomuk/tracker for this.
    One more thing: Please look at upcoming innovations in the Linux kernel space for stuff like versioning. I think something like Timesliders on OpenSolaris could be used for BtrFS aswell and would make Nautilus a lot more useful.
    Maybe a few wizards would be cool. Like give Gnome your Facebook credentials so that you get FB chat, updates etc.
    That is all I can think of right now.
    Keep on rocking!

  5. Many of the mentioned points may be available in very short time, just because low-level components are already in place: Conduit and Telepathy for sync tasks, Tracker for all relationships among files…
    Gnome's repositories are full of incredible pieces of code, but I think historically the biggest problem in Gnome is to use those technologies on high-level user applications. Please avoid to re-implement existing low-level stuffs, just build on what you already have and add only what it is strictly required!

  6. Saving the author in files is a good idea, but also being able to turn it on and off is showing what's going to happen. I can only think of a tickbox when you save the files to add the info or not, but maybe there's a better ui for that possible – preferably that could apply to all apps.

  7. I’ve often ranted about these types of issues. Why isn’t the About Me information used by more applications (devs’ answer — privacy considerations)? Why can’t there be desktop-wide tags and other metadata?

  8. Comment on “let me focus”:
    The primary reason I switched away from Gnome was that the option to make the toolbar auto-hide instantly. I know it sounds a little OCD, but *just get out of my way, silly UI element*. I know where you live if I need you! So, XFCE — very easy to configure minimally, still has the benefits of a modern desktop. It’s got its own annoyances though, and if Gnome can learn to be as unobtrusive as possible, I’ll come right back to it.

  9. Regarding file-handling, sharing and meta-data, I think there should be a move away from a hierarchical system towards a single solution that can handle images, music as well as all kinds of documents in an unified way.
    An additional component could be user input/output / interactive control. It’s sad there is a single-click-to-activate mode that doesn’t reach beyond Nautilus. (Multi-)touch with gestures should be handled.

  10. kaddy says:

    THIS is the best Gnome3 mockup I have EVER seen
    what do u guys think :

  11. Billy Charlton says:

    The whiteboard trick doesn't work for me. Every time I try it, Gimp just replaces my entire image with a 100% transparency.
    What am I doing wrong? Neither checkmark makes a difference.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.