Fog Creek Software
Discussion Board




Inductive User Interface

In an earlier thread, ( http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=6651&ixReplies=7 ) someone posted a link to an article on Inductive UI ( http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwindev/html/iuiguidelines.asp ).

I like the idea, but I'm not sure I agree with the philosophy.

1) It strikes me as a "wizard" type interface, which I always found annoying. It assumes a mental model of a beginner of all times. That a person doesn't keep knowledge from the previous page on to this page*, or that they can't encapsulate several concepts on to one page. A power user might find it annoying having to do extra clicking to accomplish the same tasks - their mental model is based on how the program works, or the larger task they want to accomplish, not the individual task on that one page.

2) the metric of "coming up with a simple name for the screen" isn't that great either because "choose an account" is no simpler than "manage an account." While it might be conceptually simpler, the sentance structure is about the same, and this is really all subjective. It's like saying "Choose the phrase that inspires the greatest level of confidence in your product: 'change your account' or 'modify accounts'."

3) A lot of the examples they gave made it seem like they changed the screen titles without changing the functionality. I realize the UI also changed under these, but it makes one wonder how much they really changed...

4) Doesn't this sentance fragment structure make it harder to read. There are a lot of implied subjects and such that make me have to re-read the title to 'get it.' I also wonder what someone who doesn't understand english as well would do. Lastly, it makes it hard to pick out in a list of items.

I like the idea that they break up "user centered" design into discrete components, but I wonder if these components are *too* discrete.

* Even the idea of a 'process' seems linear and one dimensional, while tasks are often multi dimensional, something from process b influences process a. How do you model that in this methodology?

What do you think?

MarkTAW
Wednesday, April 24, 2002

I thought it was good article.  Some thoughts on your points …

1) Wizard type interfaces can be annoying, but among consumers I’d be willing to bet there is a larger potential market for non-power users than power users.  For a product like Money, which they used in the example, they had to shoot for the lowest common denominator. I recently used Taxcut, which in retrospect, seems to be designed with inductive user interfaces.  I am a power user is most senses, but not when it comes to doing my taxes, so the small-task oriented interface was nice. It allowed me to stop it the middle and not lose track of where I was upon returning.

On the other hand, I’m writing a functional spec for an Intranet database app, and I’m having trouble finding the right middle ground between my two goals of simple user interfaces and minimizing the number of round trips to the server. [The connection speeds at our offshore facilities are very slow.]  Tough call – do I frustrate the users because there’s too much information on one page, or do I frustrate the users by requiring them to navigate to a lot of task focused forms?

2) I disagree.  I think that “Pick an Account” is much more task focused than “Manage an Account”, i.e., conceptually simply – which is the whole point.  As far as sentence structure, I don’t think that’s the point.  Besides, you have an imperative verb, an article, and a noun.  How do you simplify that?  Get rid of the article?

3) I don’t think the goal was to change the functionality, but instead to redesign the software so that the functionality was more apparent to a typical user.  The whole point of the article was that many users don’t take full advantage of an application’s functionality because the user interface is not inductive.  Hell, you could probably re-design the user interface of an application and make the users think that you’ve added new features just because those features weren’t readily apparent before.

Nick Hebb
Wednesday, April 24, 2002

1) A Wizard type interface focuses the user on the task presented on the screen and hinders the user from gaining an understanding of what the software does as a whole.

For Web TV this probably works well because your average user won't be a power user, but for a tool like the one UPS guys carry around, it's far from the most efficient interface. To get from screen 1 to screen 9 must you always pass through screens 2 through 8? And for them, screens 1 and 9 might be combined, even if they are two functions like "scan package" and "enter address."

2) My point is it's a very subjective "loosy goosy" metric and difficult to judge whether or not the sentance is simple or not. Yet they insist that that's the way you measure whether or not a page is correct.

I know I'm likely to screw this up in some places, as the designer I know what things do so things that are simple to me are complex to the user.

This is more like a rule of thumb than an exact science. They make it sound like an exact science.

3) This is less of a point than I make it out to be, it just seems that a lot of their examples are re-naming screens and not necessarily making the more user friendly. They focus too much on the name of the screen and not enough on what they actually changed on the screen.

MarkTAW
Thursday, April 25, 2002

I haven't read this article in a while, but as I recall the other purpose of renaming the page is so you, the designer, can articulate the purpose of page and design for that purpose. When you rename a page from 'Manage Accounts' to 'Choose Account', you also redesign the page to minimize or get rid of the 'Edit Account Information', 'Move Account', or 'Delete Account' functions.

The author encourages you to go through your application and look for pages that can't be assigned clear, 'inductive' names - these pages are likely to be usability bottlenecks. It's a neat little trick and my main takeaway from this article.

Jim Corban
Thursday, April 25, 2002

