Pages

Saturday, January 7, 2017

Microsoft Windows Environment

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.


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 desktopnotification 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
Screen shot of small Warning icon
Warning
Screen shot of small Error icon
Error
Screen shot of small Disabled/Disconnected icon
Disabled/Disconnected
Screen shot of small Blocked/Offline icon
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 taskbarnotifications , 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
Screen shot of small Warning icon
Warning
Screen shot of small Error icon
Error
Screen shot of small Disabled/Disconnected icon
Disabled/Disconnected
Screen shot of small Blocked/Offline icon
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 escalationuse 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)
< separator>
"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:

Correct:

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.
Correct:

Incorrect:

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.
§              A link to a specific, relevant Help topic. Follow the standard Help link guidelines.

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.


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).
Developers: To learn how to create control panel items, see Control Panel Items.
Note: Guidelines related to property sheets are presented in a separate article.
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.
·            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.

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.
Incorrect:

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 to start a task.
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):
o              The command area (for command buttons on spoke pages only).
o              The content area:
§              Command buttons
§              Task links
§              Other links
o              Links in the task pane (hub pages only).
·            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.
Screen shot of items with large and small icons
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 comply with the Aero icon standards.
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.
Screen shot of Delete Network Locations dialog box
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.
For more guidelines about presenting object lists, see List Views.
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.
Screen shot of Power Options hub page
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.
Screen shot of Confirm Delete dialog 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.
Screen shot of Computer Performance hub page
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.
Screen shot of Action Center 'See also' links
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.
Screen shot of Web Restrictions with OK button
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.
Screen shot of AutoPlay dialog box
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.
Screen shot of Change Color Settings dialog box
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.
For more information and examples, see User Account Control.
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.
Screen shot of Personalization dialog box
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.
·            Use title-style capitalization.
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.
Screen shot of Power Options dialog box
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

1 comment: