“Task Pooper” could revolutionize GNOME desktop

GNOME's design team gathered in the UK for a hackfest. They have published a …

The GNOME community's design and usability experts gathered for a week-long hackfest hosted by Canonical in the UK to shape the next major iteration of the GNOME desktop environment. GNOME 3, which is tentatively scheduled for release in September, will introduce new user interface paradigms and include an upgraded desktop shell environment.

The participants at the hackfest are aiming to improve the usability of existing applications, enhance the look and feel of the desktop with new theming concepts, and brainstorm ideas for extending the functionality of the new shell. They are actively publishing mockups, design documentation, usability notes, and other materials that provide insight into their vision for the future of GNOME. By reading all of this material, I was able to get an understanding of their goals and plans.

A shiny vision

The highly excitable Seth Nickell—an interaction design consultant who previously worked at Red Hat and participated in the OLPC project—has documented some of the concepts that the hackfest participants assembled over the course of the week. The document, which is written in a style that resembles a perverse mashup of the Dhammapada and Timecube, describes new user interface elements such as the "Task Pooper" that could potentially appear in future versions of GNOME.

A mere summary of the design document really can't do justice to Nickell's unique prose. Before I get into the details, I think it would be appropriate to offer a representative sample so that you can get a sense of the flavor:

Focus needn't come at the expense of restrictions on intermixing tools, as long as the toolbox itself can be kept in-hand: ready to subconsciously draw upon, as a coke can unto your lips. yea verily. like a craftsman in her own shop; chisels come and go, but the cabinet stays in-mind. the flow of the task should never be kicked out of MIND by the act of execution.

The design largely emphasizes task-driven interaction and explores ways that this model can be enabled more effectively on the desktop. In the design document, there is a reference to research conducted at PARC which found that many people use their e-mail inbox as an ad-hoc to-do list. Some of the new GNOME design concepts are a response to that pattern.

The GNOME Task Pooper concept, which is intended to bring first-class task management to the desktop, has a content drop-zone that organizes itself temporally. It will automatically move expired content into an archive so that immediately relevant action items are easily accessible and not obscured by clutter. Beyond the initial 3.0 release, the document says that the Pooper could eventually be augmented so that users can drag entire windows and workspaces into it for later use.

Behold the majestic Task Pooper

In addition to outlining some new desktop components, the design document also defines some specific interaction features. For example, it describes a new take on desktop panels. In many conventional desktop operating systems, there are docks and window management panels that can be configured to hide automatically and reappear when the mouse cursor touches a screen edge. The GNOME designers contend that reconstituting a panel on mouse-over creates a number of usability problems and leads to incidents where the panel appears when it is not wanted.

Their solution is to use mouse "velocity" to determine when the panel is wanted. The panel will pop up when you throw the cursor at the screen edge with a little bit of momentum, but it won't appear when you merely have your cursor positioned on the edge. The design document compares it to the kind of cupboard doors that you have to push to click open. They also have some specific ideas about how to translate this concept to touchpads where it's possible to take advantage of gestures for more expressive interaction.

Nickell has been huffing the Kool-Aid with fierce conviction and seems fairly enthusiastic about the proposed desktop enhancements. In a blog post earlier this week, he claimed that the GNOME team's ideas to improve window management and desktop control "may amount to a bigger improvement in deep interactions with the UI than any desktop OS in the last decade can boast."

"Today, we had a breakthrough; the boldest, baddest synthesis for a desktop we have ever hit upon," he wrote. "For a desktop redesign with a 6 hr genesis it is relatively concrete, its not handwavy, its not buzzword-y, its not taillight chasing. It is targeted at a whole mess of real pains (both little jabs and big aches you barely know are there), and it solves them in elegant,gorgeous, functional ways. I am excited. I am really, really excited. This should scare you. It scares me. But I hope you'll bear with us; and by bear I mean 'help us carry the load'. Help us make this real! Help us refine the bad parts! Help us eliminate the bad sub-designs! Help us shoot flames from our eyes and launch dragons from our missile tubes. Help us break granite with our faces. Descend with us, little lambs, into the labyrinth of chasomagic."

