windows:Experiences/setup

出自UXGuide.net

跳转到:导航, 搜索

安装
Setup

目录


Users don't enjoy installing software, so modern setup experiences need to be simple, efficient, and problem-free.

Setup usually refers to the experience of installing and initially configuring a program. However, setup can also refer to entire installation life cycle, including initial installation, incremental program updates (such as version upgrades or service packs), repairing, and uninstalling.

Most users regard setup as a necessary evil, to be performed as quickly as possible. The point of installing the program is to use it, not to make innumerable decisions about configuration and usage, or, worse yet, to spend a lot of time answering personal questions used for registration or marketing purposes.

Ee915058_Setup00(en-us,MSDN_10).png

A streamlined setup experience.

The setup experience combined with the first use of the program is known as the first experience. Your program should provide a streamlined first experience for users. Each question or step that isn't necessary or could be postponed delays them from using your program. Overly complex setup programs are relics from a different age.

Note: Guidelines related to the first experience using a program, wizards, and the Start menu are presented in separate articles.

Is this the right user interface?

While all Microsoft® Windows® programs need some sort of setup program, you have a choice of where to put program settings:

Setup

Present settings in setup if:

First use of the program

Present settings on the program's first use if:

For such settings, users are likely to make better choices within the context of the program than within setup.

Centralized program options

Present settings on the program's options dialog box if all of the following conditions apply:

In the context of using the feature

Present settings in the relevant context if all of the following conditions apply:

Through careful attention to the placement of configuration settings, you can reduce the burden on users during their first experience with your program.

Design concepts

Design a lightweight setup

Welcome, next, next, next, next, next, install, finish, congratulations! Does this setup experience sound familiar? Historically, setup programs have adopted this kind of inefficient design: a long sequence of screens, inviting users into a mindless sequence of clicks just to get through it.

If users describe the setup of your program with words like quick and simple, they are surely praising the experience. They would much rather be using your program than setting it up.

Review your setup design for nonessential questions, options, pages, and paths, and be ruthless about eliminating them. Perform user research to find out what options users really need, and make sure they aren't mindlessly clicking the Next button through all the pages. Defer any options or questions that are better addressed in the context of the running program.

Many setup programs offer standard pages not because they are necessary or helpful, but because they are standard. For example, welcome pages, summary pages, and congratulations pages often just add clicks. Instead, your setup program should add pages only if they are necessary to complete the setup task. For guidelines about types of setup pages and how to evaluate them, see Page types later in this article.

Ee915058_Setup34(en-us,MSDN_10).png

In this example, the setup program eliminates the traditional Welcome page and gets right down to business.

While it might be necessary to offer different branches of setup (a speedy, typical experience and a more controllable, custom experience), make sure that you have enough custom options to warrant the extra complexity. Don't add branches unless you have to. A few unimportant options in a custom branch suggests the need to reorganize the setup design.

Another reason to streamline setup is that inexperienced users sometimes overanalyze options, fearing that a wrong choice could be irreversible or destructive. Forcing users to make decisions about things they don't understand or care about can make them feel anxious, incompetent, and even frustrated. Not a good first impression. It is better just to get them going quickly, feeling comfortable and confident as they explore the features in your program, and making better decisions about feature options at that time. For more guidelines, see Streamlining setup later in this article.

Strive to make your setup experience as simple as possible, but not simpler. Programs targeted at highly technical users may need a complex setup. For example, the Microsoft SQL Server® team discovered that database administrators prefer to retain control over many setup options, such as file locations. Moreover, SQL Server is a large business application, with a number of components that differ widely in purpose and functionality. So while we want to keep things simple, setup needs to reflect the complexity of the product and the expectations and needs of its users.

Still, such complex setup programs should be the exception, not the rule. Most Windows programs should strive to start the setup process with a simple, single step.

Setup phases

Well-designed setup programs let users perform other activities during the time-consuming task of downloading and copying files. To run unattended, setup programs are designed to have four separate phases:

Because the installation phase might take a long time, this phase should be designed to run to completion without any user involvement. This means that all questions should be asked during the decision phase, and any problems that arise should be queued and dealt with in the completion phase. If the installation phase takes more than one minute to complete, assume that users will be doing something else during the download and installation phases.

Incorrect:

Ee915058_Setup03(en-us,MSDN_10).png

In this example, the setup program interrupts progress to ask a question that should have been asked during the decision phase.

Present helpful progress

If users patiently wait through the installation phase of the setup experience, perhaps watching a progress bar to its apparent completion, only to witness the progress bar reset and start over, there's a real sense of betrayal. The reported progress was misleading and ultimately meaningless.

A variation on this painful scenario is the "brinksmanship" installation: users see progress reach, say, 99 percent complete, yet are forced to wait for a disproportionate amount of time before finally getting to 100 percent complete. So in terms of what is most important to the user, an implied promise about the amount of time to wait, the claim of 99 percent complete is deceptive.

During the downloading and installation phases, users typically have two things they want to know: should they wait or do something else, and is the setup going to be done soon. While there are enough variables in the setup process to prevent you from providing perfectly accurate progress information, the progress feedback needs to be accurate enough to answer these two questions and set appropriate expectations. In addition to a progress bar, you can include a brief statement about the overall time expected for the process.

