Tuesday, September 06, 2005

Monotonous interfaces and context menus

Among the top 8 (see below), point 5 seemed to have annoyed you the most. I shall clearify "our love of choice" further, starting by quoting myself: "[the GUI] would lack any settings /.../ related to changing the way you interact".

I think customization is a good thing, even necessary, as long as it's limited to aesthetics such as icons, wall papers, window backgrounds etc. Changing the way interaction takes place, however, isn't.
The reason is that in order for a user to reach an autonomous stage, the stage in which interaction doesn't require the user's full attention, interaction mustn't present any "ifs".

Compare this to pipelines in a CPU. As soon as an evaluation may result in a branch, the pipeline breaks. In the same sense, a user has no way of keeping one step ahead of her actions if her way is paved by trivial decisions.

Such a monotonous interface (Raskins terminology) has interesting consequences. Take your favourite file browser's context menu for instance. What if we removed every menu item that can be accomplished in any other way?
  • Double-click instead of Open
  • Drag to application icon instead of Open With...
  • Drag to desktop printer instead of Print
  • Move to trash instead of Move to trash (what were they thinking...?)
And so on.

Do this throughout the interface, and we will have obtained something cleaner (less-cluttered), with clear, atomic interaction metaphors. For a new user, the basic concepts of interactions would have to be learned: "send this document to the printer by dragging its icon onto the printer icon".

What could be in a context menu, according to my book, are options directly related to the document: manipulation of meta data. So I've put together a small example of how access privileges could be altered using a radial context menu (which unfortunately doesn't have too much to do with monotonous interfaces...).

The file's are below 400 kilobytes each:

radial_rights.wmv
radial_rights.xvid.avi

Naturally, the example implies "Properties..." / "Get Info..." and the other menu items be removed from the file browser's menu.

(Sorry about the ads and stuff - if you know of a better file hosting service, drop a comment)

12 Comments:

Anonymous Oliver Crow said...

You said: "What if we removed every menu item that can be accomplished in any other way? " ... "Drag to application icon instead of Open With...:"

I'm definitely on board with Raskin's idea of a monotonous interface, but these aren't good examples. For many people the mouse is an unusable device. Either it is too painful to use (RSI), or switching between mouse and keyboard is too slow (as identified in GOMS keystroke level modeling). So, yes, by all means let's remove pointless duplication of function (e.g. toolbuttons that do the same thing as a menu item), but we need to have keyboard equivalents for accessing all objects and operations.

9/06/2005  
Anonymous Anonymous said...

This is a very nice theory and all but not very realistic. I mean ok, you want to print your document so you drag it to the printer icon, very nice. Now what if you wanted to print fifty times? What if you want it in black and white?

The problem is that this is a fundamentalist's concept that neglects the realities of computing where as it is very friendly to the nooby but once you start trying to do things not envisioned by the designer you find it next to impossible (and it might be just that).

Duplications have to happen because not every user is the same. I for example, on Windows, might use the edit menu to copy and paste, but a new user might use the big block "Copy" "Paste" stuff off the toolbar. Now, that was added because users reported finding it difficult to use the menus. Would you suggest ignoring users just because you want a simple monolithic GUI that performs a single task in a single way?

I also don't follow how duplicating tasks makes the GUI harder to use, and how it makes the GUI unpredictable.

9/06/2005  
Blogger Jesuspower said...

This comment has been removed by a blog administrator.

9/06/2005  
Blogger Jesuspower said...

Anonymous, you can have a print option box with those necessary options in it. Or even have an area around the printer expand with thos options.

9/06/2005  
Anonymous garote said...

By your argument, there should be no such thing as pulldown menus -- we should all either do things via drag and drop, or MAGICALLY know the proper key combination that equates with an item in the pulldown.

Go ahead, try it. Stop using pulldown menus ENTIRELY, COLD TURKEY. Learn all the keyboard shortcuts by hitting Control-? and slogging through the help system. No equivalent keyboard shortcut? Make one yourself, using a third party app and some elbow grease.

There, isn't your computer so much easier to use now?

:P

This is one of the ways that a computer differs from a car. Using a computer is a continuous and endless process of optimization. As a result, designers have found myriad ways to smooth out the learning curve as much as possible. Ergo, the pull-down menu.

9/06/2005  
Anonymous Anonymous said...

What a crap.

Get a real job, you dickhead.

9/07/2005  
Anonymous Mario Hoerich said...

While the radial context menus seem like a good idea, they'd never really work. You'll inevitably face situations where things just aren't that limited.

For example, think about setting permissions with a radial context menu in a company network with 50+ users. What about a university PC with several thousand users?

Next problem: what if the user doesn't hit the right choice? Cancel and restart isn't exactly efficient. (You could of course solve this using hyperbolic trees which display the current choice, its parent and its children, but that's no longer a simple interface).

Another one: mouse gestures (and thus radial choices) aren't exactly easy to use or memorize. That's especially true when the same movements are reused for different actions.

Personally, I've pretty much given up on them, as I'm often faster hitting those small Close Window/Tab buttons than getting the gestures right. And I'm no casual user.

Yet another problem surfaces with the question "to click or not to click?". If every step in between needs a click, you'll end up with quite a lot of clicking. That's slow. OTOH, if you don't and submenus are selected with just mouseover, it's fast but horribly error-prone.

Don't get me wrong, I do like the idea. But I can't think of a way to actually make this work that's still useable for both me and an ordinary user. And I do mean the entire idea of monotonous interfaces. People are too different.

You'll hardly ever see me using drag'n'drop for example. I just don't like it. I usually use the shell to copy, move or delete files. Even on my OS X system. If I don't, I use keyboard shortcuts or context menus (including "Move to trash").
Drag'n'drop just tends to disrupt my workflow, as I have to focus on an entirely unrelated part of the screen (or even worse: an entirely unrelated screen).

The idea of monotonous interfaces could --no doubt!-- result in very clean and "intuitive" interfaces.

However, these interfaces would also require everyone to work the same way, which isn't precisely efficient. You'd probably not be very efficient with my way of doing things and vice versa.

That's exactly where (behavior) customization comes in. Adapt the GUI to your needs, not the other way around.


Regards,
Mario

9/07/2005  
Anonymous Alex said...

That's pretty cool! About the file hosting check out
http://www.megaupload.com
I usually use it when I host files since I usually host large files and it lets you host files up to 250 megs with a free account.

9/08/2005  
Blogger Dave said...

I'm sorry, I'm still not buyin' what you (or Raskin) are selling. Yes, it is nice if menus were design differently, but there is a reason for redundancy of intiation points in applications. Namely unpredictable contexts. Customizing visual presentation is meaningless to customizing against contexts. It is a nicety.

Enterprise applications for example cannot work if you don't change the interaction design to match the context of use. OR!!! users within the same enterprise require 2 different ways of doing things, but are using the same enterprise application.

One thing that interest me about these statements is that almost all of them sound to me to be contrary to what I have observered in the field.

I think it is easy to blame the OS guys for staying behind, but to be honest, I'm not too sure there are all the problems you suggest.

9/09/2005  
Anonymous Anonymous said...

Yeah... There's a radial menu for firefox. It sucks. If your mouse slips off it cancels.

9/09/2005  
Anonymous Anonymous said...

I only have two things to say: 1) it's def. a great idea (as many on the prev. post suggested) to learn more than one interface. Experience the world. 2) For all the talk about usability here, this blog is IMPOSSIBLE to navigate. Where the hell is everything?

9/13/2005  
Blogger Your Friend :) said...

You should start uploading to http://www.content-type.com for your free file hosting.

9/23/2005  

Post a Comment

<< Home