Despite his protest that the new design isn't "handwavy," I had a hard time seeing how all the pieces fit together after reading the initial document. It will hopefully become clearer in the coming months as the documentation evolves. Obviously, not all of it will be implemented in time for release in September.

Impressive mockups

Although Nickell's colorful rants and outside-the-box thinking are especially good article fodder, the hackfest seems to have produced a lot of other good work that is equally worthy of mention. Hylke Bons of Intel and Jakub Steiner of Novell collaborated on some impressive mockups that demonstrate ideas for a next-generation GNOME visual theme.

It adopts some of the best visual elements of Intel's Moblin look and feel and openSUSE's beautiful Sonar theme. I especially like the angled tabs and the soft rounding on the textboxes. The amount of padding feels a bit heavy, but that's typical of GNOME's traditional aesthetic. In general, I think that the mockups are aiming in the right direction. If implemented, it would represent a very tangible improvement to GNOME's look and feel.

Another nice idea that came out of the hackfest is a plan for a new GNOME configuration tool that will include a collection of advanced options and lesser-used settings—in the spirit of TweakUI or similar tools. Steiner and Bons produced the following mockup to illustrate the idea:

Conclusion

Máirín Duffy of Red Hat published a series of clear and detailed notes this week that provide insight into a wide range of design issues that were covered during the event. Her blog is really the best place to start reading if you are interested in getting more details about what transpired during the hackfest.

One of the topics that she wrote about is a plan proposed by Steiner and Bons to adopt Moblin's outline-style icon theme for certain parts of GNOME, such as the on-screen display and the panels. She also documented some presentations about usability and accessibility and wrote up a GNOME vision brainstorm which includes some good ideas about collaboration.

It's still too early to say whether the new desktop design concepts will achieve the success anticipated by Nickell. Keep in mind that the mockups and design document are still at relatively early stages of the design process and haven't begun to enter the implementation stage yet. GNOME has always had a strong commitment to incremental development, so it's likely that the new ideas will get deferred for future versions after the initial 3.0 release.

There is an existing GNOME 3 shell prototype (which we will be looking at closely in a future article) that already represents a big change for the desktop environment. It's important to understand that the GNOME Shell effort is separate and distinct from the new features that were proposed at the hackfest. The new features could potentially be added to the Shell or implemented as separate components.

The success of GNOME, and its popularity among commercial Linux distributors, is partly attributable to the project's predictability. The GNOME community has traditionally not embraced risk and generally works hard to minimize any kind of disruption. OEMs and commercial software vendors find that consistency appealing, but the downside is that it creates the risk of stagnation and "decadence." The jump to GNOME 3 offers an opportunity for a clean break and a new infusion of innovation. The designers are clearly taking advantage of this opportunity with the hope of delivering a more beautiful and usable desktop experience.

44 Reader Comments

looks interesting, especially like the gnome plumbing idea since it would be convenient to have one application where i can change all my setting (like ubuntutweak but on steroids). i think people often forgets that gnome isnt about revolution but about evolution they make small tweaks every release instead of dropping a radical different buggy release *cough* kde *cough*.

though i wish there was more said on gnome shell. i've been using shell for 2 weeks straight and though its promising i do find some places where its not efficient (takes to much mouse clicks and mouse movements to navigate compared to old gnome).

I question why tho they are fussing with themes? Would it not be better time spent to deal with true usability/configuration issues ala tweakui/real control panel for all options as you showed?

One of my pet peeves lately is that recently apps have started stealing focus whenever they feel like it, similar to windows behaviour. This never used to happen in Linux. An app or window if it did not have focus stayed in the background until asked for.

With regards to the use of momentum to decide upon a users' intentions, it would be nice if it started to open the taskbar before you actually get to it, so you don't throw your cursor at the bar only to have to wait a few seconds for the animation to complete - it would already be showing by the time you got there. I feel this would be a large improvement.

