Accessibility

Flex Article

 

Designing for Flex – Part 8: Making your application safe


Rob Adams

Rob Adams

Adobe
www.usereccentric.com

Table of Contents

Comments
Created:
14 January 2008
User Level:
Intermediate
Products:
Flex

When many people discuss application safety they think of security, and security is an important part of the picture. Fundamentally, however, making your application feel safe to users means making them feel in control. Ensure that your users understand what the system is doing; every time they must make a decision, ensure they understand what the full consequences of that decision will be while there's still time to change it. Applications that communicate clearly and forgive mistakes empower users to boldly try new things and are not just safer for them to use but easier for them to learn as well, since most users learn new applications by trial and error, not by reading pages and pages of documentation. But as anyone who has lost hours or even days worth of work to an application malfunction or a poorly marked destructive operation can attest, applications that are careless with data and unforgiving of slips and mistakes break users' trust, and many never regain it.

This article primarily discusses applications that are not safety-critical in the grand scheme of things. Although losing all the work a user created for the past few hours is extremely frustrating and unproductive and sending an e-mail to many unintended recipients can be quite embarrassing, these scenarios pale in comparison to situations in which people can lose their lives or become permanently disabled due to application safety failures, situations that often arise in medical device design, aircraft control systems, and other safety-critical domains. If you are working a safety-critical application, many of the principles discussed here as well as numerous others become even more critically important, and the priority of proper user and system testing changes from "we'll do the best we can" to "this product will not ship until we have absolute certainty it won't kill anybody." Read this article… but don't let it stand in for a rigorous process for designing safety-critical hardware and software systems.

This article covers:

  • How to protect your users' data by implementing continuous save
  • How to forgive user mistakes by providing undo and cancel operations
  • How to make users aware of the consequences of irreversible actions by providing appropriately prominent feedback
  • How to keep your application secure through appropriately implemented security mechanisms.

This is the last part in the Designing for Flex series, which includes the following articles:

I suggest that you read the previous parts before proceeding with this part of the series.

Download all parts of the FIG series as PDF files that you can print and read offline: adobe_flex_interface_guide.zip (ZIP, 5.7MB)

This content is a public draft. Please give us feedback in the Flex Interface Guide Forum.

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License.

About the author

Rob Adams works for Adobe Systems, Inc. in San Francisco, California. He started at Macromedia, Inc. in 2004 and has worked on the Flash authoring tool, Flash Player, and Fireworks, but nowadays works primarily on the Flex product line. He is involved with the design of the core framework itself as well as the designer/developer tools such as Flex Builder and Creative Suite. Although his primary focus is on design research, he also does some design work, promotes sound design practices both within Adobe and without, and makes himself a general pain in the necks of the designers, product managers, and engineers he works with.