I was a little disappointed when I got to the end of the article and they said that this methodology failed to get good results when actually tested.  On none of the metrics they measured did they get any statistically significant improvement.

I am likely to use this article as a way of killing future wizard-based design in the interfaces I am responsible for -- why choose a design that will insult advanced users and not help inexperienced ones?

fancy
Thursday, April 25, 2002

fancy, i did not even get to the end of the article but i had already decided that this seems to be designing uis for dummies. like you say, such interfaces will insult advanced users, and will also insult users who believe they are advanced (who are probably a larger %ge :-). if an app gives two interfaces (a la winzip) then that might be a solution, but damned expensive to implement.

nope
Friday, April 26, 2002

I thought it was a great article.  Comparing Money 99 to Money 2000, it's clear why "inductive UIs" are better.  The Money 99 forms had too much clutter, and they put the most important items (the buttons "Open", "Add Account", etc) at the bottom of the screen!  Basic HCI state that a person's eye begins with the top 20% of a screen; which is exactly where Money 2000 put their task specific title "Which account do you want?"

One of my favourite new features in VisualStudio.Net is the StartPage (which is inductive).  It lists all my recent projects in *chronological order*.  One click and it loads.  Compare that with VS6 where it opens with a blank workspace -- you have to know to look under File / Recent Workspaces, and even then the projects are listed alphabetically.  Click, drag, click, drack, click.  YUCK!

UI got off to a bad start in the 80s with the idea of modelessness (a la MacPaint).  But people are not modeless; we tend to do the same things in regular patterns.  VCR manufacturers have recognized this -- you now stick in a movie and it automatically plays.  When it reaches the end it automatically rewinds.

IanRae
Friday, April 26, 2002

Of course, the UI to MS Money could've sucked to begin with so that any attention to UI would be an improvement. I speak from experience.

Let's take the Hotmail interface as an example. It's a web based interface, which they say is often IUI based, and it's from the same company that MS Money is from. I can't check hotmail from here at work so I'm using my memory.

The Inbox lists e-mails. Clicking on the subject takes you to that e-mail. If you click on a checkbox you can delete those emails or block the addresses they came from, or put them into a different folder. You can also jump to a different folder, or perform various other tasks.

You can do a lot of things on this one screen, and lots of people use hotmail that don't even own a computer, so I'm guessing it's fairly usable.

Under the Inductive User Interface, you would have a screen called

"Click the e-Mail You Wish to Read"

and that would be all you could do on that screen, except maybe jump to another section.

To move an e-mail to a folder you'd click on a link on the left side that would take you to:

"Select the e-Mail(s) You Wish to Move"

check, check, check, click [Next]...

"Select the Folder You Wish to Move these e-Mails To"

click.

"You Have Placed (5) e-Mails in [Why IUI Sucks]"

click on "done" and it returns you to the "Click the e-Mail You Wish to Read" screen.

This is exactly like the "Manage Your Accounts" / "Select The Account You Wish to Somethingorother" example - they didn't talk about the 50 screens the had to add for the functions they took *off* of that page.

They also, in the article, don't talk about how many other improvements they may have made to the UI that would make it more usable that may have affected their test results.

I'm guessing a user model can accomodate more than one idea on a screen at a time. Let's take a mundane example.... A shower. Most showers have a bottom spout, a top spout (perhaps with massage) hot and cold water controls, and some sort of stopper so you can take a bath.

A digitally controlled shower created using IUI:

"Select The Mode You Wish To Use"

-shower
-bath

click bath

"What Type of Bath Would You Like To Take"

-relaxing
-cleaning

click relaxing

"Select the Temperature You'd Like for Your Bath

Normally I'd have one "panel" of controls, I'd plug up the drain, select the bottom spout (usually pre-selected) and turn the knobs all in one interface. Microsoft thinks I'm too dumb to do this.

MarkTAW
Friday, April 26, 2002

Mark, I see your points, and it all comes down to knowing your target audience. My perspective is tainted based on my background in manufacturing. For software (or even written work instructions) used by manufacturing personnel, everything needs to be spelled out very clearly and distilled to single task level in order to be well adapted and utilized.

I'm not trying to be condescending about the 'working class', but the truth is that many assembly-level workers speak English as a second language and have low educational backgrounds. Due to economics and educational, many have had little exposure to PC's, so performing even simple tasks on a PC can be intimidating.

So when I read the IUI article, this is the user group that immediately pops to mind - those who are intimidated by PC's and need clear instructions. If I were developing an application to be used by engineers, it'd be a totally different story. Making them go through 10 screeens instead on 1 or 2 would frustrate the majority of them.

Nick Hebb
Friday, April 26, 2002

Mark, I agree that IUI wouldn't work on web applications because the latency time between screens is so long.

