
Introducing the HUD. Say hello to the future of the menu - Symmetry
http://www.markshuttleworth.com/archives/939
======
daleharvey
Heh as with most announcments where ubuntu makes changes to the UI the tech
community is pretty dismissive, I for one love the fact that canonical are
pushing forward a linux desktop experience in a way nobobdy else is, I didnt
like unity much, but I trust these guys to fix it.

I find well done command interfaces much better than traditional menus for
quite a lot of reasons

* they scale better, 10 items is a similiar experience to 100

* they are more discoverable, just start typing a word and go through the list of match (where help can be included)

* they can show information, each command can have a descriptive sentence (and a link to help), icons in a menu sometimes get tiny alt text

* they can adapt to your behaviour, if I use firefox all the time, pressing f in alfred give me firefox

~~~
tspiteri
_they are more discoverable, just start typing a word and go through the list
of match_

I don't think that's discoverable. That is searchable: they do make it easier
to search for a command you require without having to know under which menu to
find it.

But they seem to be less discoverable in the sense that you cannot just browse
through the menus to discover features. Having said that, there are probably
ways to provide the discoverability of current menus, e.g., just list all the
main menu items under each other, then typing a main menu item will show its
items...

Still, discovering new features is not something you do nearly as often as
using features you are familiar with, so the trade off seems to be a good one.

~~~
dredmorbius
If the commands correspond to some set of objects (reserved words, defined
functions, builtins, on-disk executables), then discoverability is indeed
high.

Conventions also matter. Most Linux and GNU utilities offer:

\- manpages (or, deprecated, info pages) \- a brief help with some variant of
"-h|-?|--help" \- package information under /usr/share/doc/, generally with a
pointer to upstream.

They'll often include readline command editing, command completion, and other
features, all very useful.

Systems such as Debian's 'dwww' (built in web-enabled documentation
integration) allow accessing all of this and more through your browser, if you
prefer.

Not all utilities offer this. I've seen more than my share of proprietary CLI
tools with very, very poor documentation and discoverability, so this isn't
something that's inherent to CLIs. But it's certainly doable.

I see some 3200+ commands available on my search path, plus shell builtins and
functions. My shell history includes fewer than 200 ($HISTSIZE=3000).

The situation for GUIs is very nearly always worse. Except for minimal
interfaces, it's difficult to present more than a dozen or so options at a
time. Some level of predictive completion may help, but in doing so you're
starting to bridge the divide between a pure menu and a CLI.

I've found myself preferring CLIs increasingly, even in nominally GUI tools.
The vimperator plugin for firefox claws back crucially useful vertical real-
estate while offering a very powerful interface to my browser.

~~~
itsameta4
Perhaps I'm misreading you, but what's wrong with "bridging the divide between
menus and CLI's"?

That kind of thing sounds like an excellent fit, especially for the programs
shown in the accompanying video. Some things just work better with a visual
interface - web browsing, graphics work, etc - so the ability to get away from
the graphical sparseness of a CLI implementation while keeping its speed and
expressiveness sounds like an excellent compromise to me.

~~~
dredmorbius
It depends on the purpose/goal.

The HUD proposal of Shuttleworth, on reading, is actually somewhat similar to
how vimperator presently works. I can activate the statusbar with a ':' (same
as in vi), and either hit tab or start typing. Though I don't get teh shinay
overlay transparent displays, I'll get a list of completions for commands,
URLs, bookmarks, etc.

Which is great when you're in front of a keyboard. When I'm using my phone
(Android), I'm often annoyed at how niggly the interface is, and how much
typing I have to do, in an environment which really does NOT support it well.

There are also users who simply learn things by rote. They don't know the
commands, they don't understand the process, they simply click on a known
element or (rarely) type something -- rarely more than their username or
password. "My mom" or "Aunt Tilly" are the classic (if sexist) examples, but
the former is certainly accurate in my case. She actively fears computers and
loses about 50% of her confidence the second you park her in front of one.

As much as _I_ think I'd like the HUD, I really do NOT think it would work for
her.

Which is where Ubuntu is getting schizoid. For the past five years, it's
seemed that the distro has been aiming for wider and broader appeal, with
ease-of-use functions that appeal to the 99% (or more accurately, the 99.99%)
-- the technologically naive (or illiterate, if you prefer). Which really
pisses off this particular element of the 0.01% when I'm stuck on that
interface.

It appears that the distro's taking a hard tack in the opposite direction now.

My own suggestion: do NOT aim for a one-size-fits-all interface. Simply ain't
gonna work. Sure, all you Mac users will try to convince me otherwise, but
aqua's an interface I find myself grossly stymied in.

------
jasonkester
_Even casual users find typing faster than mousing._

Casual _Linux_ users, perhaps? I can't imagine anybody who's ever watched a
casual _computer_ user use a computer saying anything like the above quote.

Most people have the mouse in their hand the entire time, and usually don't
have their other hand anywhere near the keyboard. Typing involves not only
clicking into a box and dropping the mouse, but actually leaning the entire
body forward in order to reach the keyboard.

Even I, computer programmer by trade, spend the majority of my life in "first
person shooter mode" rather than "typing mode" because most of a web dev's
life is debugging things that happen in the browser (a mousish place), and
pretty much anything you need to do along the code-analysis line can be done
with a combination of pointing and left-handing.

If you make me drop my mouse every time I need to interact with an application
on your OS, I don't think I'll use your OS.

~~~
factorizer
Aha: Web developers have to use the mouse all the time. Interesting. Also
thanks: Everytime I read something like this, it reminds me to never touch
something like web development ever.

~~~
crazygringo
That's really not contributing to the discussion at all.

