Tuesday, 14 February 2012

News: Unity and the HUD

"Say hello to the Head-Up Display, or HUD, which will ultimately replace menus in Unity applications.”

Thus Mark Shuttleworth, the Chairman of Canonical, announced the next dev-elopment of the Unity interface at the start of the year. The HUD is intended to apply the Unity Dash search method to any Unity-compliant application.

In a post full of enthusiasm for re-modeling the Graphical User Interface, “...it’s a way for you to express your intent and have the application respond appropriately. We think of it as 'beyond interface', it’s the 'intenterface'... 'intent-driven interface...'”


Mark makes a good case:

“Menus serve two purposes. They act as a standard way to invoke commands which are too infrequently used to warrant... a toolbar button, and they serve as a map of the app’s functionality..., that one can scan to get a feel for ‘what the app does’. It’s command invocation that we think can be improved upon, and that’s where we are focusing our design exploration.

As a means of invoking commands, menus have some advantages.
  • They are always in the same place (top of the window or screen).
  • They are organized in a way that’s quite easy to describe over the phone, or in a text book (“click the Edit-> Preferences menu”), they are pretty fast to read since they are generally arranged in tight vertical columns.
They also have some disadvantages:
  • when they get nested, navigating the tree can become fragile.
  • They require you to read a lot when you probably already know what you want.
  • They are more difficult to use from the keyboard than they should be, since they generally require you to remember something special (hotkeys) or use a very limited subset of the keyboard (arrow navigation).
  • They force developers to make often arbitrary choices about the menu tree (“should Preferences be in Edit or in Tools or in Options?”) and then; 
  • they force users to make equally arbitrary effort to memorize and navigate that tree. ”
The current prototype is a 'vocabulary UI', or VUI, intended to be closer to the way users think; you think of an action or an object in the application - the menu tree is no longer important. What’s critical in this model is the efficient matching of what the user says, and the commands offered up.

It’s supposedly a smart interface, employing fuzzy matching to pick up synonyms and it can learn your usual work patterns so it can prioritize the things you use often.

“When you’ve been using it for a little while it seems like it’s reading your mind, in a good way.” Glad you added that last, Mark.

You should first of all take a look at the demonstration video to see HUD in action. Some of it, such as controlling the Banshee music player, looks very slick already.

User interface changes can be a poisoned chalice; Unity isn't universally liked by all Ubuntu users (restrain yourselves!). while Apple tends to push through any user complaints in its own patrician way, while Microsoft is still struggling for equilibrium with the Ribbon interface which still confuses millions, with its ever-changing clutter of icons

Canonical is going the other way by removing ALL the chrome, menus and 'clutter' from your desktop. It will work with any application that can use the Unity global menu, which includes most GTK and Qt Programs.

Not surprisingly, HUD is meeting a mixed response. For example: “Terrible. Who looks at a GUI and says, 'You know what this needs? More typing.'”

Certainly, when you're in an application with hands on the keyboard in a typing position already, the HUD will be very convenient, but mousing around, say, chasing links on a web site, or tool palettes in GIMP, Inkscape, or Scribus? The clunking Inkscape example in the video 'wiping away nested menus' perversely only illustrates the obstacles HUD has yet to overcome.

Discovery, or 'discoverability' is another area of concern, along with the vocabulary of the user which has to coincide with the lexicon in the HUD before it offers any programs or commands. If the HUD can search on application descriptions and categories too, then it may well work better.

However, HUD is going to have to be some mind reader to help you find commands when you don’t know what you’re looking for? How do you discover menu items that you don’t know they exist? A new user might open a menu, select Edit, look at the selection beyond the standard Find/Replace/… and there’s an item never seen before.

Quite how this is going to work for Asian language territories with typing issues has yet to be seen.

HUD is currently a first cut prototype available for the 12.04 Alpha release and, if you're brave, you can install it in 11.04. It is entirely dependent on Unity 3-D overlays and transparency effects, however, so without these, you won't even see it, much less be able to try it. RC