October 20, 2003
ForUSE - Instructive Interaction - Larry Constantine
Instructive Interaction: Innovating without Inundating Users – Larry Constantine.
Raw Notes...
Talking about what users are used to. Based on premise that users can't tell you what they need, but only what they don't like.
Instructive interaction - Help systems as a start. Help systems are often not really very helpful. Finding the help you need takes too long and you lose track of the task at hand. Result is that help is under used and therefore software companies under invest in it because they've figures saying nobody uses it.
Putting help into the interface... or 'instructive interaction' - this is starting to sound a lot like the work we've already done in Single Sign On - where the user interface is self-teaching.
Learning usually requires being told, by being shown or by doing over and over again. Most learning requires repetition and trial and error. Exceptions are 'prepared learning' (single trial learning or Anticipatory learning... the 'oh, I knew that' effect). User encounters a novel or unfamiliar feature, and guesses what it does or how it works, then tries it and is finally rewarded by discovery that they were right. 1) Recognition, 2) Anticipation, 3) Action, 4) Confirmation. [this is kind of like defining 'learnability'] Interface should provide all needed help. Interface has to be 1) explorable 2) intuitable 3) predictable 4) have intrinsic guidance.
Instructive interaction is not about the system trying to do things for the users over the users doing it themselves. It's not about artificial intelligence. It's about making something consistent and learnable like a tool - a hammer. User Agents are also NOT good instructive interaction tools as they're more annoying than useful over time.
Explorable interfaces have no penalties for playing or trying things. Allow users to get out of a situation easily, so that it's forgiving. Consistent, safe cancel and rollback. Infinite level undo and redo is also very good (as in at least 12) even in web applications! (big oops on SSO). Beginners love menus because they allow you to see where you are and how you got there. Nested dialogues are the opposite of this as they obscure views of the previous path.
The user's best guess is probably right [this feels really right to me. I'm always wanting to do lots of 'expectation measuring' within user tests... ask a user what they think will happen by doing a thing, before letting them do a thing]. Windows are like different rooms, you better have a good reason to send a user to another room – Cooper. Contextual help and feedback should be intrinsic to the appearance and behavior of objects, rather than something that's added on to them. It's not so much about MESSAGES, but giving feedback through the behavior of a certain object when manipulated.
Consistency of UI appearance, behavior, and organisation are all important. Behavioral consistency over consistent appearance. Predictability most important of all. Affordances, are as always, very important to learnable interface. Static visual affordances are VERY important, as they're always available to the user even when not actively using. Tooltips, balloon help, starting point highlighted, workflow line (draws the eye from one place to another), etc.
Balloon help - answer 'what is this?' 'what can I do?' 'what should I do?' Cascade screen tips to add more information than just the name of a tool. Link it to the right article in the help section. "Progressive Screen Tips"... make sure you can allow for it to be turned off.
Progressive enabling and disclosure – unobtrusively walk users through a series of actions... wizards don't help skill building because you're still making it into magic rather than teaching the user to do something using the interface.
Anticipatory Action – system tries to guess most common action such as highlighting an option within a dropdown list. Especially for a new concept in a UI you would have the item open/active the first time they come to the interface.
Implicit antecedents... avoid rigid logic or imposed order... don't think like a programmer... skip steps to anticipate what the user really wanted to do (e.g. radio buttons auto select on accompanying value fields being filled out)
Sometimes you need to animate certain interactions in order to have a concept make sense. Sometimes you just can't write out long-hand description of something you can illustrate really clearly with a clear, even stop frame animation.
Sometimes, standard, well established icons and visual elements/interaction idioms can be used in new ways. The key is to test and see whether you've bent the rules too much.
This kind of reminds me of previous lessons in music... "Practice doesn't make perfect... PERFECT practice makes perfect" Learning has to be done right, and anything you can do to aid users in getting it right the first time, the better off your they will be and the quicker they will know your design.

Larry Constantine
I totally agree that gaming has it all over most interfaces for teaching people and am fascinated by the theory behind it. I don't think there's an awful lot out there... I've got Marc Prensky's Digital Game Based Learning ( http://www.amazon.co.uk/exec/obidos/tg/detail/-/0071363440/202-2530184-8067822?v=glance ) but haven't seen much else on this. I'd love to hear of more!
I guess the problem really is in that rich, interactive exploratorive realms aren't always suited to more task driven behaviour. You don't want to be 'playing' when you're just trying to achieve a goal. Its in this arena where I think there's a lot to learn about supporting users with contextual information in the interface.
Posted by: Ant at October 22, 2003 02:34 PMOn effective learning methods within UIs, see pretty much every video game ever. Game desigers have long outpaced all the instructional designers still stuck in the "integrated help system" mode of thinking.
Posted by: Andrew at October 21, 2003 03:23 PM