------
mrdingle
Man we really despise innovation attempts for some reason today on HN.
Canonical is trying to push computing into the future and progress user
interface by doing really hard stuff. They're sailing uncharted waters and
giving us all a lot of good research, and all for free. This is honestly
awesome. Not because it's going to be a UI revolution but because we get to
see a well funded company, that cares about user rights, genuinely trying to
innovate and make our lives better.

Plus the HUD sounds great. Anyone here use Quicksilver or mac spotlight or
gnome do? I use them non stop, I can launch/search/command my computer using a
simple interface without leaving my keyboard. Now I have this built into each
application. And soon developers will start to build applications with this in
mind and it'll get even slicker.

Theres no reason to poo on Canonical. They are trying super hard in the face
of an ungrateful tech community. It's not about developing the system you
personally would enjoy. It's about innovation and the future.

Think different mother fuckers.

~~~
zanny
I think the consensus is that everyone wants Ubuntu to be the "mainstream"
Linux, which is most like the other mainstream desktop OSes and can be put up
on a pedistal for its stability. All the recent changes like Unity and now
this shake up a paradigm that has been in place for 2 decades.

I know for a fact that things like Unity keep me from installing Ubuntu on
every family members PC as a general purpose OS. They are too different from
Windows (nobody on my side really got on the OSX bandwagon) and then because
of these constant huge UI changes things break that they can't fix and it
would frustrate them to no end.

I don't want to speak for everyone, but I want to see experimental projects
like this in some kind of Ubuntu test bad like Firefox has Aurora / Nightly to
test new features. Things that work and are widely popular could be pushed
into mainline releases, and things that aren't can be scrapped, maybe
revisited later.

But throwing these paradigm shifts into release products makes everyone lean
away from Ubuntu as a general purpose OS, which is what it was becoming best
at. I think everyone just mourns the loss of potential.

~~~
notatoad
the only consensus i'm seeing is that everybody wants to hate ubuntu. a
mainstream product is the perfect place to test new UI concepts, because
mainstream users don't care about these things and they don't have any
expectations. despite what you might think, being very similar but not quite
windows is not a good thing for a mainstream user.

everybody i've tested unity on has adapted to it really quickly. the very
basics need teaching (things like showing them how to open the launcher), but
beyond that users are pretty good at discovering things for themselves. the
problem with making things very like windows is that people expect it to be
exactly like windows, and panic when something isn't where they expect it to
be. unity removes expectations and the user starts off with a blank slate, and
they can learn fairly quickly. also, mainstream users don't panic over change
they way you imply they do. they just don't notice change. there's a
presentation from google that mentions when testing google instant, many users
didn't even notice anything different.

the people who are hating on unity and ubuntu are not speaking for the
mainstream, they are speaking for the power users who have a library of
learned behaviours that they don't want to unlearn. a mainstream user doesn't
have a whole lot of learned behaviours to overcome, and they will benefit more
from a UI improvement than any other because so many of them are essentially
re-learning the system every single time they try to accomplish something.
lots of people say they want ubuntu to be built for the mainstream, but what
they actually mean is that they want is a distro built specifically for
themselves.

~~~
wvenable
> mainstream users don't care about these things and they don't have any
> expectations.

You talk like a "mainstream" user has never used a computer before.

> the very basics need teaching (things like showing them how to open the
> launcher),

This is the reason why, in Windows, the start button is called the start
button. After all these years, the start button doesn't have a label anymore
because everyone, everywhere, now knows you that click the button in the
bottom left corner to do anything.

~~~
notatoad
for all intents and purposes, it's pretty safe to assume that a mainstream
user has never used a computer before. after a couple years of onsite tech
support, the biggest thing i took away was that when the average user sits
down at a computer, they don't remember any usage patterns they may have
learned during their last session. the way to make your UI usable is to assume
that every user is using your software for the first time, every time.

there was a good rant on the verge a while back about the condescending UI,
but from everything i've seen a little condescension is an essential part of a
good UI.

------
stevelosh
If you want something similar in OS X right now (though not with super-fuzzy
matching like this seems to have) you can just use the search box in the help
menu to search for menu items.

It looks like this, and you can press return to activate the item:
<http://i.imgur.com/uJPgD.png>

I've mapped Ctrl+M to move me there instantly with Keymando:

    
    
        map "<Ctrl-m>" do
            send('<Ctrl-F2>')
            send('<left>')
            send('<down>')
        end
    

EDIT: Turns out there's already a shortcut for this: Ctrl-Shift-/. XCode
overrides it though, so I'll be keeping my mapping.

EDIT 2: Ah, yeah, it's Cmd, not Ctrl. I still like my two-key version though.

~~~
navs
qsb-mac, which I think is now dead, was great because it allowed you to access
menu items for any app with minimal fuss.

Quicksilver also has a plugin called 'User interface+' that gives you the same
option. Combined with proxies for current application, its a powerful tool.

Great alternatives to cmd+Shift+/ which can be really slow especially on
browsers where menu items include history and bookmarks.

~~~
miles_matthias
One big downside to cmd+shift+/ is that it doesn't work with full screen apps.

------
tomp
Oh my...

> will ultimately replace menus in Unity applications

Why? Obviously, HUD and menus have different functions, and different use. GUI
menus might be more appropriate for GUI applications, since you have your hand
on the mouse already and you don't need to move it to the keyboard to type the
command.

> fuzzy matching, and it can learn what you usually do so it can prioritise
> the things you use often.

Every time that I saw something like this in any application/OS (Android is a
prime example), it was such an epic fail that it is almost beyond words.

1) I usually learn faster than a computer, so the way I see it is not computer
"learning", but computer arbitrarily "changing" its behaviour. So, instead of
memorizing "to call Jack, I have to press J and Down and Down", I have to
always pay attention when the interface changes...

