Fog Creek Software
Discussion Board




Microsoft's "Inductive User Interface Guidelines"

Interesting article at:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwindev/html/iuiguidelines.asp

The designers of Microsoft Money explain how they changed the way the interface works. The old way was to focus on the data structure -- for example, a screen shows all your accounts, with buttons to select, rename, delete and add new account. The new approach is to focus on the main task -- pick an account with a single click -- with the other less commonly used tasks (new account, delete, etc) in separate links to the side.

I've always thought that the usual Mac/Windows approach works great for word processing and spreadsheets, but is limited for many other kinds of programs. This article is an intriguing alternative approach (with a pompous title).

(I don't know the authors and don't work at Microsoft, but just found the article interesting.)

Harvey Motulsky
Wednesday, October 24, 2001

It is definitely an interesting article, but I think its important to note at the bottom they point out that their "study" of test subjects revealed IUI made no difference for novice users.

Michael Pryor
Wednesday, October 24, 2001

This is interesting, only in that Pegasus Opera had the same UI view almost 10 years ago (and in DOS at that).

Simon Lucy
Thursday, October 25, 2001

A lot of the changes in Office XP are based on this theory. I think that this is one of those things that helps in usability tests more than the real world. Here's what happens:

* You're usability testing PrettyWriter 2000. You ask people to do some common task, like printing a document.
* Some people can't figure out how to do it.
* You change the interface so that there's a line of text that says "Move the mouse ->here<- and click on the left button (on the mouse) once if you want to print this document"
* Now when you do a usability test, you get 100% success, because it's about as hard as asking people to choose their name from a list. No, easier.
* And you conclude that you've come up with a better UI.

When they were usability testing Windows 95 there were actually people who didn't know they were supposed to click on the START button and failed all the tasks in the usability test. So they added some swooshing text at startup that points to the Start button saying something like "Click here, you dumb-dumb," and the usability test results success went way up, but you'd have to be naive to think that it changed anything about the usability of Windows. It improved one small aspect of the learnability of Windows in a totally trivial way.

Joel Spolsky
Thursday, October 25, 2001

The other problem with this notion of "make the common tasks blindingly obvious" is that, as far as I can tell, it makes it harder for most users to find out what non-common operations the program can perform. The adaptive menus in Office are one of the worst offenders in this regard. I've run into far too many users who didn't know Word or Excel or Access could do something because the relevant item was never displayed on their version of the menus.

In the long run, I think Microsoft has shot themselves in the foot with this one. Now I hear from people "but there's nothing new in Access 2002; why should I upgrade?" Actually, there is plenty new, but if you didn't know what was in the old version and you don't know what's in the new version, how could you ever tell?

Interface streamlining of huge programs is a good thing. But there's a crucial piece missing: how do you make the advanced functionality discoverable for users?

Mike Gunderloy
Thursday, October 25, 2001

I agree that the adaptive menus are bad, really bad. But this article gives a different approach -- Put the main choices on one part of the screen, with the secondary choices in another part of the screen. All choices are visible and available all the time, but the most common things are grouped in one place.

The biggest change is that the new style described in the article has the user picking what he wants to do. The old style had the user picking what object she wanted to work on, and then as a second step picking the command to pick what to do. In that conventional approach all the commands are equally available. In the new approach, the screen already assumes the command (open an account) and asks that you pick which one. If you want to do something else, you pick a link from a side menu, which takes you to a different screen to complete.

Harvey Motulsky
Thursday, October 25, 2001

<you'd have to be naive to think that it changed anything about the usability of Windows. It improved one small aspect of the learnability of Windows in a totally trivial way. >

Yah.  People have been confusing "easy to learn" and "easy to use" for decades, and I don't suppose it will ever stop.

Chris Dunford
Thursday, October 25, 2001

Does anyone have any links to tutorials or books on creating web-style applications like Money 2000? I have developed a few very small standard form based apps in VB but really like the look of these web-style apps, but don't know where to start.

Ben
Thursday, October 25, 2001

It's just DHTML, for the most part, embedded using the IE control in a form.

Make some HTML pages, embed an IE (shdocvw) control in your VB form, and party on :)

Joel Spolsky
Friday, October 26, 2001

Personally, I found Microsoft Money very confusing to use.

The first time I used it it was great, because a wizard popped up and I just had to answer questions about my accounts and stuff.

However, I didn't have all the information I needed to hand, so I completed what I could.

When I came back the wizard was gone, and all of the inductive screens assumed that I had finished setting up, and now I wanted to manage my accounts.

It took me a while to then find the account set up screens to fill in all the blanks.

Personally I think the application is seriously lacking in metaphors.  For example, there is the relationship between the physical accounts, such as a bank and a credit card, which details the money you have spent.  Then there is the budget, which shows what you intend to spend.

The budget and the account interact in mysterious ways.  Money does all kinds of clever stuff in the background, but nothing in the interface hints at how this interaction works.  Since I don't understand it, when it goes wrong I just can't figure out why.

I tried the debt reduction wizard, but it was asking the wrong questions, so I quit half way through.  Now all the graphs are way out and  I can't figure out why. 

At least, I hope the graphs are way out, otherwise I'm going to be owing several million withing a few years.

Since the documentation is only interested in telling me how to do the really obvious stuff I'll probably have to start again from scratch and avoid that wizard.

I think the problem is in the 'inductive' - Money always wants to take the lead.  Its always telling me what it thinks I should be doing, but just won't do as I tell it. 

To be honest, I found XSLT much easier to learn than Microsoft Money.

Ged Byrne
Monday, October 29, 2001

IUI is a well-needed step to creating the all-powerful all-useable interface. Let's face it, designing a UI is simply difficult. And the more complex your application's features, the exponentially more difficult it is to design a user interface.

Or is it? My feeling is that developers of interfaces trade "Screen Complexity" vs "User Understanding". It is true to say that any incredibly complex task (given that we are thinking about process-orientated interaction) can be broken down into minute tasks, and each step can be guided by the interface.

The next challenge is how one caters for the novice and the advanced user. The goal is to have both users being as productive as possible. It's no good having an "Advanced Mode" where all complexity is revealed. The percentage of people who would use this does not warrant its development.

The keys to speeding up productivity across the board is Navigation and related-task positioning. If your UI does not navigate smoothly (this includes long mouse cursor moves, like having a "Done" at the bottom right hand corner of the form) it will be like driving a car with a flat tyre: The ride is uncomfortable no matter how fast you go.

Positioning related tasks should be done in relation to their relevance to the current task and the complexity of the path they will take the user on. In other words, make the obvious next step jump out at the user more than, say, a step that takes the current task's data and cross-references it with parent data.

IUI is a good route forward, and it draws user interfaces closer to being integrated with the person driving the computer. The User Interface is now adapting to the user, and not the other way round.

Luke Venediger
Monday, July 07, 2003

*  Recent Topics

*  Fog Creek Home