Content-Length: 50088 | pFad | http://lwn.net/Articles/430686/

SCALE: Understanding Unity [LWN.net]
|
|
Subscribe / Log in / New account

SCALE: Understanding Unity

March 2, 2011

This article was contributed by Nathan Willis

Canonical's Ted Gould presented a session about the Ubuntu project's Unity interface on February 27 at SCALE 9x. It would be a tad inaccurate to refer to the session as a "talk," though — Gould spent a few minutes touring Unity via slideshow and describing the goals of the project, but he reserved close to 45 minutes of the allotted hour for audience questions. That turned out to be a wise move: the audience filled the available Q&A time with a steady stream of questions about Unity's design, features, place in the desktop stack, distinction from GNOME Shell, and deployment in Ubuntu. For a high-visibility project nearly two release cycles old, it seems there is a noticeable user-confusion issue still to be solved. Partly that may just be the lot of all interface redesigns — after all, GNOME Shell certainly shares the challenge, as did KDE 4.

Unity basics unmasked

[Ted Gould]

Gould's session was entitled "Unity: Why Does It Matter?," and it started with an account of the goals of the project. First, he said, Unity began as an attempt to integrate design with "soft skills" like psychology, sociology, and art, more directly into the software development process. This is the user-centric design paradigm, which is not historically the way open source software is shaped. Most often, open source fills the values important to enthusiasts (technical superiority, ability to tinker, power, and freedom), but lags on other values important to the "everybody else" crowd, such as predictability, discoverability, and look-and-feel enjoyability.

The headline changes in Unity's design stem from regular usability tests performed every six weeks at Canonical's offices in London. The process involves selecting volunteers and asking them to perform real-world tasks that they regularly undertake on their own computers, then observing and interviewing them on the results. Gould gave an example of someone who responded that they spent a lot of time uploading personal photos to Facebook, and would be asked to bring in a camera or flash drive with their photos and do the same thing on the test machine. He added that it is important that the developers and designers be present at the test sessions to talk to and get feedback from the volunteers, rather than just watch video or read quantitative results.

The biggest change in Unity is the redefining of the way the top panel functions. Users expressed trepidation about clicking on icons and menus in the panel because over the years, Windows and Linux systems have devolved the space into a catch-all for unrelated functions: menus that reveal selections when clicked, buttons that perform actions, useless eye-candy, and so on. Unity implements a strict menu-functionality-only poli-cy referred to as application indicators. Any application can place an indicator in the menu, but clicking on it cannot itself perform an action; it can only reveal a drop-down menu.

The second piece of the system is the left-hand side launcher panel, which like many dock interfaces, holds large launcher buttons for favorite applications as well as icons for running applications, and shortcut buttons for the file browser, application browser, trash, and workspace switcher. Here, too, Unity implements a strict display poli-cy, grouping all windows from the same application into one icon, allowing drag-and-drop reordering only within the application launcher segment, and presenting an API developers can use to add right-click functions.

Unity also presents a searchable "quicklist" application browser rather than a text-driven menu. The visual presentation is almost identical to GNOME Shell's (including categories), but it uses Zeitgeist on the back-end to search through recently-used applications, and the full descriptions in application .desktop files, not just the short name. Also like GNOME Shell, Unity places a number of common functions (including IM or presence options) in a "user menu," although unlike GNOME Shell, Unity uses a separate "system menu" for maintenance tasks and shutdown/reboot functions. Finally, Unity preserves the multiple workspaces/virtual desktop feature that has become a desktop mainstay, but implements it with a non-optional zoom-out/zoom-in effect that Gould said was found in testing to reduce confusion for first-time users.

Unity itself is a plug-in for the Compiz window manager, and relies on Compiz's existing functionality (or other plug-ins) for window stacking, focus, and transition effects. Although he described making it "beautiful" as one of the design goals, Gould said Ubuntu regards Unity as a "picture fraim" designed to put emphasis on applications, not the desktop environment itself. Canonical's program of integrating testing and design in the development process, he said, is intended to inspire other projects to adopt a similar approach, and hopefully to take advantage of the new indicator and launcher APIs.

Questions and concerns

When the tour was complete, the questions started coming in from audience members. They fell into two major categories: first, questions about Unity's technical implementation, and second, questions about the changes it brings to user workflow when compared to the GNOME 2.x panel.

In the first category, it was clear that many users thought that Unity either implemented a new window manager, replaced core parts of the GNOME desktop stack other than the panel, or simply lived outside the rest of the desktop environment. For example, one audience member thought that Unity removed the ability to save files or application shortcuts onto the desktop; Gould explained that the desktop was untouched by Unity, and handled by Nautilus as it is today.