2) If there are some actions that I do much more commonly, then give me a way
to access these actions more directly (interface buttons, scripting, keyboard
shortcuts). But, in any case, my shortcuts will be almost always better than
"automatic" ones, and also, mine won't change.

Fuzzy matching can be good, but I've yet to see a good implementation, and it,
above all, has to be __consistent __! Not as in Android, where matching is
"fuzzy" for calling, but exact for SMS...

~~~
jessriedel
>> fuzzy matching, and it can learn what you usually do so it can prioritise
the things you use often.

>Every time that I saw something like this in any application/OS (Android is a
prime example), it was such an epic fail that it is almost beyond words.

A counterexample: the fuzzy matching in the address bar for firefox and chrome
is awesome. Typing "Hacker" brings up "news.ycombinator.com -- Hacker News".

It would be awesome if the HUD could operate like this, * especially* as an
alternative (not replacement) for menus (which are probably more efficient for
common commands).

~~~
tomp
that's true, but sometimes it's a bit too smart for my taste... There is an
internal company website that I often visit, say test.company.com. Chrome
always autocompletes this with test.company.com/admin, even though I quite
often also visit other parts of the domain, say /backend, /statistics, and so
on... Now, the action is self-reinforcing, as I would type "t", press -> to
autocomplete it, delete until there was just "test.company.com/", then select
one of the options that only now show in the dropdown menu.

------
rcthompson
I think there's an interesting behind-the-scenes change that is being
demonstrated here: the transition from "every app handles displaying its own
menu" to "apps just export their menu structure over DBus, and another program
handles displaying them" is what makes it even possible to add the HUD to
_all_ applications instead of just developing a single app that uses a HUD
instead of menus and leaving the rest behind. Now that all the applications
are exporting their menus over DBus, if you don't like Canonical's menu
interface, you can _write your own_ and it will work with _all applications_.
That's pretty cool.

For instance, any one of the Quicksilver-alikes available for Linux could add
a plugin that turns it into a frontend for all your application menus. The KDE
Alt+F2 run dialog could do likewise. Hell, you could write a menu interface in
Emacs Lisp if you really wanted to, and control _all_ your applications from
the Emacs minibuffer.

~~~
jablan
I am not sure whether this would be possible, as menus are contextual - the
launcher (QS-clone, Emacs, whatever) would have to keep your current
application focused, i.e. not take over its focus in order to display its
menu, right?

~~~
rcthompson
I believe that all applications that support this do so by exporting their
menu structures over DBus at all times, not just when they are focused. For
context, a launcher could provide access to all application menus, but
prioritize results based on which applications were most recently accessed. Or
just keep it simple and go with only the most recently focused one.

------
mbq
This is based on a stupid idea that keyboard shortcuts are fast only because
they are done on a keyboard. But this is simply false -- they are fast because
they are simple gestures I can train and perform without thinking about it.
Same applies to mouse -- in a well designed GUI, one can easily train to
select an option or go through a dialog box with a blink of an eye.

Now, typing anything is just a complex procedure involving quite a lot of
attention; what's worse, it cannot be trained since this HUD's response for a
certain input will be mostly unpredictable depending of the state of its fuzzy
AI. Not to mention that it additionally makes one constantly waste time on
reading HUD window to check what action it is planning to execute.

Finally, when drawing or using any heavy mouse-dependent application one
usually can fire keyboard shortcuts with one hand while the second is
constantly holding mouse -- typing requires two hands, so it makes one waste
additional time to grab the mouse back and re-adjust hand.

~~~
chrisdroukas
I think I may have a better idea for the HUD.

I'm on OS X right now, and I use Spotlight for absolutely everything. The help
menu has a feature to Spotlight within menus, but it's not great if you don't
know the literal name of the command (like save or open). Things can get
complex quickly in robust applications.

What about appending alternative names to menu commands as metadata, so when a
user searches for 'paint bucket' in Photoshop, they're driven to 'fill'. I'd
imagine that's the easiest way to map _intent_ to _action_. Further still,
make menus public data-driven — learn common intent by what users search for
and end up clicking on.

The use cases for this might be small, but the benefit of keyboard shortcuts
is in discovery. Users should be able to articulate to applications what they
intend to do.

Edit: If this exists already, we're living in the future.

~~~
Schlaefer
> Edit: If this exists already, we're living in the future.

Try the OS X System Preferences search field. It's there since 10.4ish?

~~~
chrisdroukas
That globally would be amazing.

------
nickolai
I may have missed it, but have they actuelly had real users(i.e. not ui
designers) do some usability testing (i.e. actual real work) on this? Coming
up with it an pushing it into a public release in 4 months looks risky to me.
Given how frustrated some users were with Unity, I really hope they learned
the lesson.

This as presented this has a _very_ high risk of turning into a "guess what
the designers were thinking" game. While very flattering to the designer, it
is frustrating as hell to the user. Arguably the current interfaces offer
pretty much the same issue : a "guess in which menu I put the option" game -
however there is one crucial difference : we got used to the current one, and
actually have a really good idea how the designers were thinking - and where
they put that option.

EDIT : Right. I did miss that. Thanks.

~~~
JoachimSchipper
Look under "Even better for the power user": at least _some_ testing was done.

~~~
brudgers
I doubt it was to the degree Microsoft tested the ribbon:

<http://www.youtube.com/watch?v=Tl9kD693ie4>

~~~
itsameta4
In fairness, few companies test _anything_ as much as Microsoft tests
_everything_.

------
andrewgodwin
My main concern with this is discoverability - menus are helpful in that they
convey a very precise listing of the app's possible actions (when designed
well), something that's hard to otherwise come by.

Blender is perhaps the extreme example of this - it has an incredible amount
of features, so they can't be placed into menus, and you spend some time
learning where (in the hundreds of panels) or which of the thousands of
keyboard shortcuts to use.