Um, now it doesn't. It just means that the panel does not become visible if the cursor simply touches the edge, but rather, only when you really move it there. That that is how Fitts Law works. You can just "throw" the cursor at the edge, since the edge makes the UI-elements bigger.

Fitt's Law is not about careful positioning of the cursor, and this idea takes advantage of that fact.

For folks who are trying to improve desktop usability, it disturbs me that they write like psuedo-shaekspearean actors that are hard to understand.

Now, the main desktop feature I'd like to see is a way to "save state" your current windows that you're working with easily as a shortcut. I know Gnome has a session "remember the windows that are currently open", but what I'm talking about is for someone who has to do some task that requires several windows to be open, but doesn't do it often enough to warrant keeping a desktop & memory tied up with that crap open all the time. You get your windows all positioned correctly, then select something to save that layout and the progams that are opened as a shortcut. Then you can close it all down. When you want to go back to that, you just click the shortcut and it opens all those apps in the exact same window positions they were in, and perhaps even goes right to the spots you left off at (EG: if you were coding in a window, it would jump right to the spot you left off at). Maybe the GNOME desktop can already do that ... I don't know...seems they add really complicated stuff to it and 90% of it I don't use, but I never find stuff like this which WOULD be very useful.

As for Fitts' Law ... the GNOME desktop needs to force certain UI standards upon programmers. I'm tired of opening up someones app to find there's 1 pixel of space between the right-hand edge of the screen and the damn scroll bar. You toss your mouse over to use the scrollbar, and ... nothing happens. WTF, you think. Then you realize you're in that little, tiny phantom zone between the scroll bar and the edge of the screen. Make your Desktop PREVENT idiots from programming UI's to do that, and that would be a damn good first step.

Likewise, prevent the scroll bar from becoming microscopic when there's a very long document/form to scroll. I understand a scrollbar shrinking in order to denote length of something, but it's ridiculous trying to utilize a scrollbar that's only 2 pixels tall.

As for themes ... as the desktop designers, aren't there bigger fish to fry? There's tons, and I mean TONS of artistic people out there who crank out themes every day. We don't need dev's working on themes, we need them solving root problems.

It just gets me that they get so wrapped up in these fancy ideas about how to better organize a desktop and such when minor usability things still suffer.

Originally posted by Tundro Walker:what I'm talking about is for someone who has to do some task that requires several windows to be open, but doesn't do it often enough to warrant keeping a desktop & memory tied up with that crap open all the time.

In theory, if the applications are in a different desktop and aren't being used, they should be paged out to the hard disk. Or you could use a VM, and suspend the VM when you don't want the apps open anymore.

Originally posted by irishspring:The person is just being ironic about his excitement over a revelatory idea. The reference is to the pulpit, not Shakespeare. People used to have fun with language--then mass illiteracy struck.

Gnome Plumbing strikes me as an excellent idea. One thing I've missed in Linux, that is very convenient in Windows and OS X, is that the proprietary GUIs have centralized access to many of the system controls in one applet. Linux, structurally, is more heterogeneous, and that limits the degree of centralization possible -- but Gnome, at least, ought to be amenable to that.

The "Task Pooper" seems like the sort of useless feature that OS updates boast about but no one actually uses. In this case, in particular... after the period *expires*, my folders and files *go away*? Applets that produce anxiety are not a good idea.

Spare me any "new user interface paradigms" please - the last thing they changed was to make it impossible to get a tree view in the Nautilus shell without doing insane settings plumbing, defaulting to a useless Mac-like bunch of little windows. Some of us like to drag from one folder and drop to another in the tree view, but they didn't simply make the default the Mac-like thing, they totally removed the option to change to a tree view from the Nautilus user interface GUI. If this poop thing is a wonderful as that, it may be the big boost that KDE needs.

Whatever you do, GNOME, please make these "new user interface paradigms" OPTIONAL so those of us who know what we like and like what we know can get our work done without spending days looking for the right incantations to change the settings to disable them.

The spatial view isn't the default in Nautilus any more, so you don't need to worry about doing "insane plumbing" (aka "changing a single setting") to turn it off any more.