Ee915058_Setup05a(en-us,MSDN_10).png

In this example, the progress page includes a brief, general statement about how much time the installation could take.

Good setup programs use progress bars effectively to provide users with helpful information about the setup program's progress. For more guidelines, see Progress Bars.

Design for all setup scenarios

Modern setup programs must be designed to handle a variety of installation scenarios:

Given these scenarios, you shouldn't assume that users are always installing the program for themselves (making options about personal preferences inappropriate), going to be monitoring the process closely (making unattended setup important), or even want a graphical user interface for the task.

Don't forget the uninstall experience

To complete the software setup lifecycle, users need to be able to remove software they don't want or no longer need. This is especially important if they didn't install the program themselves (for example, if it came pre-loaded on the computer).

Handle technical support strategically

Installing your program is the one task that all your users must complete successfully. If users fail to install your program, either you need to provide them with costly technical support or they aren't your users anymore.

Design your setup program to provide your technical support team with the features and information they need to help users install successfully. These details shouldn't normally be exposed to users, but they should be readily accessible when needed.

Incorrect:

Ee915058_Setup06(en-us,MSDN_10).png

In this example, the progress bar is showing details meaningful only to technical support.

Keep the normal user experience simple—don't clutter it with information that has value only to technical support. Rather, record support information in a setup log file instead. And more importantly, help users avoid the need for technical support with clear, concise error messages that explain problems well and provide practical solutions. Provide links to Help articles when necessary. Consider providing a Repair option to your setup program to repair missing or corrupted files or settings.

If you do only three things...

  1. Make setup as simple and lightweight as possible. Remember that users don't enjoy setup, they endure it. Look carefully at every question, option, page, and path, and trim away everything that isn't essential to completing setup.
  2. Design for all setup scenarios, including unattended installations, scripted installations, and uninstall. For efficient unattended installations, make sure there is a clean separation between the setup phases.
  3. Design your setup program so that users can resolve setup problems on their own, but also log the information needed for technical support just in case. Keep in mind that setup is the one task that all users must complete successfully.

Guidelines

General

Windows integration

User Account Control

For more guidelines, see User Account Control.

Restarting Windows

Incorrect:
Ee915058_Setup04(en-us,MSDN_10).png
In this example, users don't appear to have a choice about when to restart Windows.

Streamlining setup

Ee915058_Setup35(en-us,MSDN_10).png
In this example, Windows Media Player presents per-user privacy options on first use of the program.
Incorrect:
Ee915058_Setup07(en-us,MSDN_10).png
In this example, setup should be streamlined by eliminating the request for file location input. Given the program's size, most users don't care, and simply click Next.
Ee915058_Setup36(en-us,MSDN_10).png
In this example, the user name and organization provided by default are obtained from the registry.

Page types

Welcome and Getting Started pages

Incorrect:
Ee915058_Setup08(en-us,MSDN_10).png
In this example, there's nothing for the user to do but click Next.

License terms pages

Incorrect:
Ee915058_Setup41(en-us,MSDN_10).png
In this example, the uppercase text and large font size makes the terms difficult to read, forcing users to scroll more than necessary.
Ee915058_Setup37(en-us,MSDN_10).png
In this example, the Next button is disabled until users have explicitly accepted the license terms.


Product registration pages

Scope pages (typical, custom, or minimum)

Ee915058_Setup12b(en-us,MSDN_10).png
In this example, the page design visually reinforces the fact that most users should opt for the typical installation.

Input pages

Ee915058_Setup42(en-us,MSDN_10).png
In this example, options are limited to a single page.

Start installation pages

Progress pages

Ee915058_Setup32(en-us,MSDN_10).png
A typical progress page.
Incorrect:
Ee915058_Setup13(en-us,MSDN_10).png
In this example, the explanatory text should appear above the progress bar.
Incorrect:
Ee915058_Setup16(en-us,MSDN_10).png
In this example, technical details such as GUIDs are meaningless to users.

Error pages

Ee915058_Setup31(en-us,MSDN_10).png
In this example, the setup failure is explained on an error page, along with some steps to resolve the problem.

Congratulations/Completion pages

Incorrect:
Ee915058_Setup30(en-us,MSDN_10).png
In this example, an unnecessary Completion page states the obvious. Windows Update runs automatically, so there's no reason for users to run it manually.
Ee915058_Setup17(en-us,MSDN_10).png
In this example, setup has installed multiple programs, so it doesn't make sense to start one particular program automatically. A Completion page is more appropriate.

Leaving users in control

Security

Uninstall

Help and support

Text

Incorrect:
Restrict installation on a per-user basis.
Correct:
Install only for me.
Ee915058_Setup23(en-us,MSDN_10).png
In this example, clicking the command button goes to a window or page that allows users to download.
Ee915058_Setup22(en-us,MSDN_10).png
In this example, clicking the command button performs the download immediately.
Only one command in a task flow should be labeled with now. So, for example, a Download now command should never be followed by another Download now command.

For more guidelines, see Style and Tone.

Documentation

导航
工具箱