That said, I find keyboard-driven user interfaces very powerful, so I'm
curious to try this out. Fortunately, there's been a way to turn off Crazy
Ubuntu Features in most releases if you know how, at least so far.

~~~
jamesgeck0
Blender actually has a HUD-like feature already. You can just hit space to
bring up a searchable list of every command in the program. As a new user, I
found it a lot easier to find things with the HUD than with the enormous menu
and panel system.

~~~
teraflop
Funnily enough, my experience was the opposite. I spent a while playing with
Blender 2.49, and although its UI wasn't the most intuitive, at least I could
use the menus to get a feel for what functionality was available. This new
unified drop-down has the effect of grouping commands by textual similarity
instead of conceptual similarity, which is much less useful. Even if you know
what action you want to take, there doesn't seem to be an easy way to do it
unless you know exactly how Blender spells it.

------
davidw
I upgraded to Ubuntu 11.10 yesterday, and the experience _sucked_. It broke
Firefox and Emacs, and it took me a lot of fiddling to get back to a desktop I
can live with. Turns out, for instance, that you have to alt right click the
bottom and top bars in Gnome classic, to modify them. Not exactly an easy
thing to figure out if you've just been right clicking them for years.

Time for Ubuntu to stop dicking around with all the UI stuff and go back to
making something that is _solid_. I really liked it when it first came out: it
was a fairly dependable system that had regular updates, and was 'good enough'
in the polish department. I could use it on desktops and servers alike and be
pretty happy with it.

~~~
nickolai
I "sidegraded" to mint 11 right after the dubiously-named "upgrade" to 11.10
which broke the ubuntu 'classic' desktop. Mint had a normal interface and
behaved as one would expect. Given how close the base was to ubuntu, the
transition went smoothly. And I like green better than whatever undefined
color ubuntu is anyway.

I recently upgraded to mint 12 and they are picking up a bit of the gnome3
suckiness - but it feels like they are really being unwillingly dragged into
it and are fighting tooth an nail to keep it at bay. It is a bit worse than
mint 11, but still a lot better than ubuntu 11.10. Maybe I should give that
MATE thing a shot.

The only thing I kinda miss from ubuntu is the inplace upgrade process. Mint
community seems to have some philosophical rejection of it and recommends a
reinstall.

I am feeling that Ubuntu is pushing realy HARD to get into tablet space -
throwing-users-under-the-bus-if-need-be kind of hard. I can see the advantage
of a Unity interface there, but come on, i had to manually tweak the laptop
with powertop to even get close to the battery life I was getting with
_windows_. This will never work for an average-joe-grade tablet.

I know, I know It is free, if i dont like it, I can switch to something else.
Guess what? I did. According to distrowatch i'm not the only one. It is a real
pity to see a good distro go down like that.

~~~
davidw
> Mint community seems to have some philosophical rejection of it and
> recommends a reinstall.

I was doing in-place upgrades of Debian in the late 90ies, and they generally
went quite smoothly. Not being able to to do that gives me a strong urge to
use blunt terms like "horse shit". In-place upgrades are one of the reasons
why you have an advanced package management system in the first place, and
abandoning that is a _huge_ step backwards. I do, after all, use this stuff on
servers too.

~~~
nickolai
Don't get me wrong. It is possible, the community website provides an accurate
walkthrough[1] of how to do so and it looks totally scriptable. Mint just
doesnt seem to have the "fire and forget" option ubuntu has. Their
justification is that there is a risk of data loss/system corruption (see
section E1 in link) :

> _The only advantage Ubuntu offers is that it makes the process trivial and
> fully automated. Though, considering the risks and the way it upgrades your
> system, this should be considered dangerous._

[1]<http://community.linuxmint.com/tutorial/view/2>

------
Derbasti
Hmm, I did not like the idea initially, but then I started thinking of how
Emacs and (more importantly) Sublime Text work ... I must say, this very
system works amazingly well for Sublime Text, why am I presuming that it is an
automatic failure for menu bars?

Actually, I think that menu bars in general are a horrible crutch for pretty
much every task. There is a reason why Windows introduced the "Ribbon". The
Ribbon is Microsoft's way to get rid of the menu bar. Maybe Ribbons are not
perfect, but they definitely improved discoverability of content.

ido-mode in Emacs introduces fuzzy matching for file navigation and it is
awesome. CMD-T is a similar mechanism in Textmate. Sublime Text is pretty much
built on the concept of fuzzy matched palettes.

All these are programs I very much like. Maybe Ubuntu is actually on to
something there.

~~~
spontaneus
It reminded me of Sublime as well and I must say that the fuzzy match saves me
a lot of time when switching between files. Having this functionality built
into the OS could be very beneficial.

------
tnajdek
Seems like there have been mostly negative comments here, admittedly I haven't
used this yet but I think it's a great idea. Ultimately this is not supposed
to replace key-bindings but rather allow me to quickly access features that I
normally don't access without hunting for it in the toolbar menu. Sounds
especially useful in applications where you heavily use keyboard (like text
editors for example).

I believe/hope that experience will be similar to the 'command palette' of
Sublime Text 2 where you can execute a feature that you don't use very often
(e.g. convert to lower case <ctrl+shit+p> low<enter>) without hunting for it
in the menu.

For me theory sounds good, I need to test it myself to decide whether I like
it in practice or not.

~~~
miles_matthias
I like it too. I'm just worried about what I would do when I open a new
application for the first time. How do I scan what it can do? How do I learn
the functions of the application?

~~~
Raphael
Read the help file.

