Sunday Jan 30, 2011

Warnings When Undo Isn't Possible

Enjoyed this post Never Use a Warning When you Mean Undo  by Aza Raskin. It makes sense never to warn users if an undo option is possible. The examples given are from the web space. Here's the conclusion:

Warnings cause us to lose our work, to mistrust our computers, and to blame ourselves. A simple but foolproof design methodology solves the problem: "Never use a warning when you mean undo." And when a user is deleting their work, you always mean undo.

However, in enterprise apps you may find that an undo option isn't technically possible or desirable. Objects may be shared with other users or part of a flow elsewhere, for example. Undoing an action on an object committed to the database (a rollback I guess), as opposed to just being cached or saved, or on an object that has become locked by another process isn't feasible. Plus, what might happen to a modified object when it moves downstream in the process isn't always obvious. So, the implications of delete (and other) actions need to be clearly communicated to users in advance. So, warnings are important in the enterprise space. Data has a very high value, and users can perform a wide variety of actions that may risk that data, not always within the application itself (at browser level, for example). That said, throwing warnings all over the place when an undo option is possible is annoying. Instead, treat warnings with respect. When there is no undo option possible, use warning messages to communicate potentially dangerous or irrecoverable actions or the downstream consequences of user actions on the process or task flow. Force the user to respond to a warning message by using a modal dialog with clearly labeled action buttons. Here's a couple of examples:

warning_records.png
warning_navigate2.png

But what about mobile apps? I don't recall seeing undo options in apps, which can be frustrating as objects can be easily deleted by an accidental finger gesture (as anyone who has accidentally removed an account from an app--or indeed at entire app--on an iPhone will tell you). Warnings are very important there too for irrecoverable actions.

android_mobile_warning.png

A great article that got me thinking. Let's see more articles like that. And let's not forget there's more types of messages than just error messages. User assistance and user experience professionals need to understand when best to use confirmation, information, and warning types too.

Sunday Oct 31, 2010

ADF Faces Messages: Inline Versus Dialog Decisions

The Application Developer Framework Faces components (as previously mentioned) allow you to use a variety of messages types (error, warning, and so on) in different ways. For example, errors on components can be shown inline (that is, on the page - figure 1) or in a message dialog (figure 2). This is done by setting the inline property on af:messages to true.

error_message_inline_decision.png

Figure 1: ADF Faces Inline Error Message

error_message_dialog_decision.png

Figure 2: ADF Faces Error Message Dialog

But how do you make the decision about whether to show the message inline? To do this you need some user experience guidance. Make the decision based on how the business or UI rule you've designed is validated and on the nature of the user task being performed. Here's a sample decision matrix for message types and scenarios (figure 3) that you might like to consider.

dialog_v_inline.png

Figure 3: Inline versus Dialog-based Messages Decision Matrix

Of course, this is just a guideline. Natch, designing your flows so that errors aren't necessary at all is the way to go, but hey, let's live in the real world!

About

Oracle applications user experience (UX) assistance. UX and development outreach of all sorts to the apps community, helping to design and deliver usable apps.

Profile

Ultan Ó Broin. Director, Global Applications User Experience, Oracle Corporation. On Twitter: @ultan

See my other Oracle blog about product globalization too: Not Lost in Translation

Interests: User experience (UX), user centered design, design patterns, tailoring, BYOD, dev relations, language quality, mobile apps, Oracle FMW and ADF, and a lot more.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today