People like to know what they are getting into and avoid rework whenever possible.
Show a preview of the consequences of an action before people commit to it.
Previews work on a couple levels. First, they simply help people avoid mistakes or at least reduce the cost of mistakes. It could be ordering something; it could be printing something; it could be changing the structure of a document, moving an object around on screen, clicking to navigate somewhere—whatever it is, a preview helps people know in advance that the action they are about to take will have the consequences that they desire.
Also, similar to Undo, this pattern increases a sense of mastery and overall satisfaction by emboldening people to try new things without fear of consequences. Over time, they discover more and more about what they can do and become more productive, happy users.
Implementation is pretty much like it sounds—you show people a preview of what the end result will be. If you can, and it makes sense, show the preview inline—the more immediate, direct feedback you can provide, the better. This works well in situations where the changes are immediate and local (such as the formatting in a document).
If it is a multi-step process or some kind of order, i.e., a formal request for some other party to take action, then usually the preview will be of the end result. If it is multi-step, show the amalgamated combination of the multiple steps. Depending on the context, it may be sufficient to summarize the salient points to add in review and confirmation (as in an order summary), but if part of what needs confirming is the actual recipient’s view of the item, display it exactly as it will appear (such as in a print preview). And if it is a confirmation type preview, be sure to provide a way to commit to the outcome being previewed or a way to cancel and/or edit.
Infragistics has some tools that can jumpstart your efforts to implement this pattern. Broken down by technology, they are as follows.
Preview pattern is implemented in AppStylist for ASP.NET that allows a designer to preview a style change for a control before generating style sets for applications. Check out the samples browser to see it in action.
You can use the NetAdvantage for Windows Forms WinPrinting controls to implement this pattern. If you download the NetAdvantage for Win Client bundle, you can find a sample in the WinForms sample browser called WinSchedule Printing Sample to see it in action.
You can implement this pattern using the NetAdvantage for WPF Reporting’s Print Dialog feature. If you download the NetAdvantage for Win Client bundle, you can find a sample in the xamShowcase called xamSalesManagerto see it in action.
The primary example for this pattern shows the print preview dialog in Microsoft PowerPoint. The Print Preview tab at the top lets people change printer options, zoom, change what to display, etc., so the preview seamlessly transitions into the desired consequences once confirmation is provided through the preview.
http://quince.infragistics.com/10xw
This example from Microsoft Word 2007 shows two kinds of preview. One is the specialized form known as Illustrated Choices, which you can see in the style gallery. It provides a sense of what to expect in the various options, although in itself it doesn’t show the effect on the actual target object. Then there is what they call “live preview,” which is what you get if you hover over one of the styles in the gallery. At that point, Office will show the effect of the option you are hovering over. In this case, the solution text is selected, and I’m hovering over the “Intense Reference” style, but as soon as I move off of it, it returns to the currently set style or some other preview style until I click to commit to one.
http://quince.infragistics.com/114e
Adobe’s Acrobat Reader has evolved its print dialog over the years to include a preview, which provides a good sense of what to expect. If you choose multiple pages per sheet, it shows it; if you choose to print a specific page or range, it shows the first page in the range, and it provides a scrollbar to navigate through the pages for complete preview.
http://quince.infragistics.com/1178
At the end of the checkout process, Amazon.com displays a confirmation page that lets you easily check if you are ordering what you wanted. The content is organized into Titled Sections and many pieces of data have a way to easily change their value. The confirmation buttons are displayed twice, and are very easy to find.
http://quince.infragistics.com/112w
Google Picasa lets you apply different filters to an image, and it shows the result after they are applied. This app blends Preview and Undo in that if you are happy with the preview, it sticks, but you can easily undo it as well.
http://quince.infragistics.com/10vv
A tooltip can be a simple form of preview. This example from Quince is a fancy tooltip with image, but even a plain text tooltip on a hyperlink can provide a textual preview of where the link leads to save people the trouble of going there and having to come back if they don’t want it. Tooltip previews are even more important for actions with bigger consequences.
http://quince.infragistics.com/110j
This sample from the Infragistics Windows Forms toolkit shows the print preview functionality that comes with the WinGrid.
http://quince.infragistics.com/10yj
Infragistics AppStylist lets designers preview the effects of the styles they’re building for applications.
http://quince.infragistics.com/10vf
This sample shows how Infragistics’ Windows Forms toolset helps developers add the Office-style Live Preview to their applications.
http://quince.infragistics.com/1163
Jennifer Tidwell, Designing Interfaces
Format, Commands, Selection, Navigation, Builders and Editors, Alignment, Drill-Down, Page Layout, Rating, Browse, Customization.