------
casca
It's Google vs Yahoo on the menubar! Currently we use the Yahoo method
(hierarchical information based on someone else's curatorship), Mark is
proposing the Google model (everything through a single search box).

Either one will not be as universally useful as combining them.

------
joebadmo
I'm not sure I agree with this direction, as this system seems like it has a
high cognitive load, that doesn't allow a lot of relegation to muscle memory
(ie it seems like you have to keep the feedback loop between your keying and
the options that appear open for the duration of the command-invocation),
which is what I find attractive about keyboard interfaces in general. But I
could be wrong. I'll have to try and see.

In any case, I'm glad that the direct-manipulation paradigm, which I find to
be generally and intrinsically impoverished, isn't the only avenue UI
innovation is going down.

I have other ideas about a keyboard-oriented interface in this essay:
[http://blog.byjoemoon.com/post/9325300749/a-different-
kind-o...](http://blog.byjoemoon.com/post/9325300749/a-different-kind-of-gui)

------
david_a_r_kemp
To this, this seems like a lot more unix-y way of doing things, and certain
for someone like me who prefers to keep their hands on the keyboard, this is
top-banana (yes, I know there's ctrl+alt+shift+X to doing something in one app
or other, but remembering every combination in every application is a PITA).
If you've used Cloud9IDE's command line, I see this more like that -> you type
git, and a popup shows you the completions for git. There's a lot of haters,
but I'm really keen on unity. It's like having gnome-do baked in. Sure, it's
not quite polished, but at least it's trying different things than the
identikit window managers out there.

------
samstave
The only thing I dont like about this is that it appears that you have to type
for everything you're looking for.

With the example shown in inkscape - this is good if you dont know where
something is -- but anyone who is proficient with a graphic(s) program knows
that the more you can do with a left hand keyboard shortcut and a button which
reduces the number of times you take your hand off the mouse the better.

What I would far prefer is if the HUD would allow me to assign arbitrary
keyboard shortcuts (contextually) in any program.

This way - when Inkscape is active, I can use whatever shortcut I want to
assign to "glow" and then that same binding can be set to a different command
in a different program, say, GIMP - and I configure it all in one location.

I dont want to type for everything I want to do...

------
ericb
Is there some way to browse this new type of menu? How do you shop for
functions that you aren't aware of?

~~~
azernik
FTA:

> There’s still a lot of design and code still to do. For a start, we haven’t
> addressed the secondary aspect of the menu, as a visible map of the
> functionality in an app. That discoverability is of course entirely absent
> from the HUD; the old menu is still there for now, but we’d like to replace
> it altogether not just supplement it.

Basically - they're looking for some other interface to replace that aspect of
the menu, but in the meanwhile the menu is still there for discoverability
purposes.

------
amalcon
Does it bother anyone else that this is actually the _opposite_ of an actual
heads-up display? The whole point of a HUD is that the user is given
information without going out of their way to get it. This gives you _less_
passive information than a traditional menu does.

I like the idea in principle. I just don't like nondescriptive names.

------
RobH
I quite like this it reminds me of Firefox Ubiquity project. Which should act
as a warning to Ubuntu as that never gained any real traction beyond power-
users.

The fact that Mark mentions that they one day wish to replace menus is odd.
Menus work and are universally understood. This system could be great in a
complimentary fashion, the blender example seems like a great use of the
system.

I really hope that Ubuntu don't throw the baby out with the bath water in
their attempt to innovate.

------
strictfp
This is awesome. The current system doesn't work so well since menu items
don't fit well into separate categories. In fact, nothing does. One example is
the quite arbitrary division into 'File, Edit, View etc'. A discussion I hear
quite often between people sitting together in front of word is -'Try that
menu. Oh, that one then? No? Let me have a look'.Another example is the
windows control panel, who didn't switch to flat view straight away? And
grouping on the start menu into categories of programs? Largely gone. Sorting
your music collection on disk? Gone. Structuring your HD in general to avoid
searching? Gone. Categorizing websites? Gone.

This is just the last relic. As it is right now I'd rather google how to do
something in Word than look through the menu, so this solution _has_ to be
better!

------
DTE
3D modeling software such as Rhinoceros (<http://www.rhino3d.com/>) uses this
model with great success and I'm sure there are others. The program has a GUI
that is very modular and customizable but the command-line interface is the
primary interface. It takes a short while to get used to but after you do it
scales very well as your experience grows. I have thought for a while that
Photoshop/Illustrator would do well with a CLI but this is a compelling case
for a contextual but system-wide implementation of this concept. The closest
we have is Quicksilver or Alfred and while they are indispensable, making this
part of the OS would open up some interesting possibilities.

------
tree_of_item
Already in Emacs: <http://www.emacswiki.org/emacs/LaCarte>

~~~
tikhonj
Emacs has always been at the fore-front of UI innovation :). It's just that
nobody wants to admit it because it's slightly weird, not shiny and--unlike
all the other UI efforts--aimed at _efficiency_ rather than ease-of-use.

------
hemancuso
It sometimes feels that Linux developers haven't ever seen a non-Linux user
interact with a computer before. This seems doubly true for the folk who do
UI/UX.

~~~
jiggy2011
Judging by some of the changes they have made recently I don't think they have
even seen a Linux user (outside of their own UI design team) interact with a
computer before.

------
fdb
IntelliJ IDEA has this feature for years now. (Command-Shift-A) It shows a
list of all commands and you can fuzzy-find through them.

It is very useful and often faster than digging through the menus to find the
right command. It also shows the shortcut for the command, which is useful for
learning commands that you use often.

------
agscala
One quote from the article which I found interesting: “it works so well that
the rare occasions when it can’t read my mind are annoying!”

I interpret that as, "While it's great being able to search for commands, it's
an absolute pain in the ass to find the command if the search fails."

He mentions being able to look at the list of commands like a "table of
contents" for an application, but I really don't see how that is possible
considering what he has described.

All I know is that I'm going to be even more lost in GIMP with this update.

------
Symmetry
Let it never be said that the people at Ubuntu are trapped by convention...

------
wind_whisper
Another hyped super-feature which implementation quality likely will render it
unusable. Dear Ubuntu developers! I respect you very much! Why aren't you
respecting me? Why do you release seemingly untested stuff? Why your product
is so unstable and buggy? Please stop making systems that hang when I lock my
screen or fall apart when I switch to another window with Compiz enabled. I do
not need your new fancy features. I need a system that just works. Thanks.

And the other take. Did you ever use mobile tablet device with multitouch? And
after that are you really want to use that 70-ish WIMP interfaces? If you saw
it one single time, when you manipulate your photos/videos "themselves", when
you interact with your information and not with some buttons or menus or stuff
like that, you'll never want to come back. Ones who demand full support for
multitouch gestures across modern OS interfaces are not "future-oriented"
people IMO. They are now-oriented. Next-generation interfaces are already
here! They are the state-of-the-art for many users right today. And are you
really want to impress us with tinkering around that 70s stuff? Than you guys
stuck in 90s. Come on.

------
SpikeX
So basically... it's like the Windows 7 start menu search functionality, put
into applications. It's not a terrible idea, but it should _extend_ the
current menu-based UI, not _replace_ it.

~~~
54mf
Right. Or OS X's Help menu search functionality, or Quicksilver plus menus, or
Alfred plus menus, etc etc etc. This has been the future for half a decade
now.

------
54mf
Whenever I see anyone write, "say hello to the future of the ______", my
immediate reaction is to assume the author is an idiot. The only person or
company who has ever been able to say that with any authority is Apple, and
that's only because they have a track record of consistently creating the
future of ______ for decades.

Considering this HUD is basically "let's take Quicksilver and make it for
menus", I think my immediate reaction was correct again. The idea isn't
completely terrible, but it's not "the future" and it's riddled with problems.
Hope you're the type who likes keeping cheat sheets around, because unless you
know the exact name of every single command in your application, you're going
to be in trouble.

"We’ll resurrect the (boring) old ways of displaying the menu in 12.04..."
This guy's hubris is astounding.

------
Pound6F
This is a great idea and as they note its really beneficial to the power user,
BUT I can't see it replacing traditional menus for novice users (and
potentially some intermediate users).

For novice users, discoverabiliy is extremely important. For any application
new users want to learn what it does, and they aren't going to read the
manual. Traditional menus allow users to browse available actions without
having to know what they want to do. They don't know what they don't know, and
well designed menus/UIs allow them to learn the application really quickly.

I also wonder about the older generation and their ability to pick up on this.
I would be very curious how well less technically skilled 40+-year-olds pick
up on the keyboard-based navigation over the traditional mouse-based
navigation/interaction.

------
overgard
Who is this for?

Is this actually solving a problem someone has stated they have?

This feels like an attempt at solving a problem that nobody has. In an effort
to differentiate themselves, I think they've lost sight of what users actually
want.

Here's what I want from ubuntu, as a (past) user: a solid distribution that
gives me a reasonable default setup without a lot of fuss. I mean, I'm
installing linux, you can probably already assume I sort of know what I'm
doing. I want something that gets out of my way, not something constantly
asking me to adapt and "rethink" how I go about using my computer. I know how
to use my computer just fine, thank-you-very-much, leave me with my menus.

~~~
grannyg00se
"Is this actually solving a problem someone has stated they have?"

This is how I felt when the first iPods came out at much higher prices than
other mp3 players on the market. With less flexibility in the way it operates.

~~~
barnaby
I agree. This sounds like the same reaction. People were like "oh this is
stupid because it's different". Turns out it did solve the needs of a
different interface.

HUD + Unity (just like iOS before it) will simplify how to use menus on a
tablet interface... especially once the speech-recognition part is added.

------
thesash
This is a beautiful and interesting concept, but isn't this really just a
dressed up command line interface? This is a feature I would absolutely love
to have, but I don't see it replacing the menu in the form demoed for the
simple reason that this violates one of the core principles of user-centered
design: visibility. If the user has no visual indication of what is possible
within the system, how can we expect them to learn the interface?

One super simple example of this: <http://cl.ly/082D441E2D0L1l3d3g2Y>

Most readers of Hacker News are probably aware of the calculator feature in
the Spotlight in Mac OSX, but if I had a dollar for every time I've blown
someone's mind by showing it to them, I'd be counting money right now rather
than writing this comment. The bottom line is, visibility is an extremely
important design principle, because it informs the user what they can do
within a system, so hiding possibilities is probably not a good idea.

For detailed reading on the principle of visibility, check out Donald Norman's
Phenomenal _The Design of Everyday Things_ , which I firmly believe should be
required reading for anyone thinking about building anything:
[http://www.amazon.com/gp/product/0385267746/ref=as_li_ss_tl?...](http://www.amazon.com/gp/product/0385267746/ref=as_li_ss_tl?ie=UTF8&tag=discerningman-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0385267746)
[yes, it is an affiliate link]

------
jamesgeck0
I'm pretty excited about how this could make voice recognition a first class
citizen on the desktop.

The simple voice tool baked into Windows* is sorta usable, but changing
contexts to find things in menus or click buttons is a huge pain. You're
constantly reminded that the interface you're using was originally designed
for a keyboard and mouse. This has the potential to eliminate a lot of the
pain associated with that.

* I don't know if Dragon improves the context-shift situation significantly. The last time I tried it was several years ago.

------
gooddelta
OS X has had this since Snow Leopard -- you can go to any application's help
menu, and begin typing the name of a menu item, even if it's nested. Using the
arrow keys, you can navigate down the list of results, and as you select each
item, the menus expand to show you the location of the item with a large, blue
arrow next to it. You can then either click the item next to said arrow,
activating it -- or simply press enter.

Apple had this years ago; they just made a conscious decision to keep using
menus.

~~~
tmelot
The best part is you can Command + Shift + ? to open the Help menu (if the
keyboard shortcuts haven't been remapped by the app) and start typing. It's
how I do a lot of stuff in Photoshop actually.

------
willidiots
What do I do when I forget the wording of a menu item? (or I guess a "HUD
command")

Menus form a strong spatial association - I remember a lot of options by their
placement, and only recall the exact wording when I see it. (Is it "re-open
last tab", "reopen last tab", "re-open closed tab", or "reopen closed tab"?)
Not saying that HUD is inherently bad because of this, but I'm curious how
they deal with it? Am I missing something?

------
newhouseb
Putting the keyboard back into computing is a strange direction to move
considering the wild success of tablets and smartphones (namely of the Apple
variant) that drop the keyboard entirely in favor of better touch interaction.
An ideal interface has a low barrier between what you want to achieve and the
way you achieve it, using a keyboard requires that written language always be
between the two.

------
nkassis
Looks to me like we are going full circle back to the command line with this.
I mean, what's the difference between this and a command line shell with fuzzy
matching?

I like Ubuntu being experimental but right now I'm having pains with Unity on
my setup (multiple monitors and apps that don't quite fit with the UI). I'm
seriously considering moving to a different distro while they sort the details
out .

~~~
ec429
I was thinking the same, and found it particularly amusing that "design" types
are only now finally realising the virtues of the command line. What'll the
next Ubuntu UI revolution be? No X11, just a 'screen' session in a tty? (I'd
actually use that, were it not for the fact that (a) too much of the Web is
overly graphical to be browsed effectively in text mode and (b) screen sucks)

Moving to a different distro (and perhaps WM) is a good idea. I recently moved
to Debian with Xfce and am enjoying the lack of gnomes.

------
jiggy2011
This doesn't seem like it would be very good for using with applications that
you are familiar with. With context menus you can remember the ALT + <key>
combinations required to navigate to a feature quickly. With this you would
have to type the name of the feature and then select it which might involve
navigating a fair way down the list.

The only other option would be for all apps to assign keyboard shortcuts to
_everything_

Also for applications that you are not familiar with you will have to guess
what a particular feature is called and if it even exists in the first place.
They would have to load all the apps up with synonyms and since Open Source
developers can't agree on anything I'm not sure how many would even design
their app around this.

Not to mention problems with users who have poor english or just poor
spelling.

Having said all this, this feature is an excellent idea to _supplement_
existing UI functionality. I've been integrating "feature search" type
functions into some of my web apps for a while now and I'm surprised Apple and
MS haven't done this more.

------
imurray
Ubuntu's current (11.10 oneiric) menu cleverness breaks things for me using a
non-standard window manager. (The gnome-terminal menu appears even when set to
hidden.) Solution: purge every package with appmenu in the name and reboot. I
hope it remains as easy to opt out from the next batch of little-tested,
slightly buggy innovations.

------
DrCatbox
Another invention which will alienate even more casual users from GNU/Linux.

Users, even I as a progammer, do not like to have to re-learn and assimilate a
new interface-model every few months or years. Ive learned a few times, why
cant people stick to what is working already? The menu is super nice, the
global menu, not so much but fine thats what some people nice. Now Ill explain
to my girlfriend that there is the HUD menu? And after that youll invent
something else something new, for what!? All that work and you just have a
different kind of menu. Too bad, too bad.

Why not do some real user tests to find out where they are failing right now?
Why users dont feel comfortable in Ubuntu? Yes, even those users, like me, and
Ive used most distros for a decade. Its just something fishy about both Unity
and Gnome2.

------
edanm
I once worked on a project with some friends that gave Windows this
functionality. It basically scanned the menu of the current window, then gave
a Launchy-like interface to choose any menu item. It worked pretty well,
although some programs bypassed the Windows API so didn't work with our
program.

We also gave it one other awesome ability, which I have yet to see in other
such tools - a "search for window by name" feature. This searched your open
windows in a Launchy-style interface, letting you switch to Chrome by doing
"Ch<enter>" or to Visual Studio by doing "Vis<enter>". It also searched open
tabs in all your browsers, letting you switch to gmail by typing "gm<enter>",
etc.

The program was meant as a startup, way back many years ago when we didn't
know any better :)

------
bryanh
Strangely enough that core functionality (searching menu items) is kind of
built into OSX. Along with ⌘-space for Spotlight, I use shift-⌘-? to search
the menubar from keyboard. Its a great multi-tool as it hooks into the stuff
you already know.

------
hotice
By the way, you can already test it in Ubuntu 12.04:
[http://www.webupd8.org/2012/01/hud-ubuntus-new-smart-
menus-a...](http://www.webupd8.org/2012/01/hud-ubuntus-new-smart-menus-
announced.html)

------
yason
I think it would be better to offer the whole menu bar as an expanded tree in
a vertical strip rendered to an overlay on the whole screen.

This would help the user get an at-a-glance view of all the menus' contents,
sectioned logically by each top-level menu entry. It would also reduce menu
navigation to mere up/down (and pgup/pgdown), and allow for some sort of an
instant search (start typing letters) would also work. It would even work for
touchscreens because we've already observed that scrolling up and down is one
of the best and natural UI concepts that you can do with a touchscreen.

------
drats
After two iterations of this I can se it being pretty good for my parents as
they will be able to say "bookmark" or "back" to the voice recognition in the
browser and not have to worry about the UI much at all.

------
lucisferre
Absolutely love this. Really like the direction Unity is moving, was quite
pleasantly surprised after using it recently to find all the hate I had read
about was greatly overstated.

------
sown
I'm leary. The reason we've used menus and windows for so long is because it
just works. Improvements are always welcome but it's always going to be easier
for me to say Alt-F, O.

------
yaix
That's another novel thing for Ubuntu, publishing a major change first in an
LTS. Until now the philosophy was that an LTS was more stable, a non-LTS was
more experimental. Sad that this policy was abandoned.

The "HUD" interface (silly name) looks like a good idea though, hope it is
fast enough for netbooks and other small PCs. After using Unity for some time
I abandoned it for XFCE because my netbook was just not fast enough.

------
alexchamberlain
I have yet to find anything I like about Unity. As many of the other
commenters have said, was there any real user testing on PCs the users
actually own?

------
grannyg00se
This seems useful for exploring menu options when you don't know where things
are, but not as useful for executing frequently used menu options. For
exploring, it's great to be able to type "pref" and have all menu options for
preferences show up. But if I know that the preferences I'm looking for are
under Edit - Preferences, I'll just hit ALT-E, P and be done with it in less
than a second.

------
tdoggette
The site isn't loading-- does anyone have a mirror?

~~~
agumonkey
Not really a mirror but webupd8 host a quote and a video :

[http://www.webupd8.org/2012/01/hud-ubuntus-new-smart-
menus-a...](http://www.webupd8.org/2012/01/hud-ubuntus-new-smart-menus-
announced.html)

I'm still not sold, I found the UL-Corner positioning greatly aggressive. I'd
put it in the bottom personally but I'm used to the Unix 'bottom command line'
habit.

Otherwise it's one step closer to a contemporary desktop command line, in the
video the guy even typed 'undo' in inkscape, made me smile. I guess having
this common iterative search of nested menus will greatly help users, as it
helped many of us in the shell or emacs (or any system providing this idea)

------
abahgat
Sounds like a smart idea, to me. Since I started using Alfred on my Mac I'm
able to control almost everything from the keyword and I'm faster at almost
everything.

Being able to guess the user intentions from the context would be a great
advantage, but the challenge would be balancing context-dependent commands
from the most general ones, in my opinion.

------
ekianjo
I fail to see how this will apply to tablets and mobile phones, where you want
people to use their finger as a mouse and not as a keyboard to type. (since
Canonical said they were moving towards tablets and phones in the near future,
I expect they follow the same design guidelines, but I could be wrong...)

------
Tichy
How do you discover and explore, though?

------
ddemuth
Serious, you're going to try and get me to use an interface by using a website
that has justified paragraph text that spans 70% of my 1920 x 1080 21"
monitor?

Much like these comments on HN, it's hard to read long, wide paragraphs. It
makes me question the usability of a HUD's interface

------
brudgers
I think it's great to see Ubuntu innovating.

However, I don't see search as the future of application interfaces.

I've been using autocomplete in Quickbooks long enough to know that typing
"Next P" to execute <next page> rather than <next layer> is just going to
suck.

~~~
Raphael
I doubt this will completely eliminate other forms of interaction. It would be
a mistake to remove keyboard shortcuts or buttons for common actions such as
changing pages. The point is to not get into a ribbon type situation where
there are a ton of buttons cluttering the window.

------
justnearme
What a horrible idea. What happened to thinking about international users, for
whom typing is a hassle? Learn from Japan, where Yahoo is more preferable over
Google because you can find what you want rather than type it out...

~~~
jamesgeck0
What about them? There will be a mouse-driven fallback UI, just like with the
current application launcher.

------
tikhonj
This sounds like a good change.

Also, just skimming the article and looking at the pretty pictures, it seems
similar to ido-mode for Emacs. Just with more eye-candy.

Since everybody I know loves ido-mode, I am fairly confident in this change.

------
sciurus
Developer Ted Gould's description of how search the menu works:
<http://gould.cx/ted/blog/Searching_menus>

------
jebblue
I think someone at Canonical ate some old pizza or something. Taking us back
to the keyboard .. the keyboard? For menus? Seriously? Wasn't Unity bad
enough? Lenses? Really?

------
tsunamifury
This seems to illustrate how painfully how out of touch the linux community
is. As all the other OSs head towards touch, Linux wants to become more
keyboard oriented.

------
firefoxman1
The only downside: you have to use Unity to get it :(

------
asdfpoiu
So far, a lot of Ubuntu-specific software has been very buggy and low quality
for me (indicators, Unity). Why should this be any different?

------
pnathan
This is not a terrible idea.

It could be implemented awfully though.

------
Qz
This is basically Search for telling your computer what to do. People
currently do this all day long at google.com.

------
HardSphere
So... the future of the menu is... Zork?

~~~
abruzzi
So:

    
    
      >open file
      Which file would you like to open?
      >test.txt
      What you like to do with 'test.txt'?
      >open 'test.txt'
      Nothing happens.

~~~
jonhendry
I occasionally type 'L' (for 'LOOK') in OS X's Terminal.app, by reflex.

------
YoukaiCountry
Have they come full circle and reinvented the command line interface?

------
chetan51
It would be nice if the first option was always selected by default.

------
sp332
more conversation: <https://news.ycombinator.com/item?id=3504974>

------
gte910h
Ubuntu integrated Launch/Alfred into it's apps...

------
codex
Only Linux could turn the GUI back into the command line.

------
mariuolo
Madness goes on.

------
EvilLook
Hey Mark, how about you get the current user interface right and quell the
anger of your users about Unity before you move your UI wankery forward?

------
naughtysriram
HUD -> "Horribile UI Design" I guess

------
ColdAsIce
Mark Shuttleworth, promoter of the worse UX changes for GNU/Linux since 1892!

------
tintin
Change the status of your chat client:

    
    
      Normal: klik on icon right top -> set status
      HUD: drop your mouse/stylus -> type the HUD command -> type to change your status.
    

In the future you will be less productive but have the gloss.