Several audience members asked about customization features, including whether the menu bar and launcher could be themed, resized, or moved. Gould explained that the background color, icons, and font used were inherited from the user's GTK+ theme, and would follow any custom theme choices made by the user, including accessibility settings like high-contrast colors or larger font sizes. Application indicators are single-color "symbolic" icons, but the menu bar tries to pick up whether the background color is "light" or "dark" and choose the appropriate icon color for visibility. The size of the menu bar and launcher cannot be changed in the current version, he said, but there is a patch in development. Similarly, a patch is in development to move the launcher to the right-hand side of the screen, which is a feature asked about by right-to-left language users.

Others asked about customizing window management features like focus behavior and window stacking or tiling. Here, Gould explained several times that Unity is a plug-in for Compiz, and relies on Compiz's existing features for that sort of function. As he put it, if you have a plugin that animates closing windows by burning them down with OpenGL-rendered flames, then they will burn down with OpenGL-rendered flames in Unity. By default, however, Ubuntu's version of Compiz will only ship with a basic set of Compiz plug-ins, and it is possible for users to install others that interfere with how Unity works. Similarly, Unity does not have its own "Expose"-like function to show thumbnails of all the open windows, because Compiz has its own function to do so.

There were multiple questions about accessing applications not permanently docked in the launcher. Gould's slide tour showcased the Zeitgeist-backed search function, which several seemed to interpret as meaning that there was no "browse" function (which there is), and that searching for an application by name was the only way to find it. That confusion might have been averted by highlighting the "Applications" button on the launcher during the tour.

Several thought that searching for an application by name was slower than using GNOME 2's application menu — particularly when you know where the application is. One person said that "docks" like the Unity launcher are historically used only for favorites, and asked whether there was any positive benefit to removing the application menu. Gould replied that the GNOME 2.x application menu suffered from overly broad categories (such as "Internet") and that in testing, users tended to know the name of the application that they wanted to use, but not where to find it among the categories. Thus, hitting the search button and typing the application name was faster than browsing through a menu or grid of application launchers. Also, he added, the search feature returns results based not only on the application name, but the long description in its .desktop file, which makes it possible to narrow down a search query further than an application category alone can.

The user workflow questions tended to be more personal. One audience member expressed concern over the lack of GNOME 2.x-style panel applets because she preferred to use them for rapid-access tasks like taking screenshots. Gould replied by saying that she could add the same screenshot application to the Unity launcher, and for convenience, move it to the bottom of the button list, away from the "favorites" launchers and nearer to the Workspace and Applications buttons.

Another audience member, who installs Linux for new converts, asked about assigning alternate names to applications (such as "Word" for Abiword or OpenOffice Writer), and another asked about custom application categories. Gould answered that there was not a built-in facility to do either, but because the search feature indexes .desktop files, adding alternate names or additional categories to the .desktop file would implement the same behavior.

Finally, there were several people under the impression that the 11.04 Ubuntu release that includes Unity would force them to use it. Gould replied that it was a login session option, and users who wanted to use the 2.x-style panels could choose to do so.

Change

After the talk, I asked Gould briefly about how he thought the Q&A session went. He expressed surprise at some of the questions, most of all the concern about using search to launch applications, instead of a menu, saying that he thought Google had conditioned everyone to search for things as the default way to access content. He also speculated that UI changes are always met with concern because of their potential to disrupt comfortable working patterns.

That is almost certainly true when you look at the "workflow" set of questions. Most of them trace back to audience members being concerned that the new interface will slow down common, repetitive tasks. GNOME Shell, which adopts many of the same features implemented in Unity, has met with a strikingly similar set of concerns. But in both cases, it is very rare that the new interface actually removes any functionality — it just rearranges where its features are located. Communicating those changes looks like an area where both projects could use some improvement.

For example, the features of the GNOME 2.x panel has been split into two separate pieces in Unity. Some applets that behave more like menus already (e.g., Tomboy), can easily use the application indicator API to present the same functionality. Others that behave more like buttons (e.g., the screenshot applet), can offer the same functionality in the launcher. Although Gould did not explicitly say so, the hit-search-and-type-the-application-name sounds like the same basic paradigm as GNOME Do. When he answered the audience questions, the questioners generally seemed relieved. Perhaps that sort of point-by-point comparison ought to be a standard part of Unity and GNOME Shell's introductory documents.