And new stuff is always optional. It's never compulsory to upgrade. Other operating systems don't generally have "revert back to the way some older version of the OS did it" options, no reason Linux distros should have to create maintenance nightmares for themselves by having the same.

Total kick ass. Task Pooper is the best f-ing name that they could think of I could think of and I love that attitude.

The concept is great and I hope the execution is as good.

quote:

If this poop thing is a wonderful as that, it may be the big boost that KDE needs.

HA! Do you think that the Gnome folks are so stupid as to create another KDE 4.0 type fiasco?!Don't bet your life on it.

Backwards compatibility is the name of the game for the most part and Gnome 3 really just represents a break from the more obnoxious and obsolete portions of the internal Gnome framework that dates back to 1999, when 2.0 stuff was released.

So the worst thing that users will experience is that some Gnome software that has not been hacked on for 7 years or so are likely to get broken.... and even then Gnome is willing to work with distributions to avoid breaking anything they don't have to.

So far Gnome has moved towards the directions of cross-desktop compatibility by following the Freedesktop.org standards and so on and so forth. If you want to run OpenBox or Compiz or whatever traditional-style window manager with Gnome you will almost certainly be able to.

As far as the nautilus thing... notice that they never changed or removed anything from 'browser mode'. They just changed the defaults to spacial mode. Browser mode was always avialable to you.and some distributions, like Ubuntu, decided to make browser the default.

Oh and I like how you characterize having to click Edit --> Preferences --> Behavor Tab --> Check mark 'Always open in browser mode' as 'insane plumbing'.

Worst thing you'd ever have to do is open up "gconf-editor", select 'app' --> 'nautilus' --> 'preferences' --> checkmark 'always use browser'

Originally posted by Tundro Walker:Now, the main desktop feature I'd like to see is a way to "save state" your current windows that you're working with easily as a shortcut. I know Gnome has a session "remember the windows that are currently open", but what I'm talking about is for someone who has to do some task that requires several windows to be open, but doesn't do it often enough to warrant keeping a desktop & memory tied up with that crap open all the time. You get your windows all positioned correctly, then select something to save that layout and the progams that are opened as a shortcut. Then you can close it all down. When you want to go back to that, you just click the shortcut and it opens all those apps in the exact same window positions they were in

All you have to do is travel back to the 1990's and use OS/2's workspace folder feature. I am sure when MS or or Apple or the Linux community reinvents it sometime in the 2030's they will proclaim their (re)invention to be incredibly innovative.

Originally posted by Tundro Walker:Now, the main desktop feature I'd like to see is a way to "save state" your current windows that you're working with easily as a shortcut. I know Gnome has a session "remember the windows that are currently open", but what I'm talking about is for someone who has to do some task that requires several windows to be open, but doesn't do it often enough to warrant keeping a desktop & memory tied up with that crap open all the time. You get your windows all positioned correctly, then select something to save that layout and the progams that are opened as a shortcut. Then you can close it all down. When you want to go back to that, you just click the shortcut and it opens all those apps in the exact same window positions they were in

All you have to do is travel back to the 1990's and use OS/2's workspace folder feature. I am sure when MS or or Apple or the Linux community reinvents it sometime in the 2030's they will proclaim their (re)invention to be incredibly innovative.

What is old is new again.

And it's extremely doubtful that the people that thought up 'task pooper' ever used OS/2 before. It's a rather ancient and obscure OS nowadays.

By popping out predictively in response to being a cursor target (this is supposed to be reliable according to a CHI paper), we dodge the 'fitts law' issue (its worth nothing that fitts law is just a way of measuring time to acqusition, it actually says little to nothing specific about screen edges... but anyway).

If for some reason it doesn't predict / prediction isn't implemented / prediction doesn't work, hidden 'slide in' panels have the exact same flow as this, its just you have to hit with a little momentuum in this case. Neither one allows a single stroke to drop.

I'd disappointed the focus was on the task pooper. The absolute mapping of the touchpad has more potential importance as a feature (for those on laptops that have them - probably over 50% of computing today). Making important operations transparently (and learnably) 'gestural'... making access dramatically faster... has more important use consequences than a specific idea for task management.