But let's pretend HotMail was running locally.  Group selection is an important task so an IUI would have to support it well.  The opening screen "What do you want to read" would have sub-task "Move e-mails to folders".  Click.
Now you see a list of e-mails which you can select using check boxes or any other multi-select method.  Click click click click click.  The subtasks on this screen are "Move to My Favs", "Move to Personal", "Move to Sue", etc.  Click on the one for the folder you want.  click.  Done.

As for the shower: opening screen "What do you want to start".  Two buttons : Shower and Bath.  click on Bath and a bath starts (warm by default for safety).  Next screen "Adjust tempurature" with buttons or a slider for tempurature.  So a bath or shower takes one click.  Two if you want it hot.

IanRae
Friday, April 26, 2002

How about this idea.

The IUI violates the 'real world' model of objects. The fact is we are able to pick up a letter, open it, throw it in the trash, put it in a filing cabinet, respond to it, etc. without going to a different "read mail desk" or some such concept. We can turn on our radios and select stations or play CD's without going to different devices to do this. Even component systems tend to be organized in one area of the room.

The IUI interface actually reqiures more thought on the part of the user than a different well designed interface. After a while, for example, we can change the stereo in our cars while driving. I can do this without looking on a rental car in a matter of hours, less if I'm driving in a city with lots of red lights, or on an empty highway with few cars.

Donald Norman in his book "The Design of Everyday Things" much quoted by Joel in his UI book is a big proponent of having one button per function rather than one button multiple functions. In software this would be akin to having the same buttons on the screen in the same place consistently.

Witness the 7 series BMW that has a single knob that controls all sorts of things.

http://catless.ncl.ac.uk/Risks/22.02.html#subj2

http://www.bmw.com/bmwe/products/automobiles/7er/sedan/iDrive.html

Every time you select something you have to look at the screen to see (a) what it did and (b) what your new options are. You have to re-orient yourself each time you do something, re-reading the title/intro paragraph. I can envision my mother sitting there, nose up reading through the bottom lens of her bifocals trying to figure out now what *this* screen does.

In fact, this is my real gripe about IUI.

EVERY ACTION YOU PERFORM REQUIRES YOU TO RE-ORIENT YOURSELF. It's like the center of the world changes every time you reach a new "page." You're always zoomed in, never getting an overview of the system. It's like reading this posting one letter at a time, and being forced to click to get to the next letter. You'd never be able to get a sense of the whole.

When you're selecting an e-mail to read, the whole program looks like a "select a program to read' program. When you're deleting e-mails, the whole program looks like a "select an e-mail to delete" program. You have no sense of hierachy, parallel functions, etc. Users are likely to only know about 10% of the functions in the program because:

a) that 10% comprises 150 screens
b) you never know at any point what alternate choices are available

Take outlook for example, another e-mail program from Microsoft. Clicking on an e-Mail selects it and previews it. Dragging it to a folder moves it there. Double clicking opens it. Clicking reply opens a reply box, similarly Forward opens a forward box. One screen, multiple functions, yet countless people seem to be able to use it.

In IUI the folders on the left would be replaced with options such as "select an e-mail to delete" "select an e-mail to move" "select an e-mail to read" "select an e-mail to reply to" "select an e-mail to forward" "select an e-mail to mark important" " select an e-mail to mark unread" "select an e-mail to reply to all to"... okay I'm exaggerating.

now that I think of it, I've been using interfaces like this for a long time, and I've always hated them. Setting the VCR to record for example.

"Menu

1. First Time Setup
2. Program to Record
3. etc.

(click on 2)

Select a day you would like to record

1. today
2. Monday
3. Tuesday
4. Wednesday
5. Thursday
6. Friday
7. Saturday
8. Sunday
9. Monday - Sunday
0. Monday - Friday

(click on 0)

Select the Channel you would Like to Record...

