Ubuntu 11.04: Everything Old Is New Again

So the latest version of my OS of choice, Ubuntu, came out yesterday. Most of the updates Ubuntu 11.04 (development codename “Natty Narwhal”) introduces are pretty pedestrian (Firefox gets bumped to 4.0, for instance), but there’s one really major change: an entirely new desktop environment, called Unity.

Unity is intended to merge the desktop interfaces of desktops, netbooks, and touch-based devices like tablets into a single experience that works great on all types of machine. To this end, it introduces several big changes to the GNOME user interface, two of which I’d like to focus on in particular.

The first of these is the “Launcher.” The Launcher is a vertical ribbon that runs down the left side of the screen and contains icons for all your most frequently used applications, tasks and locations. It replaces the familiar menu options in the top panel that are typically used to start applications in GNOME.

The second is the “Dash.” The Dash provides an alternate, less mouse-oriented way to launch applications and open documents — rather than mousing through a series of menus, you just invoke the Dash and start typing the name of what you’re looking for. The Dash shows you a list of everything on your system that matches what you’ve typed, and the list narrows down with each new letter you type. It usually only takes three or four letters to find what you’re looking for.

There’s been a lot of grumbling in the Ubuntu community about these changes (as happens any time anyone ever changes anything in a much-used software package), but I think that conceptually they’re both good ideas; they simplify the UI and make it easier to find the things that you use most frequently, which is a good thing. In a traditional menu bar, every menu item has the same prominence, so it’s easy for the few things you really need to get buried in lots of stuff you don’t. The Launcher and the Dash help cut through the cruft.

So my beef with them isn’t that they’re bad ideas. My beef with them is that they’re bad implementations.

See, I’ve been spoiled. For years now I’ve used two add-ons that are so useful they’ve become must-have parts of my Ubuntu toolbox. The first, GNOME Do, provides the same type-to-find interface as the Dash does:

But beyond that, what’s cool about GNOME Do is that it has a plugin architecture, so other developers can add hooks into it that connect it to all the applications you use every day — and lots have! Which means that beyond just finding files and installed applications, GNOME Do can find anything. Start typing a person’s name and GNOME Do will pop up every context in which you know them. Are they in your email address book? GNOME Do can launch your email client and start a new message to them. Are they in your Skype contacts? GNOME Do can have Skype call them. Did their crappy garage band cut a CD that they insisted on giving you a copy of? GNOME Do can start playing it. And all of these actions are equally easy to invoke — just press the down-arrow to scroll through the list of available actions and hit Enter to kick that action off. It’s really absurdly powerful stuff.

The second indispensable tool is Docky. Docky started life as a plugin for GNOME Do, but it eventually split off into its own application. As you might have guessed from the name on the tin, Docky provides… a dock:

Which is sort of the same thing that Unity’s Launcher does. But what’s great about Docky is how configurable it is. You can set it to be variable-width and centered, like the OS X dock, or fixed-width, like Windows 7’s taskbar. (I prefer the Windows 7 style myself, for the reason that Bruce Tognazzini identified ten years ago: when a dock or taskbar’s width is variable, as in OS X, the position on the screen of each icon in the dock will be different at different times depending on how many icons are in the dock at that moment. A fixed-width dock with the pinned icons on one side means those icons will always be in the same place.) Docky looks gorgeous, unlike the Launcher, which looks kinda meh. And like GNOME Do, Docky has a plugin architecture, so devs can build “docklets” and “helpers” to connect up Docky with your favorite apps.

All of which is why I disabled Unity when I updated my Ubuntu box to 11.04 — I already have a setup that does what Unity wants to do, only better. (Thankfully, while Unity is enabled by default in 11.04, you can easily disable it and continue to use other tools like GNOME Do and Docky if you wish.)



It’s good, I suppose, to see Canonical bringing these UI concepts to the general population of Ubuntu users; anything that has to be installed separately from the OS is never going to have the audience it would have if it came preinstalled, so this is going to introduce ideas that GNOME Do and Docky have been working on for ages to a whole new crowd. It saddens me a bit, though: first because Unity’s implementation of these ideas is currently not nearly as compelling as GNOME Do and Docky’s (though I’m sure it’ll get better in future Ubuntu releases), and second because Unity, by the simple fact of being preinstalled on the most popular desktop Linux distribution, may end up crowding out GNOME Do and Docky altogether, in much the same way that IE ended up crowding out Netscape. I would have been happier if Canonical had adopted and extended the GNOME Do and Docky projects, rather than competing with them.

UPDATE (1:49PM): GNOME Do and Docky developer David Siegel responds in the comments, with some context on how Unity and Do/Docky came to diverge. As far as I’m concerned, anyone who 1) built something as freaking cool as Do and Docky and 2) reads this blog is officially a rock star.

UPDATE (4:00PM): A commenter on Reddit says that Dash has a plugin architecture, too, called “lenses.” Which it turns out is true! I’ve tweaked the text of the post to remove the implication that Dash can’t be extended. But there’s still one big difference between the extensibility of Dash and that of Do: there’s already a library of plugins written for Do that hook it up to all sorts of commonly used GNOME applications, where Dash is starting from scratch.