Sigh. I hate it when the window manager makes such decisions on my behalf. I know they are _trying_ to make it more user-friendly, but I really hope they make this stuff optional., Already, Gnome is way too inflexible.

Originally posted by YourGod:All you have to do is travel back to the 1990's and use OS/2's workspace folder feature.

Ah, what a great feature that was. WPS was a dog on the hardware I had at the time, but wow... Being able to setup a "development environment" just by putting files and links in a folder, with everything opened from within remembered across sessions... That was pure gold, something to make the overhead of a graphical UI actually worthwhile. Moving to Windows and Visual Studio felt terribly clunky afterward.

And the best part of it? It was available for anything. Working on a set of images? Put 'em in a folder & open from there, if you need to work on something else just close and return later. Got a letter and a spreadsheet that you want to open up side-by-side for multiple sessions? No problem! Three terminals and a script in an editor? Piece of cake.

If that's what GNOME is moving towards, then good for them. About time someone latched onto this idea again...

"Today, we had a breakthrough; the boldest, baddest synthesis for a desktop we have ever hit upon," he wrote. "For a desktop redesign with a 6 hr genesis it is relatively concrete, its not handwavy, its not buzzword-y, its not taillight chasing. It is targeted at a whole mess of real pains (both little jabs and big aches you barely know are there), and it solves them in elegant,gorgeous, functional ways. I am excited. I am really, really excited. This should scare you. It scares me. But I hope you'll bear with us; and by bear I mean 'help us carry the load'. Help us make this real! Help us refine the bad parts! Help us eliminate the bad sub-designs! Help us shoot flames from our eyes and launch dragons from our missile tubes. Help us break granite with our faces. Descend with us, little lambs, into the labyrinth of chasomagic."

This does not inspire my confidence in the usability of the new system.

Launching dragons from missile tubes seems unintuitive to me. Dragons don't go in missile tubes. My first impulse would be to put missiles in missile tubes.

I think I understand the metaphor of breaking granite with my face, though. That is how I feel when I use Gnome with lots of open windows, or to try to make my wired network connection managed so that I can use VPN, or to configure video settings on the screen. Like I'm breaking granite with my face. Over and over again. I was hoping for some usability improvements there.

I don't know what chasomagic is. Is it safe to google at work? Is it like ... a lubricant that improves usability?

I'm there with the shooting flames from the eyes though. I've seen superman do it on TV. Highly usable.

Now, the main desktop feature I'd like to see is a way to "save state" your current windows that you're working with easily as a shortcut. I know Gnome has a session "remember the windows that are currently open", but what I'm talking about is for someone who has to do some task that requires several windows to be open, but doesn't do it often enough to warrant keeping a desktop & memory tied up with that crap open all the time. You get your windows all positioned correctly, then select something to save that layout and the progams that are opened as a shortcut. Then you can close it all down. When you want to go back to that, you just click the shortcut and it opens all those apps in the exact same window positions they were in, and perhaps even goes right to the spots you left off at (EG: if you were coding in a window, it would jump right to the spot you left off at)

The KDEers are working on something very similar to this (along with other things) under the guise of "activities". It should start showing up over the course of the next few releases.

It's a name for an idea that is so far just a few mock-ups and a couple of paragraphs of explanation. I really don't think the name is worth whinging about.

As for the saving sessions thing, Seth Nickel actually covers that in the PDF linked to from his blog post. The basic idea is that anything--a program, file, email, and workspace (including application locations and open documents, etc)--could be dragged to the 'Task Pooper' and dropped at a specific time in the future (like 'Tomorrow'). The 'Pooper' would then remind the user about that task tomorrow, and the user could elect to act upon it, deferr it for later, ignore it, etc.

The longer I'm on Linux the more I appreciate the choices you get. We have Vista on the desktop at work, Windows XP and OS X on the laptops we use at conferences and my daughter is running a Windows 7 box (kids and games, you gotta love 'em -- I said you gotta!). On my personal laptop I always take time to tweak KDE, XFCE and usually E17. When the new Gnome release comes out I always try that. So I hop from desktop to desktop quite a bit.

All this leads me to thank god for Fluxbox.

I feel for these designers, but really, all you have to do for the vast majority of users is give them a panel with a menu and a way to switch between open tasks, allow them to use a photo of their family as wallpaper and let them save hundreds of documents to the desktop. Their desktops (folders, shared drives...) mirror their minds, and so it's all a jumble. Organized people will organize, but as often as not in some idiosyncratic way. Most people can find videos of Hitler ranting about the iPad on the internet faster than they can find that document they worked on last week on their own hard drives. So I'd put all that pixel-pushing time into better desktop search.

The job of the rest of the window manager/desktop environment is to allow me to focus on the applications. So once again, thank you, Fluxbox.

Organized people will organize, but as often as not in some idiosyncratic way. Most people can find videos of Hitler ranting about the iPad on the internet faster than they can find that document they worked on last week on their own hard drives. So I'd put all that pixel-pushing time into better desktop search.

Well think about this for a second... Why should it be easier for people to find data on the internet then it is to accomplish stuff on the desktop?

For example....

I do work with a Linux desktop. You, know, like employed. I always have different little tasks that I have to accomplish all the time. Some of the stuff I work on is long term projects, but there are always different little things coming up all the time and usually I'll have 2-3 different things to work on at any time.

I do some small programming stuff that I use to make my life easier. I work on documentation and have to depend on other people for testing and evaluating it and then taking their recommendations and updating the documentation. I have some server stuff I work on time to time and then I have security recommendations for products and other reports and meetings that I have to keep in the back of my mind.

I am not a terribly organized person, but the job demands it.

Different tasks require different tools... like I have my own system developed for writing and managing my documentation, but once I submit it for the orginization to be used I have to switch gears and use OpenOffice.org and MS Office and all that stuff. Sharepoint, Exchange, Samba, etc etc the whole ten yards.

So each thing I am working on I have to basically reconfigure my desktop. Get windows shares open, get Evolution working with Exchange, etc etc. Or other tasks I can just do it the Linux way with my trust highly configured Vim and 12 or more terminals open and 3 or 4 screen sessions going at one time.

Switching tasks and resetting everything up for each task can be quite dramatic. If I have not worked on a task for a month or then I have to go and find my old notes and hints I made for myself and get all that up and working again.

I've learned (painfully) that multitasking is bullshit and worthless, so when I switch gears it is going to be switched for a while. I need to avoid distractions and I need to start recalling things as quickly as possible. I need a very optimized and distraction-free workflow to be efficient.

Needless to say the process of switching roles can take upwards to several hours to get everything optimized and get myself back up to speed.

It may seem like I am making things overly complicated, but if you just pay attention to yourself and other people you'd see that this sort of thing is rather normal. Even momentary distractions, like a phone call or a workmate coming up behind you can ruin your efficiency for 20 minutes or so... If you have a meeting that lasts for a half hour then that is going to cost you well over a hour of productivity.

Personally I'd rather be spending my time sitting at home relaxing, then making up for lost work by staying late every day.

It looks like something like the "task pooper" can be very useful for saving "desktop states" and making it easier to group things and keep track of related items and also scheduling. All of this should kick very much ass if they can pull it off correctly.

For those of you with a sensitive disposition, lets just agree to call the idea the "Task Poosher". The rest of us can satisfy ourselves in the idea that it's intended to help with the large amount of varied crap we have to deal with daily... so the name is entirely appropriate in that context.

Their solution is to use mouse "velocity" to determine when the panel is wanted. The panel will pop up when you throw the cursor at the screen edge with a little bit of momentum, but it won't appear when you merely have your cursor positioned on the edge.

I hope you can disable that. I have three different machines at work that I use extensively, and use Synergy to share my keyboard & mouse between them, with my Linux box as the server sitting in between them. This sounds like I'd be bringing up annoying UI elements every time I move my cursor into a different machine.