ARGGHHHH! Then going back in to change one variable.... "Oops, that was 7-9am not 7-8pm" means tabbing through the whole screen again, often being forced to re-confirm old selections rather than just clicking "next." (Though IUI would probably let you click "next" to get to the next step... hopefully it will be located in the exact same location on the sceen so I don't have to move the mouse at all to get to the next screen, and if it's at the bottom like it usually is I'm screwed because I have to scroll AND click.)

Someone invented VCR+ and made a lot of people very happy. I wonder what the UI for the TiVO is like...

"People decide what they're going to click on before they move their mouse, therefore you shouldn't hide options from them at the beginning." I'm paraphasing something I've heard numerous times, though I forget what the original source is. In IUI you're trying to push everything but the one thing you're focusing on to the side, and you can probably only put related functions on the same screen (which I believe is in the article), which means fairly unrelated options are really hidden from you.

MarkTAW
Friday, April 26, 2002

Oh yeah, to summarize, IUI keeps you ignorant by not letting you get an overview. Even an intelligent user would be lost in, say, a financial application like MS Money. I have a previous version of MS Money and wanted to balance my debt. I like juggling lots of variables and seeing how they affect the whole, but the interface required me to go back two screens to select which credit card to put into the debt reduction planner, then go to the second screen to select how much money I wanted to put towards the debt, and go to the third screen to see what the impact was.

I would've much preferred a spreadsheet layout (like a much earlier windows 3.x version of Money I have) or like Excel, if I could figure out how to make it do RPN/compound interest, so I could juggle variables and see what affect they have on the whole without click through 2 screens just to change one thing.

Basically, I hate interfaces that hide things from me because they assume I'm stupid. Just get me do what I need to do.

Here's another real life example, my alarm clock lets you maintain 2 seperate alarms. There's a 3 way switch "Alarm 1, Alarm 2, Both." To set one alarm, select it on the 3 way switch and hold the "Set Alarm" button and push the up/down buttons (there's four, fast and slow up and down).

Another 3 way switch for Radio, Off, Alarm

Now to set both alarms:

move switch to "Alarm"

move other switch to 1
push set
push up/down
move switch to 2
push set
push up/down
move switch to both

IUI:

click on "Set Alarm"
"Select an Alarm to set" - click
"Is This Alarm Active? y/n" - click
"Select a Time for this Alarm" push up/down
click done

click on "Set Alarm"
"Select an Alarm to set" - click
"Is This Alarm Active? y/n" - click
"Select a Time for this Alarm" push up/down
click done

To change from both alarms to alarm 1

now:

move switch to "alarm 1"

IUI:

click on "Set Alarm"
"Select an Alarm to Set" - click on 2
"Is This Alarm Active? y/n" - click no/done

At 7 am changing the alarm for 15 minutes later.... I can't imagine doing it in IUI. I would actually have to look at the screen and read the options. Why? because the same button would be doing 2 different things. It would make me THINK about it, thinking would be bad at 7am because it would wake me up.

Even if it's not much more clicking, it's a lot more thinking, it's even a lot more words in my description, and you constantly have to re-orient yourself because the old variables went away to be replaced by new ones in the same place.

IUI claims that it's better because you're only focused on one thing at a time. I say it's worse because you're using the same space for multiple activities and you're forcing the user to re-orient themselves each time. IUI designers think that the old variables are instantly forgotten, but they're not. They linger in your mind, and you perhaps unconsciously try to figure out how the previous screen interacts with this one, and how this one will interact with the next screen, making your life even more difficult.

In traditional design you have 12 options on the screen. In IUI you have 4 options on 3 screens, and when you're looking at options 5-8 you're trying to figure out what they had to do with options 1-4, and what options 9-12 might be. This actually forces the user to think more, and confuses them considerably more than showing them the whole.

Another analogy would be getting directions. "You head down this road a ways, turn left at the old mobile station, go a ways more past a bunch of trees, then turn right at the new church. Then go past six streets, mine will be the third light, turn left there and go..." at this point I'm screaming "just show me on the map." The person giving you the directions already has an internal map and can orient to it. Until you get that map, directions like these will make you nervous because you know one wrong turn will put you in an unfamiliar place without any way of re-orienting yourself. Turn right at the mobile station and you'll never figure out what you did wrong. You'll get to the mobile station, and even if you remember "I should've turned left" you're holding all the other variables in your head - the church, the six blocks, the three streetlights - in your head and do what I've done - turn back the way I came from, make a U turn and approach the whole thing again because I can't think about whether a right and a u-turn makes a left without forgetting which way I'm supposed to turn at the church.

PS, I use my alarm like this:

Alarm 1 7:30
Alarm 2 7:44

Alarm 1 goes of 7:30... snooze
Alarm 1 goes off 7:39... snooze - 10 minutes
Alarm 2 goes off 7:44... snooze - 5 minutes
Alarm 1 goes off 7:48... I get up - 4 minutes

MarkTAW
Friday, April 26, 2002

One could say that the IUI philosophy is more concerned with "learnability" than efficient "usability".  Or, one could say that the designers of Money decided that their largest group of users comprises people who use the application infrequently and in a sense are novices each time they use it.  Contrast this with Outlook, which someone noted, is used everyday by most users.  For those interested in more I recommend "Software for Use" Constantine and Lockwood, Chapter 12 -"Supporting Evolving Usage Patterns".

ralph lord
Friday, May 03, 2002

IUIs are a revisit of the Logisitics Support Analysis Records approach to creating diagnostics.  This is old stuff for the CALS IETM and logistics community.

One dilemma is hidden couplings given multiple technicians performing multiple tasks in parallel on the same system.  It is a sure recipe for non-linear effects.

len

len bullard
Tuesday, November 25, 2003

*  Recent Topics

*  Fog Creek Home