WEEK 4-5: WORKING IN
MICROSOFT WINDOW ENVIRONMENT
·
Windows Environment
The Windows environment is the onscreen work area provided by Windows,
analogous to a physical desktop, and the operating system's core extension
points. Learn how to leverage the desktop, taskbar, notification area, control
panels, help, and user account control for your app.
In this section
Topic
|
Description
|
The desktop is the user's work area for their programs. It's not a way
to promote awareness of your program or its brand. Don't abuse it!
|
|
The taskbar is the access point for programs displayed on the desktop.
With the new Windows 7 taskbar features, users can give commands, access
resources, and view program status directly from the taskbar.
|
|
The notification area provides notifications and status. Well-designed
programs use the notification area appropriately, without being annoying or
distracting.
|
|
Use control panel items to help users configure system-level features
and perform related tasks. Programs that have a user interface should be
configured directly from their UI instead.
|
|
Use Help as a secondary mechanism to help users complete and better
understand tasks—the primary mechanism being the UI itself. Apply these
guidelines to make the content truly helpful and easy to find.
|
|
A well designed User Account Control experience helps prevent unwanted
system-wide changes in a way that is predictable and requires minimal effort.
|
Desktop
The desktop is the user's work area for their programs. It's not a way
to promote awareness of your program or its brand. Don't abuse it!
The desktop is the onscreen work area provided by Microsoft Windows,
analogous to a physical desktop. It consists of a work area and taskbar. The work area may span multiple
monitors.
A typical Windows desktop.
The active monitor is the monitor where the active program is running.
The default monitor is the one with the Start menu, taskbar, and notification
area.
Design concepts
The Windows desktop has the following program access points:
·
Work area. The onscreen area where users can perform their work, as well as
store programs, documents, and their shortcuts. While technically the desktop
includes the taskbar, in most contexts it refers just to the work area.
·
Start button. The access point for all programs and special Windows places
(Documents, Pictures, Music, Games, Computer, Control Panel), with "most
recently used" lists for quick access to recently used programs and
documents.
·
Quick Launch. Removed from Windows 7. A direct access point for programs selected by the user.
·
Taskbar. The access point for running programs that have desktop presence.
While technically the taskbar spans the entire bar from the Start button to the
notification area, in most contexts taskbar refers to the area in between,
containing the taskbar buttons. This area is sometimes referred to as the
taskband.
·
Deskbands. Not recommended. Minimized functional, long-running programs, such as the Language Bar.
Programs that minimize to deskbands don't display taskbar buttons when
minimized.
·
Notification area. A short-term source for notifications and status, as well as an
access point for system- and program-related features that have no presence on
the desktop.
The Windows desktop access points include the Start button, taskbar, and
notification area. Note the thumbnail feature of the taskbar button.
The Windows desktop is a limited, shared resource that is the user's
entry point to Windows. Leave users in control. You should use its areas as intended—any other usage should be
considered an abuse. Never view them as ways to promote awareness of your
program or its brand.
For Windows 7, Original Equipment Manufacturers (OEMs) and Independent
Hardware Vendors (IHVs) can use Device Stage to design a customized, branded UI
for the computer and devices, without cluttering users' desktops. OEMs in
particular can use Device Stage PC to feature custom programs, service
offerings, and support. For more information, see the Microsoft Device Experience Development Kit.
If you do only one thing...
·
Don't abuse the desktop—keep users in
control. If your target users are likely to use your program frequently,
provide an option during setup to put a shortcut on the desktop, unselected by
default.
Guidelines
·
If your users are very likely to use
your program frequently, provide an option during setup to put a program
shortcut on the desktop. Most programs won't be used
frequently enough to warrant offering this option.
·
Present the option unselected by
default. Requiring users to select the option is
important because once undesired icons are on the desktop, many users are
reluctant to remove them. This can lead to unnecessary desktop clutter.
·
If users select the option, provide
only a single program shortcut. If your
product consists of multiple programs, provide a shortcut only to the main
program.
·
Put only program shortcuts on the
desktop. Don't put the actual program or other types
of files.
Correct:
Incorrect:
In the incorrect example, the program, not a shortcut, is copied to the
desktop.
·
Choose a label that can be displayed
without truncation. Users shouldn't see an
ellipsis.
Correct:
Incorrect:
In the incorrect example, the program shortcut label is so long that it
is truncated.
Documentation
·
When referring to the desktop, use
desktop, uncapitalized.
·
When referring to desktop shortcuts,
use shortcut, uncapitalized.
· For custom overlay icons, choose an easily recognizable design. Use high-quality 16x16 pixel, full color icons. Prefer icons with distinctive outlines over square or rectangular shaped icons. Apply the other Aero-style icon guidelines as well.
Taskbar
The taskbar is the access point for programs displayed on the desktop.
With the new Windows 7 taskbar features, users can give commands, access
resources, and view program status directly from the taskbar.
The taskbar is the access point for programs displayed on the desktop,
even if the program is minimized. Such programs are said to have desktop
presence. With the taskbar, users can view the open primary windows and certain
secondary windows on the desktop, and can quickly switch between them.
The Microsoft Windows taskbar.
The controls on the taskbar are referred to as taskbar buttons. When a
program creates a primary window (or a secondary window with certain
characteristics), Windows adds a taskbar button for that window and removes it
when that window closes.
Programs designed for Windows 7 can take advantage of these new taskbar
button features:
·
Jump Lists provide quick access to
frequently used destinations (like files, folders, and links) and commands
through a context menu accessible from the program's taskbar button and Start
menu item—even if the program isn't currently running.
·
Thumbnail toolbars provide quick
access to frequently used commands for a particular window. Thumbnail toolbars
appear in the taskbar button's thumbnail.
·
Overlay icons show change of status
on the program's taskbar button icon.
·
Progress bars show progress for
long-running tasks on the program's taskbar button.
·
Sub-window taskbar buttons allow
users to use taskbar button thumbnails to switch directly to window tabs,
project windows, multiple-document interface (MDI) child windows, and secondary
windows.
·
Pinned taskbar buttons allow users to
pin program buttons to the taskbar to provide quick access to programs even
when they aren't running.
Technically, the taskbar spans the entire bar from the Start button to
the notification area; more commonly, however, the taskbar refers only to the
area containing the taskbar buttons. For multiple monitor configurations, only
one monitor has a taskbar, and that monitor is the default monitor.
Note: Guidelines related to desktop, notification area, and window management are presented in
separate articles.
Is this the right user interface?
Programs designed for Windows 7 can take advantage of these taskbar button
features. Ask yourself the following key questions to determine whether or not
to use them:
Jump Lists
·
Do users often need to start new
tasks using your program? If so, consider providing a
Jump List. While Jump Lists can be used for other purposes, most scenarios
involve starting a new task.
·
Do users often need to access
recently or frequently used files, folders, links, or other resources? If so, consider providing a Jump List to access these useful
resources.
In this example, Windows Internet Explorer uses a Jump List to present
frequently visited pages.
·
Do users often need quick access to a
small number of your program's commands while using other programs, even if
your program isn't running? If so, consider providing a
Jump List with these frequently used commands. These commands must work even if
your program isn't running, and must apply to the entire program, not a
specific window. As an alternative, consider providing a thumbnail toolbar for
commands that apply to a specific window.
In this example, the Sticky Notes accessory allows users to create a new
note quickly while using other programs.
·
Are you promoting new, single use, or
hard to find features? If so, don't use Jump Lists
because they aren't intended for this purpose. Instead, improve the
discoverability of such commands directly in the program.
Thumbnail toolbars
Do all of the following conditions apply?
· Do the commands apply to a specific
window? Thumbnail toolbars are for commands that
apply to existing tasks, whereas Jump List commands are for starting new tasks.
· Do users need to interact with a
running task quickly while using other programs? If so, thumbnail toolbars are a good choice. Thumbnail toolbars
can present a maximum of seven commands, but a maximum of five commands is
generally preferred.
· Are the commands immediate? That is, do they not require additional input? Thumbnail toolbars
need to have immediate commands to be efficient, whereas Jump Lists work better
with commands that require additional input.
Incorrect:
Commands that require additional input don't work well on thumbnail
toolbars.
· Are the commands direct? That is, can users interact with them using a single click?
Toolbars need to have direct commands to be efficient.
· Are the commands well represented by
icons? Thumbnail toolbar commands are presented
using icons not text labels, whereas Jump List commands are represented by text
labels.
Incorrect:
In this example, the command isn't well represented by icons.
Overlay icons
·
Does the program have "desktop
presence"? If not, use a notification area
icon instead. If so, consider using an overlay icon instead of putting status
on the notification area icon for programs designed for Windows 7. Doing so
ensures tat the icon will always be visible (when large icons are used), and
consolidates the program with its status in one place.
· Is the overlay icon displayed
temporarily to show a change of status? If so, an
overlay icon may be appropriate, depending on the following factors:
o Is the status useful and relevant
while using other programs? If not, display the information
in the program's status bars or other program status area.
In this example, the status bar is used because the status isn't useful
when using other programs.
o Is the status showing progress? If so, use a taskbar button progress bar instead.
o Is the status critical? Is immediate
action required? If so, display the information
in a way that demands attention and cannot be easily ignored, such as a dialog box.
Progress bars
· Is the progress feedback useful and
relevant while using other programs? That is, are
users likely to monitor the progress while using other programs, and change
their behavior as a result? Such useful and relevant status is usually
displayed using a modeless progress dialog box or a dedicated progress page,
but not with a busy pointer, activity indicator, or progress bar on a status
bar. If the status isn't useful when using other programs, just display the
progress feedback directly in the program itself.
Correct:
Incorrect:
In the incorrect example, the taskbar button progress bar isn't very
useful.
·
Is the task continuous? If the task never completes, there's no need to show its progress.
Examples of continuous tasks include antivirus scans that aren't initiated by
users, and file indexing.
Incorrect:
In this example, a continuous task doesn't need to show progress.
Sub-window taskbars
·
Does your program contain tabs,
project windows, MDI child windows, or secondary windows that users would often
want to switch to directly? If so, giving these windows
their own taskbar button thumbnails may be appropriate.
Design concepts
Using Jump Lists and thumbnail toolbars effectively
Jump Lists and thumbnail toolbars help users access resources and
perform commands more efficiently. However, when designing how your program
supports these features, don't take improved efficiency for granted. If users
can't accurately predict which feature has the command they need, or they have
to check multiple places, eventually users will become frustrated and stop
using these features.
Jump Lists and thumbnail toolbars work together most effectively when
they are:
· Clearly differentiated. Users know when to look for a destination or command in a Jump
List, and when to look in a thumbnail toolbar. There is a clear purpose for
each, so users rarely confuse the contents of the two. Generally, Jump Lists are
used to start new tasks, whereas thumbnail toolbars are used to interact with
running tasks while using other programs.
· Useful. The destinations and commands offered are the ones that users
need. If users aren't likely to need something, it isn't included. Don't use
the maximum number of items if they aren't needed.
· Predictable. The destinations and commands offered are the ones that users
expect to find. Users rarely have to look in more than one place.
· Well organized. Users are able to find what they are looking for quickly. They use
descriptive yet concise labels, and suitable icons to aid recognition.
Be sure to do user research to make sure you've got it right. If you
ultimately find that you can't design Jump Lists and thumbnail toolbars
together that achieve these goals, consider providing only one of them. It's
better to have one predictable way to give commands than two confusing ones.
Guidelines
Taskbar buttons
·
Make the following window types
appear on the taskbar (for Windows 7, by using a taskbar button thumbnail):
o
Primary windows (which includes
dialog boxes without owners)
o
Property sheets
o
Modeless progress dialog boxes
o
Wizards
·
For Windows 7, use taskbar button
thumbnails to group the following window types with the primary window taskbar
button it was launched from. Each program
(specifically, each program perceived as a separate program) should have a
single taskbar button.
o
Secondary windows
o
Workspace tabs
o
Project windows
o
MDI child windows
Correct:
In this example, a secondary window is grouped with its primary window's
taskbar button.
Incorrect:
In this example, Control Panel is incorrectly grouped with Windows
Explorer. Users perceive these as separate programs.
Incorrect:
In this example, Windows Backup incorrectly uses two taskbar buttons for
a single program.
· Restoring a primary window should
also restore all its secondary windows, even if those
secondary windows have their own taskbar buttons. When restoring, place
secondary windows on top of the primary window.
· For Windows 7, programs that normally
have desktop presence may temporarily display a taskbar button to show status. Do so only if your program is normally displayed on the desktop
and users frequently interact with it. A program that normally runs without
desktop presence should use its notification area icon instead, even though it
might not always be visible.
Incorrect:
In this example, Windows Sync Center incorrectly uses a temporary
taskbar button to display status. It should use its notification area icon
instead.
Icons
·Design your program icon to look
great on the taskbar. Ensure it is meaningful, and
reflects its function and your brand. Make it distinct, make it special, and
ensure it renders well in all icon sizes. Spend the time necessary to get it
right. Follow the Aero-style icon guidelines.
· If your program uses overlay icons,
design your program's base icon to handle overlays well. Overlay icons are displayed in the lower right corner, so design
the icon so that area can be obscured.
In this example, the program's taskbar button icon doesn't have
important information in the lower right area.
· Don't use overlays in your program's
base icon, whether your program uses overlay icons or
not. Using an overlay in the base icon will be confusing because users will
have to figure out that it's not communicating status.
Incorrect:
In this example, the program's base icon looks like it is showing
status.
For general icon guidelines and examples, see Icons.
Overlay icons
·
Use overlay icons to indicate useful
and relevant status only. Consider the display of an
overlay icon to be a potential interruption of the user's work, so the status
change must be important enough to merit a potential interruption.
Incorrect:
In these examples, the overlay icon isn't important enough to merit a
potential interruption.
·
Use overlay icons for temporary
status. The overlay icons lose their value if
displayed constantly, so normal program status should not show an icon. Remove
the overlay icon when the icon:
o Is for a problem: Remove the icon once the problem has been resolved.
o Alerts that something is new: Remove the icon once the user has activated the program.
Exception: Your program can constantly
display an overlay icon if users always need to know its status.
In this example, Windows Live Messenger always displays an overlay icon
so that users can always check their reported presence.
· Don't display an icon to indicate
that a problem has been solved. Instead,
simply remove any previous icon indicating a problem. Assume that users
normally expect your program to run without problems.
· Display either overlay icons or
notification area icons, but never both. Your program
may support both mechanisms for backward compatibility, but if your program
displays status using overlay icons, it shouldn't also use notification area
icons for status.
Incorrect:
In this example, the new mail icon is displayed redundantly.
· Don't flash the taskbar button to
draw attention to a status change. Doing so
would be too distracting. Let users discover overlay icons on their own.
· Prefer standard overlay icons to
indicate status or status changes. Use these
standard overlay icons:
Overlay
|
Status
|
Warning
|
|
Error
|
|
Disabled/Disconnected
|
|
Blocked/Offline
|
· For custom overlay icons, choose an easily recognizable design. Use high-quality 16x16 pixel, full color icons. Prefer icons with distinctive outlines over square or rectangular shaped icons. Apply the other Aero-style icon guidelines as well.
· Keep the design of custom overlay
icons simple. Don't try to communicate
complex, unfamiliar, or abstract ideas. If you can't think of a suitable custom
icon, use a standard icon error or warning icon instead when appropriate. These
icons can be used effectively to communicate many types of status.
· Don't change status too frequently. Overlay icons shouldn't appear noisy, unstable, or demand
attention. The eye is sensitive to changes in the peripheral field of vision,
so status changes need to be subtle.
o Don't change the icon rapidly. If underlying status is changing rapidly, have the icon reflect
high-level status.
Incorrect:
In this example, the rapidly changing overlay icon demands attention.
o Don't use animations. Doing so is too distracting.
o Don't flash the icon. Doing so is too distracting. If an event requires immediate
attention, use a dialog box instead. If the event otherwise needs attention,
use a notification.
Taskbar button flashing
· Use taskbar button flashing sparingly
to demand the user's immediate attention to keep an ongoing task running. It's hard for users to concentrate while a taskbar button is
flashing, so assume that they will interrupt what they are doing to make it
stop. While flashing a taskbar button is better than stealing input focus,
flashing taskbar buttons are still very intrusive. Make sure the interruption
is justified, such as to indicate that the user needs to save data before
closing a window. Inactive programs should rarely require immediate action.
Don't flash the taskbar button if the only thing the user has to do is activate
the program, read a message, or see a change in status.
· If immediate action isn't required,
consider these alternatives:
o Use an action success notification to indicate
that a task has completed.
o Do nothing. Just wait for users to
attend to the issue the next time they activate the program. This is often the
best choice.
· If an inactive program requires
immediate attention, flash its taskbar button to draw attention and leave it
highlighted. Don't do anything else: don't
restore or activate the window and don't play any sound effects. Instead,
respect the user's window state selection and let the user activate the window
when ready.
· For secondary windows that have a
taskbar button, flash its button instead of the primary window's taskbar
button. Doing so allows users to attend to the window
directly.
· For secondary windows that don't have
a taskbar button, flash the primary window's taskbar button and bring the
secondary window on top of all the other windows for that program. Secondary windows that require attention must be topmost to ensure
that users see them.
· Flash only one taskbar button for one
window at a time. Flashing more than one button
is unnecessary and too distracting.
· Remove the taskbar button highlight
once the program becomes active.
· When the program becomes active, make
sure there is something obvious to do. Typically,
this objective is accomplished by displaying a dialog box that asks a question
or initiates an action.
Quick Launch shortcuts
· Put program shortcuts in the Quick
Launch area only if users opt in. Because Quick
Launch was removed from Windows 7, programs designed for Windows 7 shouldn't
add program shortcuts to the Quick Launch area or provide options to do so.
Notification Area
The notification area provides notifications and status. Well-designed
programs use the notification area appropriately, without being annoying or
distracting.
The notification area is a portion of the taskbar that provides a
temporary source for notifications and status. It can also be used to display
icons for system and program features that have no presence on the desktop.
Items in the notification area are referred to as notification area
icons, or simply icons if the context of the notification area is already
clearly established.
The notification area.
To give users control of their desktop in Windows 7, not all
notification area icons are displayed by default. Rather, icons are displayed
in the notification area overflow unless promoted to the notification area by
the user.
The notification area overflow.
Note: Guidelines related to the taskbar, notifications , and balloons are presented in separate
articles.
Is this the right user interface?
To decide, consider these questions:
· Does your program need to display a
notification? If so, you must use a
notification area icon.
· Is the icon displayed temporarily to
show a change of status? If so, a notification area icon
may be appropriate, depending upon the following factors:
o Is the status useful and relevant? That is, are users likely to monitor the icon and change their
behavior as a result of this information? If not, either don't display the
status, or put it in a log file.
Incorrect:
In this example, the disk drive activity icon is inappropriate because
users are unlikely to change their behavior based on it.
o Is the status critical? Is immediate
action required? If so, display the information
in a way that demands attention and cannot be easily ignored, such as a dialog box.
Programs designed for Windows 7 can use overlay icons on the program's
taskbar button to show change of status, as well as taskbar button progress
bars to show progress of long-running tasks.
· Does the feature already have
"desktop presence"? That is, when
run, does the feature appear in a window on the desktop (possibly minimized)?
If so, display status in the program's status bar, other status area, or, for Windows
7, directly on the taskbar button. If the feature doesn't have desktop
presence, you can use an icon for program access and to show status.
· Is the icon primarily to launch a
program or access its features or settings quickly? If so, use the Start menu to launch programs instead. The
notification area isn't intended for quick program or command access.
In this example from Windows Vista, Quick Launch is used to launch
Windows Explorer and Windows Internet Explorer quickly.
For programs designed for Windows 7, users can pin taskbar buttons for
quick program access. Programs can use a Jump List or thumbnail toolbar to
access frequently used commands directly from a program's toolbar button. The
Quick Launch area isn't displayed by default in Windows 7.
In this example, a Jump List is used for quick command access.
Design concepts
The Windows desktop
The Windows desktop has the following program access points:
·
Work area. The onscreen area where users can perform their work, as well as
store programs, documents, and their shortcuts. While technically the desktop
includes the taskbar, in most contexts it refers just to the work area.
· Start button. The access point for all programs and special Windows places
(Documents, Pictures, Music, Games, Computer, Control Panel), with "most
recently used" lists for quick access to recently used programs and
documents.
· Quick Launch. A direct access point for programs selected by the user. Quick
Launch was removed from Windows 7.
· Taskbar. The access point for running programs that have desktop presence.
While technically the taskbar spans the entire bar from the Start button to the
notification area, in most contexts taskbar refers to the area in between,
containing the taskbar buttons. This area is sometimes referred to as the
taskband.
·
Deskbands. Not recommended.
· Notification area. A short-term source for notifications and status, as well as an
access point for system- and program-related features that have no presence on
the desktop.
The Windows desktop access points include the Start button, taskbar, and
notification area. Note the thumbnail feature of the taskbar button.
The desktop is a limited, shared resource that is the user's entry point
to Windows. Leave users in control. You
should use the desktop areas as intended—any other usage should be considered
an abuse. For example, never view desktop areas as ways to promote your program
or its Brand.
Using the notification area appropriately
The notification area was originally intended as a temporary source for
notifications and status. Its efficiency and convenience has encouraged
developers to give it other purposes, such as launching programs and executing
commands. Unfortunately over time, these additions made the notification area
too large and noisy, and confused its purpose with the other desktop access
points.
Windows XP addressed the scale problem by making the area collapsible
and hiding the unused icons. Windows Vista addressed the noise by removing
unnecessary, annoying notifications. Windows 7 has gone a step further by
focusing the notification on its original purpose of being a notification
source. Most icons are hidden by default in Windows 7, but can be
promoted to the notification area manually, by the user. To keep users in
control of their desktops, there is no way for your program to perform this
promotion automatically. Windows still displays notifications for
hidden icons by promoting them temporarily.
In Windows 7, most notification area icons are hidden by default.
In addition, Windows 7 supports many features directly in the taskbar
buttons. Specifically, you can use:
·
Jump Lists and thumbnail toolbars to
quickly access frequently used commands.
·
Overlay icons to show status for
running programs.
·
Taskbar button progress bars to show
progress for long-running tasks.
In short, if your program has desktop presence, take full advantage of
the Windows 7 taskbar button features for these purposes. Keep the
notification area icons focused on displaying notifications and status.
Keeping users in control
Keeping users in control extends beyond using the notification area
correctly. Depending on the nature of your icon, you may want to let users do
the following:
·
Remove the icon. Your icon may provide relevant, useful status, but even so, users
may not want to see it. Windows allows users to hide icons, but this feature
isn't easily discoverable. To keep users in control, provide a Display
icon in notification area option on the icon's context menu. Note that
removing an icon doesn't have to affect the underlying program, feature, or
process.
·
Select types of notifications to
display. Your notification must be useful and
relevant, but there may be notifications that users don't want to see. This is
especially true for FYI notifications. Let users choose to enable the
less important ones.
·
Suspend optional features. Icons are used to display status for features without desktop
presence. Such features tend to be long-running, optional background tasks,
such as printing, indexing, scanning, or synchronizing. Users may want to
suspend such features to increase system performance, reduce power consumption,
or because they are offline.
·
Quit the program. Provide the more suitable of these options:
o
Temporarily quit program. The program is stopped and restarted when Windows is restarted.
This approach is suitable for important system utilities such as security
programs.
o
Permanently quit program. The program is stopped and not restarted when Windows is restarted
(unless the user chooses to restart later). Either the user no longer wants to
run the program, or wants to run the program on demand—perhaps to improve
system performance.
Although it's a good idea to provide most of these settings on the
icon's context menu, the program's default experience should be suitable for
most users. Don't turn everything on by default and expect users to turn
features off. Rather, turn the important features on by default, and let users
enable additional features as desired.
If you do only four things...
1.
Don't abuse the notification area.
Use it only as a source for notifications and status, and for features without
desktop presence.
2.
Keep users in control. Provide appropriate
options to control the icon, its notifications, and the underlying features.
3.
Present a default experience that is
suitable for most users. Let users enable desired features rather than expect
them to disable undesired ones.
4.
Take full advantage of the Windows 7
taskbar button features to show status and make your program's most frequently
performed tasks efficient.
Usage patterns
Notification area icons have several usage patterns:
System status and access
Displayed continuously to show important but not critical system
status, and to provide access to relevant features and settings.
|
System features that need notification area icons have no persistent
desktop presence. Can also be used as a notification source.
In this example, the battery, network, and volume icons are displayed
continuously when applicable.
|
Background task status and access
Displayed while a background task is running to show status and
provide access to features and settings.
|
Background processes need notification area icons when they have no
desktop presence. Can also be used as a notification source.
In this example, the Action Center icon allows users to check its
status even when it has no desktop presence.
|
Temporary event status
Programs with desktop presence can display icons temporarily to show
important events or changes in status.
|
In this example, icons for printing and installing updates are
displayed temporarily to show important events or changes in status.
|
Temporary notification source
Displayed temporarily to show a notification. Removed after a timeout,
or when the underlying problem is addressed or task performed.
|
Temporary icons are preferred for pure notification sources. Don't
display an icon that doesn't provide useful, relevant, dynamic status just
because a feature might need to display a notification in the future.
In this example, the plug-and-play icon is displayed while a new
hardware detected notification is shown.
|
Minimized single-instance application
To reduce taskbar clutter, a single-instance, long-running application
can be minimized to a notification area icon instead.
|
In this example from Windows Vista, Outlook and Windows Live Messenger
are single-instance applications that minimize to notification area icons.
Consider using this pattern only if all of the following apply:
·
The application can have only a
single instance.
·
The application is run for an
extended period of time.
·
The icon shows status.
·
The icon can be a notification
source.
·
Doing so is optional and users must opt in.
If all these conditions apply, minimizing to an icon eliminates having
two access points when only one is necessary.
Note: This icon pattern is no
longer recommended for Windows 7. Use regular taskbar buttons instead if your
program has desktop presence.
In this example from Windows 7, a regular taskbar button takes little
space, but benefits from the Windows 7 taskbar button features, including
Jump Lists, overlay icons, and rich thumbnails.
|
Guidelines
General
· Provide only one notification area
icon per component.
· Use an icon with 16x16, 20x20, and
24x24 pixel versions. The larger versions are used in
high-dpi display modes.
When to show
·
For the temporary notification source
pattern:
o
Windows displays the icon when the
notification is displayed.
o
Remove the icon based on its notification design pattern:
Pattern
|
When to remove
|
Action success
|
When notification is removed.
|
Action failure
|
When problem is resolved.
|
Non-critical system event
|
When problem is resolved.
|
Optional user task
|
When task is done.
|
FYI
|
When notification is removed.
|
· For the temporary event status
pattern, display the icon while the event is happening.
· For all other patterns, display
the icon when the program, feature, or process is running and the icon is
relevant unless the user has cleared its Display icon in
notification area option (for more information, see Context menus). Most icons are hidden by default
in Windows 7, but can be promoted to the notification area by the user.
· Don't display icons meant for
administrators to standard users. Record the
information in the Windows event log.
Where to show
· Display windows launched from
notification area icons near the notification area.
Windows launched from notification area icons are displayed near the
notification area.
Icons
·
Choose the icon based on its design
pattern:
Pattern
|
Icon type
|
System status and access
|
System feature icon
|
Background task status and access
|
Program or feature icon
|
Temporary notification source
|
Program or feature icon
|
Temporary event status
|
Program or feature icon
|
Minimized single-instance application
|
Program icon
|
·
·
·
In this example, Outlook uses an
e-mail feature icon for a temporary notification source and its application
icon for the minimized application.
·
Choose an easily recognizable icon
design. Prefer icons with unique outlines over square
or rectangular shaped icons. Keep the designs simple—prefer symbols over
realistic images. Apply the other Aero-style icon guidelines as well.
·
Use icon variations or overlays to
indicate status or status changes. Use icon
variations to show changes in quantities or strengths. For other types of
status, use the following standard overlays. Use only a single overlay, and
locate it bottom-right for consistency.
Overlay
|
Status
|
Warning
|
|
Error
|
|
Disabled/Disconnected
|
|
Blocked/Offline
|
·
·
·
In this example, the wireless and
battery icons show changes in quantities or strengths.
·
·
In this example, overlays are used to
show error and warning states.
· Avoid swaths of pure red, yellow, and
green in your base icons. To avoid confusion, reserve
these colors to communicate status. If your branding uses these colors, consider
using muted tones for your base notification area icons.
·
For progressive escalation, use icons with
a progressively more emphatic appearance as the situation becomes more urgent.
In these examples, the appearance of the battery icon becomes more
emphatic as the urgency increases.
· Don't change status too frequently. Notification area icons shouldn't appear noisy, unstable, or
demand attention. The eye is sensitive to changes in the peripheral field of
vision, so status changes need to be subtle.
o Don't change the icon rapidly. If underlying status is changing rapidly, have the icon reflect
high-level status.
Incorrect:
In this example, the modem icon displays blinking lights (as a hardware
modem does), but those state changes aren't significant to users.
o
Don't use long-running animations to
show continuous activities. Such animations are a
distraction. An icon's presence in the notification area sufficiently indicates
continuous activity.
o
Brief, subtle animations are
acceptable to show progress during important temporary, transitive status
changes.
In this example, the Wireless icon displays an activity indicator to
show that work is in progress.
o Don't flash the icon. Doing so is too distracting. If an event requires immediate
attention, use a dialog box instead. If the event otherwise needs attention,
use a notification.
· Don't disable notification area
icons. If the icon doesn't currently apply, remove
it. However, you can show an enabled icon with a disabled status overlay if
users can enable from the icon.
In this example, users can enable sound output from the icon.
For general icon guidelines and examples, see Icons.
Interaction
Note: The following click events
should occur on mouse up, not mouse down.
Hover
·
Display a tooltip or infotip that
indicates what the icon represents.
In this example, a tooltip is used to describe the icon on hover.
For infotip text guidelines, see the Text section of this article.
Left single-click
·
Display whatever users most likely
want to see, which may be:
o A flyout window, dialog box, or
program window with the most useful settings and commonly performed tasks. For
presentation guidelines, see Notification area flyouts.
In these examples, left clicking displays popup windows with the most
useful settings.
o
A status flyout.
In this example, left clicking displays the status flyout.
§ The related control panel item.
§ The context menu.
Users expect left single-clicks to display something, so not displaying
anything makes a notification area icon appear unresponsive.
· Display a context menu only if the
other choices don't apply, with the default command in bold.
In this case, display the same context menu that is shown on right-click to
avoid confusion.
· Prefer using a popup window over a
dialog box for a more lightweight feel. Show only the
most common settings and have them take immediate effect for a simpler
interaction. Dismiss the popup window if the user clicks anywhere outside the
window.
· Display small windows near the
associated icon. However, large windows such as
control panel items can be displayed in the center of the default monitor.
Left double-click
· Perform the default command on the
context menu. Typically, this displays the
primary UI associated with the icon, such as the associated control panel item,
property sheet, or program window.
· If there is no default command,
perform the same action as a left single-click.
Right-click
·
Display the context menu, with the default command in bold.
Context menus
· Display the context menu near its
associated icon, but away from the taskbar.
· The context menu may include the
following items, as appropriate, in the listed order
(exact text is in quotes):
Primary commands
Open (default, list first, in bold)
Run
Secondary commands
< separator>
Suspend/resume enable/disable command (check mark)
"Minimized to notification area" (check mark)
Opt in to notifications (check mark)
"Display icon in notification area" (check mark)
"Options"
"Exit"
·
Remove rather than disable any
context menu items that don't apply.
·
For Open, Run, and Suspend/Resume
commands, be specific about what is being opened, run, suspended, and
resumed.
In this example, Windows Defender has specific Open and Run commands.
·
Use Suspend/Resume running background
tasks, Enable/Disable for everything else.
·
Use check marks to indicate state. List and enable all states and place the check mark next to the
current state. Don't disable options or change option labels to indicate the
current state.
Correct:
Incorrect:
In the incorrect example, Windows Defender should use a check mark to
indicate the current state.
·
All background tasks must have a
Suspend/Resume command. Choosing the command should
temporarily suspend the task. Users may want to temporarily suspend background
tasks to increase system performance or reduce power consumption. Suspended
background tasks are restarted when resumed by the user or when Windows is
restarted.
·
Allow users to opt into or out of
different notification types if your
program has notifications that some users might not want to see. The FYI notification pattern requires users
to opt in, so these notifications must be disabled by default.
In this example, Outlook allows users to choose the notifications they
receive from the icon.
· Clearing the "Display icon in
notification area" option removes the icon from the notification area, but doesn't affect the underlying program, feature, or process. Users
can redisplay the icon from the program's Options dialog box. Don't
automatically re-display the icon when Windows is restarted.
· The Exit command quits the program
for the current Windows session and removes the icon. Don't have an Exit command if program can't be shut down. The
program is restarted when Windows is restarted. Users can permanently quit the
program from the Options dialog box.
· Don't have an About command. Such information should be communicated by the icon, its infotip,
and the context menu. If users want more information, they can view the primary
UI.
o Exception: You may provide an About command if the icon is for a program that
doesn't have desktop presence.
For general context menu guidelines and examples, see Menus.
Rich tooltips
· Use rich tooltips only to make the
information easier to understand. Don't use
rich tooltips just to decorate the feature. If you can't use richness to make
the information easier to understand, use a plain tooltip instead.
Incorrect:
In the incorrect example, the calendar icon doesn't make the date easier
to understand.
·
Use a concise presentation. Use concise text and a concise layout with a 32x32 pixel icon.
Spacious tooltips risk being distracting, especially when displayed
unintentionally.
·
Don't put controls or elements that
appear interactive in a rich tooltip. Tooltips
aren't interactive and therefore shouldn't appear interactive. Don't use blue
or underlined text.
In the incorrect example, the current power plan appears to be a link,
but it is impossible to click.
Notification area flyouts
·
When appropriate, present
notification area flyouts with three sections:
o
Summary. Display the same information that is displayed in the icon's
tooltip or infotip, possibly with more detail. For consistency, use the same
text and icons, and generally the same layout (if using a rich tooltip). Unlike
the infotips, this information is accessible when using touch.
o
Common tasks. Present the most commonly performed tasks directly in the flyout.
o
Related links. Provide at most one of each type of the following optional links:
§
A link to the most frequently
performed task in Control Panel. Provide if there is a frequently performed
task that can't be presented in the common tasks section.
§
A link to the related Control Panel
item. This Control Panel item should allow users to perform any tasks that
can't be performed in the common tasks section.
This example shows a notification area flyout using the recommended
presentation.
Options dialog box
·
Options not accessible directly from
the context menu must be in the Options dialog box. This dialog could be the
feature's control panel.
·
The Options dialog box may include
the following items as appropriate (exact text is
in quotes):
o
Enable [feature name] (check box)
§
Clearing this option permanently
quits the program. Program can be restarted from its control panel item. The
Exit command in the context menu quits the program only for the current Windows
session.
o
"Display icon in notification
area" (check box)
§
Removing the icon from the
notification area doesn't affect the underlying feature.
§
Selecting this option allows user to
restore the icon, which of course can't be done from the icon itself.
·
Disable features that are rarely
used, or potentially annoying or distracting. Let users opt in to such features.
For general Options dialog box guidelines and examples, see Property Windows.
Minimizing programs to the notification area
Note: Minimizing program windows to the notification area is no longer
recommended for Windows 7. Use regular taskbar buttons instead. Your program may
support both mechanisms for backward compatibility.
·
To reduce taskbar clutter, consider
providing the ability to minimize programs to the notification area only if all
of the following apply:
o
The program can have only a single
instance.
o
The program is run for an extended
period of time.
o
The icon shows status.
o
The icon can be a notification
source.
o
Doing so is optional and users must opt in.
·
Use the Minimize button on the
application's title bar, not the Close button.
·
Are the target users IT
professionals? If so, use a Microsoft Management Console (MMC) snap-in instead, which is designed specifically for system
management tasks. In some cases, the best solution is to have both a control
panel item for general users and an MMC snap-in for IT professionals.
Control
Panels
Use control panel items to help users configure system-level features
and perform related tasks. Programs that have a user interface should be
configured directly from their UI instead.
With Control Panel in Microsoft Windows, users can configure
system-level features and perform related tasks. Examples of system-level
feature configuration include hardware and software setup and configuration,
security, system maintenance, and user account management.
The term Control Panel refers to the entire Windows Control Panel
feature. Individual control panels are referred to as control panel items. A
control panel item is considered top-level when it is directly accessible from
the control panel home page or a category page.
A typical control panel item.
The control panel home page is the main entry point for all control
panel items. It lists the items by their category, along with the most common
tasks. It is displayed when users click Control Panel in the Start menu.
A control panel category page lists the items within a single category,
along with the most common tasks. It is displayed when users click a category
name on the home page.
Control panel items are implemented using task flows or property sheets. For Windows
Vista and later, task flows are the preferred user interface (UI).
Is this the right user interface?
To decide, consider these questions:
·
Is the purpose to configure
system-level features? If not, use another integration
point. Make your application features configurable directly from the UI using
options dialog boxes, instead of using Control Panel. For utilities that aren't
used for setup, configuration, or related tasks (like troubleshooting), use the
Start menu as the integration point.
·
Does the system-level feature have
its own UI? If so, that UI is where users
should go to make changes. For example, a system backup utility should be
configured from its program options instead of from Control Panel.
·
Will users need to change the
configuration often? If so (say, several times a
week), consider alternative solutions, perhaps in addition to using Control
Panel. For example, the Windows master volume setting can be configured
directly from its icon in the notification area. Some settings can be
configured automatically. In Windows Explorer, for example, the Compatibility
tab for application properties allows an application to be run in 256 color
mode instead of requiring users to change the video mode manually.
In this example, the Local Users and Groups MMC snap-in provides user
management targeted at IT professionals. Other users are more likely to use the
User Accounts item in Control Panel.
·
Is the feature an OEM feature used
only during initial system configuration? If so, use
the Windows Welcome Center as the integration point.
Control panel items are necessary because many system-level features
don't have a more obvious or direct integration point. Yet Control Panel
shouldn't be viewed as the "one place" for all configuration
settings. Programs that have a user interface should be configured
directly from their UI instead of using control panel items.
In this example, Windows Internet Explorer shouldn't be represented in
Control Panel, because its own UI is a better integration point.
Create a new control panel item or extend an existing one?
To decide, consider these questions:
·
Can the functionality be expressed as
tasks that can plug into an existing, extensible control panel item? The following control panel items are extensible: Bluetooth
Devices, Display, Internet, Keyboard, Mouse, Network, Power, System, Wireless
(infrared).
·
Do the properties and tasks replace
the features of the existing extensible control panel item? If so, you should extend the existing control panel item because
that results in a simpler user experience. If not, create a new control panel
item.
Design concepts
The Control Panel concept is based on a real-world metaphor. A real-world control panel is a collection of controls (knobs,
switches, gauges, and displays) used to monitor and control a device. Users of
such control panels often need training to understand how to use them.
Unlike their real-world counterparts, Windows control panel
designs are optimized for first-time users. Users don't perform most
control panel tasks very often, so they usually don't remember how to do them
and effectively have to relearn them every time.
To design a control panel item that is useful and easy to use:
·
Make sure the properties are
necessary.
·
Present properties in terms of user
goals instead of technology.
·
Present properties at the right
level.
·
Design pages for specific tasks.
·
Design pages for Standard users and
Protected administrators.
When designing and evaluating items to include in Control Panel,
determine the common tasks that users perform and make sure there is a clear
path to perform those tasks. Users typically perform the following types of
tasks with control panel items:
·
Initial configuration
·
Infrequent changes (for most
settings)
·
Frequent changes (for a few important
settings)
·
Rolling back settings to an initial
or previous state
·
Troubleshooting
If you do only one thing...
Design control panel pages for specific tasks, and present them in terms
of user goals instead of technology.
Usage patterns
For control panel items, you can use a task flow or a property sheet.
Here are their usage patterns:
Task flow patterns
Task flow items use a hub page to present the high-level choices, and
spoke pages to perform the actual configuration.
Hub pages
·
Task-based hub pages. These hub pages
present the most commonly used tasks. They are best used for a few commonly
used or important tasks where users need more guidance and explanation. Hub
pages don't have commit buttons. Hybrid task-based hub pages also have some
properties or commands directly on them. Hybrid hub pages are strongly
recommended when users are most likely to use Control Panel to access those
properties and commands.
·
Object-based hub pages. These hub
pages present the available objects using a list view control. They are best
used when there could be several objects. Hub pages don't have commit buttons.
Spoke pages
·
Task pages. These spoke pages present
a task or a step in a task with a specific, task-based main instruction. They
are best used for tasks that benefit from additional guidance and explanation.
·
Form pages. These spoke pages present
a collection of related properties and tasks based on a general main instruction.
They are best used for features that have many properties and benefit from a
direct, single-page presentation, such as advanced properties.
Property sheet patterns
·
Property sheets are best used in
legacy items with many settings targeted at advanced users. New items can
achieve the same effect with a task flow using the form page pattern.
Guidelines
Property sheet control panel items
·
Don't use property sheets for new
control panel items. Instead, use task flows to
create a seamless experience and make full use of the categorization and search
functionality of the control panel home page.
Task flow control panel items
General
·
Keep the most important content and
controls visible without scrolling. Users won't
scroll to see page content unless they have a reason to. You can make commit
buttons always visible by placing them in a command area instead of the content area.
Don't break up pages just to avoid scrolling.
o
You can vertically scroll long pages, as long as the most important controls are visible without
scrolling.
o
Don't use horizontal scrolling. Instead, redesign the page content and use vertical scrolling.
Pages may have horizontal scrollbars only when made very narrow.
·
To navigate between pages:
o
Use task links or a Next button to
navigate to the next page in a multi-step task.
o
Use commit buttons to complete a
task.
o
Use the Back button in the menu bar
to return to previously viewed pages. Do not add a Back button to the command
area.
o
Use the Address bar to return
directly to the control panel home page.
o
Use See also links in the task pane
to navigate to pages in other control panel items. Otherwise, navigation should
stay within a single control panel item.
·
Put only the control panel home page
in the Address bar. Clicking that link returns to
the control panel home page, abandoning any work in progress without a confirmation.
·
Don't put a Close command button on
control panel pages. Users can close a control panel
window using the Close button on the title bar.
Task links and buttons
·
When a page has a small set of fixed
options, use task links instead of a combination of radio buttons and a Next
button. This allows users to select a response with a
single click.
·
You can put task links and buttons in
the following places (in order of discoverability):
§
Command buttons
§
Task links
§
Other links
·
Base the location of task links and
buttons on importance and need for discoverability.
o
Put only commit buttons in the
command area.
o
Put essential tasks in the content
area. Command buttons tend to draw the most
attention, so reserve them for commands users must see. Task links also draw
attention, but less than command buttons.
o
Reserve the task pane and plain links
for secondary (less important) tasks. The task pane
is the least discoverable area of a task page, and plain links aren't as
visible as command buttons and task links.
·
For task links presented in the
content area:
o
If there are more than seven links,
group the links into categories. Provide
headings for each of the groups.
o
For fewer than seven links, present
the links in a single group without a heading.
·
Present task links and buttons in a
logical order. List task links vertically,
command buttons horizontally.
·
Within categories, divide the
commands into related groups. Present the task groups by placing the
most commonly used first, and within each group, place the most commonly used
tasks first. The resulting order should roughly follow the likelihood
of use, but also have a logical flow.
o
Exception: Task links that result in doing everything should be placed first.
·
If there are many task links, give
the most important tasks a more prominent appearance by using a 24x24 pixel icon and two lines of text. For less
important tasks, use a 16x16 pixel icon, or no icon, and a single line of link
text.
In this example, important commands are given a more prominent
appearance.
·
Have clear physical separation
between frequently used commands and destructive commands. Otherwise, users might click destructive commands accidentally.
You may need to reorder your commands somewhat to put destructive commands
together.
·
Provide the mechanism to undo
commands directly on the page. Users
shouldn't have to navigate somewhere else to undo a mistake.
·
For task links, use either all
default task link icons or all custom icons. Don't mix
them. Consider using custom icons only if:
o
They aid users in comprehending the
tasks.
o
They have an unobtrusive appearance.
Dialog boxes
When using task flows, you generally want a task to flow from page to
page within a single window, but the following circumstances are exceptions.
Use dialog boxes in the following circumstances:
·
To prompt users for an administrator
user name and password. Always use the credential manager dialog box for this
purpose. (Should be modal.)
·
To confirm an in-place command using
a task dialog or message box. (Should be modal.)
·
To get input for in-place commands,
such as for New, Add, Save As, Rename, and Print commands.
In this example, the Delete command is performed in a dialog box instead
of a separate page.
·
To perform secondary, stand-alone
tasks. Using a modeless, secondary window allows such tasks
to be performed independently and outside the main task flow.
Hub pages
General
·
Use task-based hub pages when:
o
There are a small number of commonly
used or important tasks.
o
The configuration involves one or two
objects (examples: monitors, keyboard, mouse, game
controllers).
o
The configuration applies system-wide (examples: date and time, security, power options).
·
Use object-based hub pages when:
o
The configuration could involve
several objects (examples: user accounts,
network connections, printers).
o
The configuration applies only to the
selected object.
·
Don't use a hub page if the control
panel item has a single page that contains
all the tasks and properties involved.
Object lists
·
List items in a logical order. Sort named objects in alphabetical order, numbers in numeric
order, and dates in chronological order.
·
For object-based hubs, provide
object view commands in the task pane if the ability to change the view is
important to the tasks. The ability to change views is important if there
are many objects and the default presentation doesn't work well for all
scenarios. Users can change the list view even if there aren't explicit
commands through the list view context menu, but it's less discoverable.
Interaction
·
Don't put commit buttons on hub
pages. Hub pages are fundamentally launch points.
Users never "commit" hub pages—they are never done with them. And
commit buttons on hub pages make any tasks initiated from a hub confusing
(users will wonder if those tasks need to be committed).
o
Exception: If changing a setting requires elevation, provide an Apply button with a security shield icon. Disable the
commit button once changes have been applied.
·
Consider putting the most useful
properties directly on hub pages. Such hybrid
hub pages are strongly recommended when users are most likely to use Control
Panel to access those properties.
In this example, the Power Options control panel item has the most
useful settings directly on the hub page.
·
Use an immediate commit model for any
settings on hybrid hub pages so that changes are made immediately. Again, users never commit a hub page. If a setting requires a
commit button, don't put it on a hub page.
·
Consider putting simple, "one-step"
commands directly on hub pages instead of using navigation links.
·
Confirm in-place commands whose
effects cannot be easily undone. Use a task dialog or message box.
In this example, the Delete command is confirmed with a dialog box.
·
For task-based hub pages, identify
each task with a task link and an icon. You can also
provide an optional description for each link. However, try to make the task
links self-explanatory and provide optional descriptions only to links that
really need them.
In this example, each task has a task link and an icon.
·
For object-based hub pages,
single-clicking selects objects, and double-clicking selects an object and
navigates to its default page. The default
page is typically a property page or a task-based hub page.
·
An object-based hub page may navigate
to a task-based hub for the selected objects. However, such
secondary hubs should be avoided because they make a control panel item feel
too indirect.
Task panes
Use task panes to present links to commands, views, and related control
panel items.
·
For task panes in task-based hubs,
present links in the following order:
o
Secondary commands. Present primary tasks only in the content area. Use the task pane for
secondary, optional tasks. Consider a task primary if users must discover it in
important scenarios; secondary if it's acceptable for users not to discover it.
o
See also. The optional links that navigate to related control panel items.
·
For task panes in object-based hubs,
present links in the following order:
o
Object views. The optional links used to control the presentation of the objects.
o
Fixed commands. The commands that are independent of the currently selected objects.
o
Contextual commands. The commands that depend on the currently selected objects, and are
therefore not always displayed.
o
See also. The optional links that navigate to related control panel items.
·
Don't use task panes in spoke pages. Unlike hub pages, spoke pages should be focused on completing the
task. You don't want to encourage users to navigate away before completion.
See also links
·
Provide See also links in the task
pane to help users find related control panel items, or the right control panel
item if they have the wrong one. Link to items
users are likely to associate with your control panel item.
In this example, the Action Center control panel item links to related
control panel items.
·
Link to a specific task page if that
is what users are more likely to recognize. Otherwise,
link to the entire control panel item. Use the control panel name without
adding the phrase, control panel.
Spoke pages
General
·
Use task pages for commonly used or
important tasks where users need more guidance and explanation.
·
Use form pages for features that have
many settings and benefit from a direct, single-page presentation. The ideal tasks for such pages typically involve obvious changes
to a few simple properties.
·
Don't use task panes in spoke pages.
Interaction
·
Try to limit main tasks to a single
page. If more than one page is required, you can:
o
Use intermediate spoke pages for
additional or optional steps. Intermediate
spoke pages are committed by the final spoke page.
o
Use independent windows for
independent auxiliary tasks. Independent
windows are committed on their own, and independently of the main task.
Doing so keeps the meaning of the commit buttons for the main task clear
and unambiguous. Users should always be confident in understanding what they
are committing to.
·
Don't use See Also links within a
task flow. These link to related, but different, control
panel items. Although navigating to a different item is acceptable in hub
pages, it is not in spoke pages, because doing so interrupts the task.
·
Don't use spoke pages for simple
input or confirmations. Use modal dialog boxes instead.
Interaction (intermediate spoke pages)
·
Use task links or a Next button to
navigate to the next page. The way to proceed to the next
step should always be obvious.
·
You can have navigation links to
optional task steps. To avoid confusion when users
commit to the task, those extra pages should be intermediate pages within the same
control panel item. They shouldn't have commit buttons, but should be committed
when the main task is committed.
Interaction (final spoke pages)
·
Use commit buttons to complete a
task. Use a delayed commit model for spoke
pages, so that changes aren't made until explicitly committed (if users
navigate away using Back, Close, or the Address bar, changes are abandoned).
The commit buttons are a visual clue that the user is about to complete a task.
Don't use links for this purpose.
·
Don't confirm commit buttons
(including Cancel). Doing so can be annoying.
Exceptions:
o
The action has significant
consequences and, if incorrect, not readily fixable.
o
The action may result in a
significant loss of the user's time or effort.
o
The action is clearly inconsistent
with other actions.
·
Don't confirm if users abandon
changes by navigating away using Back, Close, or the
Address bar. However, you may confirm if a potentially unintended navigation
may result in a significant loss of the user's time or effort.
·
Don't use command or navigation links (including See also links). On final spoke pages, users should
explicitly complete or cancel the task. Users should not be encouraged to
navigate somewhere else, because doing so would likely cancel the task
implicitly.
·
When users complete or cancel a task,
they should be sent back to the hub page from which the task was launched. If there is no such page, close the control panel window instead.
Don't assume that spoke pages are always launched from another page.
·
Remove the stale
"committed" pages from the Windows Explorer Back stack when you return users back to the page that the task was launched
from. Users should never see the pages that they have already committed to when
clicking the Back button. Users should always make additional changes by
completely redoing the task instead of clicking Back to modify stale pages.
o
Developers: You can remove these stale pages using the
ITravelLog::FindTravelEntry() and ITravelLogEx::DeleteEntry() APIs.
Commit buttons
Note: Cancel buttons are considered
to be commit buttons.
·
Confirm tasks using commit buttons
that are specific responses to the main instruction, instead of generic labels such
as OK. The labels on commit buttons should make
sense on their own. Avoid using OK because it isn't a specific response to the
main instruction, and therefore easier to misunderstand. Furthermore, OK is
typically used with modal dialog boxes and incorrectly implies closing the
control panel item window.
o
Exceptions:
§
Use OK for pages that don't have
settings.
§
Use OK when the specific response is
still generic, such as Save, Select, or Choose, as when changing a specific
setting or a collection of settings.
§
Use OK if the page has radio buttons
that are responses to the main instruction. To maintain the delayed commit
model, you can't use task links on a final spoke page.
In this example, the radio buttons, not the commit buttons, are
responses to the main instruction.
·
Provide a Cancel button to let users
explicitly abandon changes. While users can implicitly
abandon a task by not confirming their changes, providing a Cancel button
allows them to do so with greater confidence.
o
Exception: Don't provide a Cancel button for tasks where users can't make
changes. The OK button has the same effect as Cancel in this case.
·
Don't use Close, Done, or Finish
commit buttons. These buttons are typically
used with modal dialog boxes and incorrectly imply closing the control panel
item window. Users can close the window using the Close button on the title
bar. Also, Done and Finish are misleading because users are returned to the
page where the task was launched from, so they aren't really done.
·
Don't disable commit buttons. Otherwise users have to deduce why the commit buttons are
disabled. It's better to leave commit buttons enabled, and give a helpful error
message whenever there is a problem.
·
Make sure the commit buttons appear
on the page without scrolling. If the page
is long, you can make commit buttons always visible by placing them in a command area, instead of in the content area.
In this example, content area size is unbounded, so the commit buttons
are placed in the command area.
·
Right-align the commit buttons and
use this order (from left to right): positive commit buttons, Cancel, and
Apply.
Preview buttons
·
Make sure the Preview button
means to apply the pending changes now but restore the current settings if
users navigate away from the page without committing to the changes.
·
You can use Preview buttons on any
spoke page. Hub pages don't need Preview
buttons because they use an immediate commit model.
·
Consider using a Preview button
instead of an Apply button for control panel pages. Preview buttons are easier for users to understand and can be used
on any spoke page.
·
Provide a Preview button only if the
page has settings (at least one) with effects that users can see. Users should be able to preview a change, evaluate the change, and
make further changes based on that evaluation.
·
Always enable the Preview button.
Live previews
A control panel item has live preview when the effect of changes on a
spoke page can be seen immediately.
·
Consider using live preview for
display settings when:
o
The effect is obvious, typically
because it applies to the entire monitor.
o
The effect can be applied without
significant delay.
o
The effect is safe and can be undone
easily.
In this example, the effect of the Windows Color and Appearance settings
is seen immediately. Doing so allows users to make changes with minimal effort.
·
Use Save changes and Cancel for the
commit buttons. "Save changes" keeps
the current settings, whereas Cancel reverts to the original settings.
"Save changes" is used instead of OK to make it clear that any
previewed changes haven't been applied yet.
·
Don't provide an Apply button. The live preview makes Apply unnecessary.
·
Restore any changes if users navigate
away using Back, Close, or the Address bar. To preserve changes, users
must commit them explicitly.
Apply buttons
·
Make sure the Apply button
means apply the pending changes (made since the task was started or the last
Apply), but remain on the current page. Doing so allows users to
evaluate the changes before moving on to other tasks.
·
Use Apply buttons only on final spoke
pages. Apply buttons should not be used on
intermediate spoke pages to maintain an immediate commit model.
o
Exception: You can use Apply buttons on a hybrid hub page if changing a setting
requires elevation. For more details, see hub page interaction.
·
Provide an Apply button only if the
page has settings (at least one) with effects that users can evaluate in a
meaningful way. Typically, Apply buttons are
used when settings make visible changes. Users should be able to apply a
change, evaluate the change, and make further changes based on that evaluation.
·
Enable the Apply button only when
there are pending changes; otherwise, disable it.
·
Assign "A" as the access
key.
Control panel integration
To integrate your control panel item with Windows, you can:
·
Register your control panel item
(including its name, description, and icon), so that Windows
is aware of it.
·
If your control panel item is top
level (see below):
o
Associate it with the appropriate category
page.
o
Provide task links (including their
name, description, keywords, and command line) to indicate primary tasks and allow users to navigate directly to
the tasks.
·
Provide search terms to help users find your task links using the Control Panel search
feature.
Note that you can provide this information only for individual control
panel items—you can't add or change this information for existing control panel
items that you extend.
Category pages
·
Add your control panel item to a
category page only if:
o
Most users need it. Example: Network
and Sharing Center
o
It is used many times. Example:
System
o
It provides important functionality
that isn't exposed elsewhere. Example: Printers
Control panel items that meet these criteria are referred to as top
level.
·
Don't add your control panel item to
a category page if:
o
It is rarely used or used for
one-time setup. Example: Welcome Center
o
It is targeted at advanced users or
IT professionals. Example: Color Management
o
It doesn't apply to the current
hardware or software configuration. Example: Windows SideShow (if not supported
by current hardware).
Removing such control panel items from the category pages makes the
top-level items easier to find. Given their usage, these control panel items
are sufficiently discoverable through search or contextual entry points.
·
Associate your top-level control
panel item with the category under which users are most likely to look for it. This decision should be based on user testing.
·
Consider associating your top-level
control panel item with the second most likely category as well. You should associate a control panel item with two categories if
users are likely to look for its main tasks in more than one place.
·
Don't associate your control panel
item with more than two categories. The value of
the categorization is undermined if control panel items appear in several
categories.
Task links
·
Associate your control panel item
with its primary tasks. You can display up to five
tasks on a Category page, but additional tasks are used for control panel
searching. Use the same phrasing as you do for task links, possibly removing
some words to make the task links more succinct.
·
Prefer to have task links lead to
different places in your control panel item. Having
multiple links to the same place can be confusing.
Search terms
·
Register search terms for your
control panel item that users are most likely to use to describe it. These search terms should include:
o
The features or objects configured.
o
The primary tasks.
These search terms should be based on user testing.
·
Also include common synonyms for
these search terms. For example, monitor and
display are synonyms, so both words should be included.
·
Include alternative spellings or word
breaks. For example, users might search for either
web site and website. Consider providing common misspellings as well.
·
Consider singular vs. plural noun
forms. The control panel search feature doesn't
automatically search for both forms; supply the forms for which users are
likely to search.
·
Use simple present tense verbs. If you register connect as a search term, the search feature won't
automatically look for connects, connecting, and connected.
·
Don't worry about case. The search feature is not case-sensitive.
Standard users and Protected administrators
Many settings require administrator privileges to change. If a process requires administrator privileges, Windows Vista and
later requires Standard users and Protected administrators to elevate
their privileges explicitly. Doing so helps prevent malicious code from running
with administrator privileges.
Schemes and themes
A scheme is a named collection of visual settings. A theme is a named
collection of settings across the system. Examples of schemes and themes
include Display, Mouse, Phone and Modem, Power Options, and Sound and Audio
Options.
·
Allow users to create schemes when:
o
Users are likely to change the
settings.
o
Users are most likely to change
settings as a collection.
Schemes are useful when users are in a different environment, such as a
different physical location (country/region, time zone); using their computer
in a different situation (on batteries, docked/undocked); or using their
computer for a different function (presentations, video playback).
·
Provide at least one default scheme. The default scheme should be well named and apply to most users in
most circumstances. Users shouldn't have to create a scheme of their own.
·
Provide a preview or other mechanism so that users can see the settings within the
scheme.
In this example, the Personalization control panel item shows a preview
of the desktop and appearance settings.
·
Provide Save As and Delete commands. A rename command isn't necessary—users can rename schemes by
saving under the desired name and deleting the original scheme.
·
If the settings can't be applied
without a scheme, don't allow users to delete all the schemes. Users
shouldn't have to create a scheme of their own.
·
If the schemes are not completely
independent (for example, power schemes depend upon the current laptop mode of
operation), make sure there is an easy way to change settings that
apply across all schemes. For example with power schemes, make sure
that users can set what happens when a portable computer's lid is closed in a
single location.
Miscellaneous
·
Use Control Panel extensions for
features that replace or extend existing Windows functionality. The following control panel items are extensible: Bluetooth
Devices, Display, Internet, Keyboard, Mouse, Network, Power, System, Wireless
(infrared).
Default values
·
The settings within a control panel
item must reflect the current state of the feature. Doing otherwise would be misleading and possibly lead to undesired
results. For example, if settings reflect the recommendations but not the
current state, users might click Cancel instead of making changes, thinking
that no changes are needed.
·
Choose the safest (to prevent loss of
data or system access) and most secure initial state. Assume that most users won't change the settings.
·
If safety and security aren't
factors, choose the initial state that is most likely or convenient.
Text
Item names
·
Choose a descriptive name that
clearly communicates and differentiates what the control panel item does. Most names describe the Windows feature or object being
configured, and are displayed in the Classic View of the control panel home
page.
·
Don't include the words
"Settings," "Options," "Properties," or
"Configuration" in the name. This is
implied, and leaving it off makes it easier for users to scan.
Incorrect:
Accessibility Options
Modem Settings
Power Options
Regional and Language Options
Correct:
Accessibility
Modem
Power
Regional Formats and Languages
In the correct examples, unnecessary words are removed.
·
If the control panel item configures
related features, list only those features required to identify the item, and
list the features the most likely to be recognized or used first.
Incorrect:
Folder Options
Phone and Modem Options
Correct:
Files and Folders
Modem
In the correct examples, the primary control panel item features are
given emphasis.
Page titles
Note: As with all Explorer windows,
control panel page titles are displayed on the address bar, but not the title bar.
·
For hub pages, use the control panel
item name.
·
For spoke pages, use a concise
summary of the page's purpose. Use the page's
main instruction if it is concise; otherwise use a concise restatement of the
main instruction.
In this example, Power Options is used for the page title instead of the
main instruction.
·
Use title-style capitalization.
Task link text
The following guidelines apply to links to task pages, such as Category
page task links and See also links.
·
Choose concise task names that
clearly communicate and differentiate the task. Users shouldn't have to figure out what the task really means or
how it differs from other tasks.
Incorrect:
Adjust display settings
Correct:
Screen resolution
In the correct example, the wording conveys more precision.
·
Retain similar language between task
links and the pages they point to. Users
shouldn't be surprised by the page that is displayed by a link.
·
For task pages, design the main
instruction, commit buttons, and task links as a related set of text.
Examples:
Task link:
|
Connect to a wireless network
|
Main instruction:
|
Choose a network to connect to
|
Commit button:
|
Connect
|
Task link:
|
Set up parental controls
|
Main instruction:
|
Choose a user and set up parental controls
|
Commit button:
|
Apply parental control
|
Task link:
|
Resolve your sync conflicts
|
Main instruction:
|
How do you want to resolve this conflict?
|
Commit button:
|
Resolve
|
hongera
ReplyDelete