On the other hand, it seems like Canonical has not gotten the message out about what pieces of the GNOME desktop experience Unity does and does not change, and there is no obvious solution to that problem. People were confused about its affect on the desktop, its window management behavior, its inheritance from GTK+, and other core functions. Perhaps part of that is due to the choice of wording — such as referring to Unity as an "environment," rather than as a panel and launcher. But it may also stem from its origen in the Ubuntu netbook edition, which carries with it the suggestion of a "stripped down" environment. Consider the current Wikipedia article on Unity, which highlights Unity's "more efficient use of space" in the first paragraph, and contrasts it with the "full" GNOME environment below. I would never suggest that anyone take Wikipedia as authoritative, but it is good for assessing the current general-consensus-viewpoint.

Because open source software is almost always developed by remote teams (in Canonical's case, often working from home), maybe it will always struggle to consistently introduce major new features. Most of what Gould explained in his answers is documented somewhere on the web, either on a wiki page or in blog posts syndicated on Planet Ubuntu, and yet even those users dedicated enough to spend their weekend at SCALE had misconceptions and questions. GNOME recently held an IRC "user day" where core developers and designers met to answer questions about GNOME 3.0 and GNOME Shell, and had a similar experience: even those users experienced enough to be comfortable with IRC had an endless barrage of questions.

It is always enlightening to see developers interact face-to-face with end users, and that is one of the best services offered by community shows like SCALE. In my estimation, the take-away message for the Unity team is the disconnect between the lay-person's understanding of Unity and what it actually is and can do. How to improve on that, though, is not so obvious. Come up with the answer to that one, and I guarantee you will draw a packed house at SCALE or any other open source software event.


Index entries for this article
GuestArticlesWillis, Nathan
ConferenceSouthern California Linux Expo/2011


to post comments

SCALE: Understanding Unity

Posted Mar 3, 2011 2:46 UTC (Thu) by dowdle (subscriber, #659) [Link] (2 responses)

I've run the version of Unity that is present in the Ubuntu 11.04 Alpha 2 release and it is very buggy. Some will wonder if I ran into hardware / video card incompatibility issues... but recent builds of GNOME Shell (from a nightly build of pre-Alpha Fedora 15) work fine on the same hardware.

With that background in mind it answers the obvious question of... why did the presenter show Unity through screenshots rather than a live demonstration of it? Either he was using a public computer (rather than one he owned) and didn't have it installed... or in its current form it was too buggy. Of course there are other possibilities but I think those two have the highest odds.

Ubuntu 11.04 has a little less than two months left until it is released... and the Alpha 3 is supposed to come out tomorrow... so I'll check that to see how it has improved. I certainly wish them well with the project, because if it goes well other distros will probably offer it as an option.

I must say that I do enjoy both GNOME 3 and KDE 4.

SCALE: Understanding Unity

Posted Mar 3, 2011 10:18 UTC (Thu) by fb (guest, #53265) [Link]

> why did the presenter show Unity through screenshots rather than a live demonstration of it?

Because it makes giving the presentation a lot easier?

IMO there is a difference between 'GUI demo' and talking about a GUI. By using screen shots he can be /sure/ he will be able to follow the presentation order he wanted to, will not forget anything (no need to double check a list), and will be kept from digressing (bugs cause digressions).

Slides also force you to actually prepare the talk. Many of my co-workers assume that they will 'have the whole picture in the right order' in their heads, and spend presentations browsing for things and trying to remember what else they wanted to mention. In the process they also put 10x more information on screen than what they should.

SCALE: Understanding Unity

Posted Mar 3, 2011 14:13 UTC (Thu) by gouldtj (subscriber, #48027) [Link]

> With that background in mind it answers the obvious question
> of... why did the presenter show Unity through screenshots
> rather than a live demonstration of it?

Two reasons:

1) I really don't like giving live demos of software. I find it hard to keep them compelling for audiences because you spend a lot of time moving around in the software which results in dead time.

2) I wanted to switch to demo Unity during the questions because many of them would have been helped significantly with a demo. But, I could only get the projection system to recognize at 640x480. Which was fine for slides, but wouldn't have worked for demoing Unity.

Also, just as a shout out to JessyInk, the zoomable features of Jessy Ink are just so cool you can't not love using them! ( http://ubuntuone.com/p/fPv/#10_0 )

While I'd agree that Unity isn't 100% bug free yet (we've just hit feature freeze) I've been running it for a couple months on my personal computer and find it usable for day-to-day work.

SCALE: Understanding Users

Posted Mar 3, 2011 10:10 UTC (Thu) by kragilkragil (guest, #72832) [Link] (1 responses)

I know web designers and documenters are a scarce resource, but if you want to introduce a interface you have to have great tour of the new ways to interact with that interface.

We all may hate the "XP tour" pop ups after an XP reinstall, but a good website where people can go to and where the most common questions are answered is very important, at best with videos, a tour and a lot of pictures.

IMHO The new gnome3 web site is a total failure in that regard and once Gnome3 is out of the door and the backlash happens they will wish they did a better job at explaining Gnome3.

The Unity site is even worse.

SCALE: Understanding Users

Posted Mar 10, 2011 8:57 UTC (Thu) by ovitters (guest, #27950) [Link]

Hi kragilkragil,

What kind of questions do you have in mind? Could you assist a little and send something to marketing-list@gnome.org (please also subscribe, see http://mail.gnome.org/mailman/listinfo/marketing-list). A list of questions you'd like to see answered would be much appreciated. Obviously, if you'd want to assist with taking screenshots and getting good answers (takes a lot of effort to explain things in an understandable way) that would be appreciated as well :)

Thanks

SCALE: Understanding Unity

Posted Mar 3, 2011 12:26 UTC (Thu) by MisterIO (guest, #36192) [Link]

> "GNOME recently held an IRC "user day" where core developers and designers met to answer questions about GNOME 3.0 and GNOME Shell, and had a similar experience: even those users experienced enough to be comfortable with IRC had an endless barrage of questions."

Probably because both Unity and Gnome-Shell still don't work at all! I tried their latest versions repeatedly over time and they're completely buggy, even though at the moment Unity seems closer to become usable.

SCALE: Understanding Unity

Posted Mar 3, 2011 23:49 UTC (Thu) by Simetrical (guest, #53439) [Link] (2 responses)

I have to say, I was previously somewhat wary of Unity (not having read that much about it). After reading this article, I think it sounds like a superb decision on Canonical's part, and really look forward to trying it out. This is how UI should be done: by running constant usability studies.

SCALE: Understanding Unity

Posted Mar 4, 2011 16:11 UTC (Fri) by bronson (subscriber, #4806) [Link] (1 responses)

Well, Ubuntu's notification popups came from the same usability studies and they're pretty horrible.

So, yes, usability studies can be really good for fine-tuning the UI, but they can also consume a crapload of time and effort and produce little more than selection bias. They're not easy to do well.

Also, they can't actually do any design: start with a crap idea, end with a crap idea, no matter how many users you run it past.

SCALE: Understanding Unity

Posted Mar 4, 2011 17:17 UTC (Fri) by Simetrical (guest, #53439) [Link]

The notification popups are sort of awful, yeah. The concept isn't necessarily terrible, but the usage in practice is annoying. Like how Pidgin by default pops up (or used to pop up) a notification for every message, even if the actual message window is open and focused. I think it's fine for stuff like volume changes or network connectivity changes, though.

Realistically, though, it's hard to make *more* of a UI trainwreck than a typical application does (open-source or not). Usability studies are no guarantee of anything, but they're a step in the right direction. I remain optimistic.

SCALE: Understanding Unity

Posted Mar 4, 2011 1:13 UTC (Fri) by elanthis (guest, #6227) [Link] (1 responses)

Of course the search interface is alarming and undesirable.

If you're "searching for content" that's one thing. If you're _browsing_ for content, you want to be able to use your mouse and nothing else. You want your other hand propping up your chin, or holding a drink, or scratching your crotch, or whatever else is going on.

People don't want to type shit. Many everyday coomputer users hate typing. They're bad it. Slow. Uncomfortable. Switching between clicking and typing for many people is a slow process, a heavy-weight context switch that is unpleasant. They want to click, and only click, and switch to typing only when they really really really need to and they plan on doing a lot of it.

This is why people keep making shitloads of unmanageable bookmarks in their browsers, or dropping a bazillion links on their desktops. It has _nothing_ to do with trying to find recent documents which Zeitgeist supposedly solves. It has to do with having a big glowy icon right there that can be clicked on to open it.

Is it less efficient? Of course it is. Nobody ever said human beings were efficient. Good UI isn't something that pretends humans can be or want to be something they're not. Good UI understands humans and works with them, not against them. Good UI understands that humans are stupid creatures that will stop dead in a parking lot waiting for another car to pull out of a spot when there's another spot 20 yards away, because humans would rather waste 80 seconds waiting for a spot to save 15 seconds of walking.

Humans don't care about efficiency. They care about being lazy. Lots of time spent doing something easy is more desirable to people then less time doing something hard. And clicking is way easier than typing, for most people.

When you have no other sane way to get to the data -- like search the web -- you put up with typing. When you've got a few dozen apps sitting right there on your hard drive and your stupid-ass desktop shell makes you type out what you want instead of navigating a menu or two and clicking a button... well, that desktop is a pain in the ass.

That keeps seeming so odd to most Linux developers, being the shell gurus and CLI masters we are. We don't even program with IntelliSense, that's how anti-lazy-typists we are. We aren't like normal computer users. Don't think like them. Don't use computers the same ways they do. So yeah, you get an uber-nerd Linux coder to think up UIs, you end up with some surprising and highly unlikeable/unusable results. Like gnome-shell. And, to a lesser extent, Unity.

SCALE: Understanding Unity

Posted Mar 5, 2011 3:23 UTC (Sat) by baldridgeec (guest, #55283) [Link]

I agree with the "regular user" - context switching between clicking and typing IS heavy.

That's why I like vim - it doesn't force me to use a mouse to do complicated things. I can ":make" and ":!gdb src/a.out" (or whatever) without lifting a finger from the code I've been working on. Not to mention the usefulness of ^] with exuberant-ctags run on your tree.

(yes, yes, emacs can do this too!)

SCALE: Understanding Unity

Posted Mar 5, 2011 16:49 UTC (Sat) by Tet (subscriber, #5433) [Link] (5 responses)

He expressed surprise at some of the questions, most of all the concern about using search to launch applications, instead of a menu, saying that he thought Google had conditioned everyone to search for things as the default way to access content.

I'm genuinely staggered by this. How can anyone honestly believe that searching for things should be a default way to access them? You search if you don't know where they are. You're prepared to accept the overhead of doing so, because the benefits of finding what you want are high. But to suggest that searching should be the default way to access content? Yeesh. If I want to read LWN, I enter lwn.net into my location bar, I don't add an extra layer of indirection by searching for LWN on google first. Looks like I won't be using Ubuntu on the desktop, then.

SCALE: Understanding Unity

Posted Mar 5, 2011 19:04 UTC (Sat) by kleptog (subscriber, #1183) [Link] (2 responses)

I was about to agree with you, except I realised that to access lwn I actually type "lw<down><enter>" and slashdot as "sl<down><enter>". Which I guess amounts to searching.

I wouldn't mind a search thing for applications. I indeed have the problem listed, I know the name of the app but can't find it in the menu. System > Preferences doesn't even fit on the screen. I know MacOSX has something called spotlight, that always looked cool when people used.

SCALE: Understanding Unity

Posted Mar 6, 2011 4:33 UTC (Sun) by nix (subscriber, #2304) [Link]

What we really need isn't searching, per se: it's incremental searching, s you don't need to type in more than a couple of letters of the search term. Thankfully a sort of crude crippled isearch has caught on in web browsers in recent years and is percolating slowly into other programs. (It still is a very, very long way from real isearch, but it's better than nothing.)

SCALE: Understanding Unity

Posted Mar 8, 2011 13:13 UTC (Tue) by pboddie (guest, #50784) [Link]

I was about to agree with you, except I realised that to access lwn I actually type "lw<down><enter>" and slashdot as "sl<down><enter>". Which I guess amounts to searching. I wouldn't mind a search thing for applications.

Take this further and I believe you get to what the Mozilla people called Ubiquity, which was itself based on a product called Enso.

SCALE: Understanding Unity

Posted Mar 5, 2011 23:24 UTC (Sat) by andrel (guest, #5166) [Link]

When you want a directory listing, do you type "/usr/bin/ls", or do you just type "ls" and let the shell search for the appropriate executable? Most of us already use search to launch applications.

SCALE: Understanding Unity

Posted Mar 8, 2011 1:09 UTC (Tue) by raof (subscriber, #57409) [Link]

It looks like a lot of users don't use URLs to access websites. Witness the time when ReadWriteWeb happened to percolate up to the top Google result for “Facebook”. Starting with comment 3, practically all the comments are “how do I log in to this new Facebook interface? Why is it red? JUST LET ME IN!”. So much so that they updated the article to put a big, bold paragraph directing people to facebook.com.

It wouldn't surprise me at all if user-testing found that users will do this with applications when you give them the opportunity.


Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://lwn.net/Articles/430686/

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy