July 20, 2006

Gimmie a new panel prototype

Author: Nathan Willis

Gimmie is Alex Graveley's re-imagined desktop panel project, coded in Python and integrated with GNOME services. Though still a prototype, Gimmie has spawned discussion about the uses and usability of panels, task lists, and menu bars in today's desktop environments.

Gimmie background concepts

Core desktop interface elements such as menus and panels are frequently targets for revision and replacement, owing to their importance and the difficulty of developing a best-fit-for-the-most-users design. In a GUADEC 2006 presentation (the notes for which are available in PDF at the Gimmie Web site), Graveley enumerates some problems marked for attention. Among them are the underutilization of "recently used" lists for applications and documents, the inflexibility of system menus, and the ambiguity of icons -- some are launchers, some are representations of running apps, etc.

He then proceeds to appraise the usability of desktop elements from Windows, Mac OS X, and Unix. Though he is just one in a log string of people to do this, his conclusions are interesting. For one, Graveley notes that desktop environments lack organizational cues to assist a user's memory. The only one that most of us are familiar with is the recently used documents list, the current implementations of which do not impress Graveley.

He also objects to the inconsistent treatment of running objects -- in some operating systems, each running window has its own representation in the taskbar, while in others each application merits one representation, even if it has multiple windows. Likewise, on some systems only folders can be bookmarked, while on others apps and documents receive the same treatment.

Graveley's solution to these problems involves treating all "desktop objects" equally -- apps, documents, contacts, folders, and so on. Gimmie breaks the desktop objects into four broad categories, and adheres to an "opt-in" model to reduce clutter.

Gimme Gimmie

From the developers' resource page you can download a tar archive of the Gimmie code. The current release is numbered 0.1.1, and compiles easily. Since Gimmie is based on Python and ties in to existing GNOME technologies, the only dependencies are the python-gnome development packages. Gimmie itself is small, and after you compile it, you can launch it with python gimmie.py. Gimmie will run alongside your existing GNOME panels, letting you explore the differences.

Gimmie's GimmieBar rests centered on the bottom of the screen, and displays the four broad categories referenced above: Applications, Documents, People, and Computer. In the prototype stage, each has a distinct background color, though mailing list comments indicate that this feature will be customizable.

Gimmie in action. Click to enlarge.

Each of the four panes on the GimmieBar has a traditional panel-like area and a label that pops up on mouse-over. Clicking on the label brings up a window with advanced functions. The Applications pane functions much like the OS X Dock; it holds icons for running applications and expands and contracts to fit them as necessary. Clicking on the Applications label brings up an app browser, from which you can launch applications and search through your recent apps. The launchers are drawn directly from GNOME's Applications menu; no configuration required.

The Documents pane, similarly, keeps track of open documents, and clicking on its label lets you search both recent documents and bookmarked folders. Much as the Applications pane ties into GNOME's menu system, Documents ties in to GNOME services -- including the Tomboy note-taking app.

At present, the People pane ties in only to your Gaim contacts, but it detects presence and lets you sort your contacts by buddy groups and availability. Support is planned for contacts from services such as Gmail and Friendster in future releases. The Computer pane holds the workspace switcher, clock, and notification area, and clicking on its label lets you access your GNOME system settings, removable devices and media, and network servers.

Gimmie workflow

So, what does Gimmie do differently, and how well? As with any start-from-scratch panel and task list replacement, the first time you use Gimmie can be disorienting. I had not thought much about it, but I am apparently deeply conditioned to switch tasks by clicking on the taskbar. Gimmie's OS X-like Applications pane was an adjustment.

But launching new apps was much easier than with the traditional GNOME menu. Gimmie's app launcher loads faster, and the app icons are bigger, so your eye jumps to them sooner. Similarly, finding recent documents is easier with Gimmie; it is a top-level operation, not a sub-menu buried under another sub-menu.

As for the People pane, it is limited enough in functionality that I am still on the fence regarding its usefulness. As-is, it offers little more information than Gaim's buddy list. According to the developer mailing list, we should see more integration with other services in future releases, which is where I think the concept will really prove its worth.

The Computer pane, also, is so similar to the existing notification area and workspace switcher features of the GNOME panel that I don't see any distinct advantage. Regrettably, there is also a bit of miscellaneous-itis creeping in on this pane -- for all the talk about the four distinct categories on the GimmieBar, Computer still seems to contain a bevy of unrelated utilities. But that is probably unavoidable.

Thinking ahead

It is inevitable that people will rethink the desktop user interface; the more time you spend in front of your computer, the more habits you will develop and the more to streamline your workflow. Because no two workflows are the same, designing panels and taskbars that please the majority of the users is an uphill battle.

Taking a break from your traditional GNOME or KDE interface every now and then can be quite refreshing. If you are a GNOME user, Gimmie may force you to step back and think about your computing habits in ways you haven't before. I don't know how much of Gimmie will make its way into the next generation of GNOME, but it is always fun to try a different way of working, and that is something Gimmie definitely offers.

Click Here!