You are on page 1of 24

Windows 7 Engineering Guidance for Slate PCs

Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
including URL and other Internet Web site references, may change without notice. You bear the risk of
using it. This document does not provide you with any legal rights to any intellectual property in any
Microsoft product. You may copy and use this document for your internal, reference purposes. This
document is confidential and proprietary to Microsoft. It is disclosed and can be used only pursuant to
a non-disclosure agreement.

© 2010 Microsoft Corporation. All rights reserved.


Microsoft Corporation
Aero, Device Stage, Direct3D, DirectX, Internet Explorer, Microsoft,
ReadyBoost, Surface, Windows, Windows Live, Windows Live SkyDrive,

Windows 7
Windows Media, and Windows Vista are trademarks of the Microsoft
group of companies.

The names of actual companies and products mentioned herein may be

Engineering
the trademarks of their respective owners.

6/4/10
Guidance for
Slate PCs
Fundamentals and recommendations for touch
experiences on Windows 7

1
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

Abstract

This paper describes the touch investments in Windows® 7 and provides guidance for OEMs
that want to take full advantage of Windows on slate PCs.

This information applies to the Windows 7 operating system.

References and resources discussed here are listed at the end of this paper.

The current version of this paper is maintained on the Web at:


http://www.microsoft.com/whdc/device/input/slate-pc-design.mspx

Document History

Date Change

June 1, 2010 First publication

2
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

CONTENTS

Introduction.............................................................................................................................4

Touch investments in Windows 7, Windows Live, and Internet Explorer 8..............................4

Fundamentals.......................................................................................................................10

Hardware Requirements....................................................................................................10

Design Principles...................................................................................................................11

Hardware Recommendations.............................................................................................11

Human Factors and Ergonomics.....................................................................................11

Digitizer Logo Requirements...........................................................................................11

Digitizer Implementation Guidance.................................................................................12

Hardware Design Recommendations.................................................................................13

System Architecture Recommendations............................................................................14

Touch Application Design Recommendations........................................................................15

Touch Optimization Principles............................................................................................15

Windows 7 Design Principles..............................................................................................16

Additional Logo Considerations.............................................................................................20

Call to Action.........................................................................................................................21

Resources.............................................................................................................................21

Resources

3
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

INTRODUCTION

Windows® 7 introduced Windows Touch, making PCs more intuitive, natural, and fun. By
supporting multitouch technology, Windows 7 opened up a world of possibilities for
hardware and software developers. The PC ecosystem has adopted multitouch rapidly, with
a myriad of touch implementations for notebooks, all-in-one devices, touch-enabled
monitors, and now slate PCs.

Touch enhancements make Windows 7 a compelling operating system for slate PCs.
Windows 7, Windows Live™, and Windows Internet Explorer® 8 feature significant
investments in optimizing touch experiences. Beyond native platform support for multitouch
applications, the new taskbar in Windows 7 simplifies launching and switching between
programs and touch gestures enhance overall user experience and web browsing.

Slate PCs are primarily recommended for consumption of information, services, and content
available on the Internet. Windows 7 supports core usage scenarios for slate PCs including
web browsing, communication, social networking, media consumption (including music,
video, and TV), casual gaming, location-based services, and reading. Success in delivering
these scenarios requires a product that meets customer expectations for ease of use,
performance, battery life, weight, screen size, resolution, security, and reliability. The
combination of Windows 7 Home Premium, Windows Live, and innovative PC designs at
competitive price points delivers the best experience for customers.

This document provides guidance for OEMs that want to take full advantage of Windows on
slate PCs, by addressing the following topics:

• Touch Investments. Windows 7, Windows Live, Internet Explorer 8


• Fundamentals. Hardware and Windows Logo Requirements
• Design Principles. Recommendations on hardware and application design
• Windows assets. Windows Live, Touch Pack for Windows 7, Windows Media®
Center

TOUCH INVESTMENTS IN WINDOWS 7, WINDOWS LIVE, AND


INTERNET EXPLORER 8

When a compatible digitizer is available to the Windows 7 Home Premium, Professional,


Enterprise, or Ultimate editions, the operating system detects the digitizer and automatically
adjusts its settings to provide a better touch experience for the user. Table 1 summarizes
the extensive touch capabilities in Windows 7.

Table 1: Touch Capabilities in Windows 7

Feature Touch Capability Description

Platform Tap/Double Tap Tap/Double Tap to select and open.

4
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

Platform Panning/Scrollin Panning/scrolling with inertia in applications with scroll


g bars (one or two finger panning).

Platform Zoom Zoom in any application that supports zoom, by using


CTRL + scroll wheel.

Platform Right-click Press and Tap and Press and Hold to right-click an item.

Platform High DPI Change to High DPI (120 pixels per inch) to display user
interface elements that are easier to see and touch
accurately. This is configurable by OEMs and end users.

Platform Flicks Flick to move forward or backward (navigational flicks);


also customizable for other uses (for example, copy,
paste, and undo).

Taskbar Drag Drag up on taskbar icons to open Jump Lists; increased


spacing between lines for touch.

Taskbar Press and Drag Press and Drag on preview thumbnails to Peek into the
windows (same as hovering over thumbnails with the
mouse pointer).

Taskbar Larger button Show Desktop button is larger on touch-enabled PCs.

Taskbar Press and Hold Press and Hold on the Show Desktop button to Peek
at the desktop (same as hovering with the mouse
pointer).

Touch Text prediction Resizable soft keyboard that supports text prediction
keyboard and multitouch and multitouch input.
(Tablet PC input
Input Panel)

Touch Discoverable The Touch keyboard sits on the left side of the screen;
keyboard tap or drag out over the icon to reveal the keyboard. An
(Tablet PC in-place launch target also appears next to the text box
when you set focus with touch.
Input Panel)

Window Aero® Snap Easier with touch; no need to go all the way to the edge
Management of the window to activate.

Window Aero Shake Touch the window's title bar and shake the window to
Management minimize all other open windows behind it.

5
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

Window Window- Content of window bounce when you reach the end of
Management boundary the scrollable page while panning.
feedback

Windows Photo Gesture support Zoom, Rotate, and Pan. Photo Gallery editor and date
Viewer and view have high-quality touch experiences, such as
Windows Live rotate animations.
Photo Gallery

Windows Gesture support Gesture support in preview pane, and zoom through
Explorer views and thumbnails.

Calculator Large buttons Touch-friendly button size.

Snipping Tool Snipping Use fingertips to select area to snip.

Magnifier Navigation Touch-enabled navigation controls for all modes.

Paint Touch-friendly Ribbon UI includes more touch-friendly control and


Ribbon user buttons sizes.
interface (UI)

Paint Touch-friendly Touch-friendly color picker enables easier color


color picker selection.

Paint Multitouch Multitouch brush support enables all brushes support


multitouch painting.

Windows Tap to magnify It is difficult to tap a link on a webpage accurately,


Internet especially if the link is surrounded by many other links.
Explorer 8 You can use two fingertips to tap anywhere on the page
to instantly zoom in on that spot. Next, tap the link with
one fingertip, which is easier when the link is
magnified. When the new webpage opens, it
automatically displays in normal size.

Internet Choose how To increase the zoom level, place two fingertips on the
Explorer 8 much to zoom screen and move them apart. The page appears
increasingly larger as you separate your fingers. To
shrink the page, place two fingertips apart on the
screen and pinch them together.

Internet Close tabs It is difficult to precisely tap the Close Tab button with
Explorer 8 your fingertip, to close a browser tab. On a
touchscreen, the active area around the button is

6
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

larger and more forgiving.

Internet Flick forward or Navigate back: Place fingertip on the page and flick it
Explorer 8 back to the right, as if flipping backward through the pages
of a book.

Navigate forward: Flick the page to the left, as if you


are brushing it off the left side of your screen.

When you flick forward or back, Internet Explorer


momentarily shows a small preview of the page that is
about to open before the page opens to the full-sized
view.

Internet Space between Internet Explorer detects when the user uses a fingertip
Explorer 8 links instead of a track pad or mouse. If you tap the
Address Bar or open your Favorites list with a
fingertip, Internet Explorer widens the spacing between
the links. Wider spacing makes it easier to tap the
desired link.

Internet Open a link in a To open a link in a background tab, you can place your
Explorer 8 new tab finger on a link, drag it off of its “home” spot, and
release it.

Internet Panning You can place one fingertip on a long webpage and flick
Explorer 8 to scroll up or down quickly; or keep your fingertip on
the screen and slowly push the page up or down to
move the page slowly.

Internet Panning If a webpage is too wide to fit in your browser window,


Explorer 8 you can place two fingertips on a webpage, hold them
there, and drag the page right or left.

Windows Media Panning Direct panning in Start menu and galleries (Pictures,
Center Movies, Music, and more).

Windows Media Touch seek-bar Large control with thumbnail peek into the video that is
Center playing.

Windows Media Larger controls Touch-sensitive controls with larger targets for touch.
Center

Windows Media Scrolling Smooth scrolling through albums, artists, and song
Player lists.

Windows Media Drag and drop Drag and drop to create playlists.
7
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

Player

Windows Media Larger touch Larger touch targets for shuttle controls (volume slider,
Player targets stop, play) make them easier to interact with using
touch.

XPS Viewer Smooth Smooth zoom response to pinch and stretch gestures.
gestures

XPS Viewer Two Finger Tap Smart zoom, which enlarges text as a result of a two-
finger tap.

XPS Viewer Thumbnail view Thumbnail view is touch interface enabled, with zoom
support.

Windows Increased Increased responsiveness for moving cards and tiles


Games responsiveness with touch.

Windows Increased Increased spacing of cards.


Games spacing

In addition to the capabilities listed in Table 1, slate PC manufacturers can use and
customize the following Windows assets to optimize the user experience:

• Taskbar

Pin touch-optimized applications to the taskbar, so that users can launch them with one
touch instead of navigating through menus.

• Touch keyboard

Use the default settings for the touch keyboard. The touch keyboard detects touch and
pen-digitizer hardware and displays either the keyboard layout or the ink layout,
depending on the hardware detected. If the digitizer device supports both touch and
pen, the touch keyboard defaults to keyboard for touch and handwriting for pen.

Figure 1: Windows 7 Touch Keyboard

• Microsoft® Touch Pack for Windows 7

8
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

The Microsoft Touch Pack for Windows 7 contains six multitouch-optimized applications
and games that are great examples of immersive experiences in Windows 7. The pack
includes three casual games and three Microsoft Surface® applications.

Figure 2: Microsoft Touch Pack for Windows 7

• Device Stage™

Device Stage is a new Windows 7 feature that OEMs can use to highlight their brand and
their system attributes, and to aggregate applications, tools, and utilities so that the user
can find them quickly and easily. Device Stage also helps to improve system
performance by migrating application services out of the boot path and by grouping
them in a logical manner. We recommend that OEMs use Device Stage to emphasize the
PC's capabilities and to expose custom, conditional tasks that enable the user to access
features, support, and accessories that are specific to their PC and that best represent
your brand.

Figure 3: Sample Device Stage Experience

9
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

Windows Live Essentials completes the Windows 7 consumer experience by providing a suite
of software for communications, photo and video editing, and online family safety.
Preinstalling Windows Live on a new PC yields the following benefits:

• Meets consumers’ expectations for pre-installed software that delivers the most desired
end-to-end PC experiences.

Recent Microsoft consumer research indicates that the scenarios addressed by Windows
Live are so pervasive that many consumers expect a new PC to include such software
“out of the box”. Windows Live delivers a variety of satisfying consumer scenarios in a
single package that includes:

• Windows Live Mail (email)


• Windows Live Messenger (instant messaging, voice and video communication)
• Windows Live Photo Gallery (photo editing and organization)
• Windows Live Movie Maker (video editing)
• Windows Live Family Safety (parental controls for online activity)
• Windows Live Writer (blog composition)
• Windows Live Toolbar (browser toolbar)

• Provides marketable software and services that compete effectively with other consumer
offerings.

Windows Live delivers complete end-to-end experiences that are easy to use. The unified
Windows Live suite, which is integrated with Windows Live online services such as
Windows Live SkyDrive™ storage, brings seamless cloud experiences to life. For
example, Windows Live provides a complete photo experience that includes importing
photos, editing photos, organizing photos in an album, and sharing photos by using
email or an online network.

• Lowers overall software planning and configuration cost through a single OEM
preinstallation kit (OPK).

Using the single Windows Live OPK reduces configuration and testing cost versus the
alternative of assembling an alternative suite of individual applications.

• Enhances the slate PC experience with touch-optimized applications.

Windows Live Photo Gallery supports a number of touch gestures including zoom, rotate,
and pan. Photo Gallery editor and date view have high-quality touch experiences, such
as rotate animations. Windows Live Photo Gallery, Windows Live Movie Maker, Windows
Live Writer and Windows Live Mail support the ribbon user interface, making commands
more touch friendly.

In Internet Explorer 8, the user can optimize the touch experience by switching to large
icons. This setting can be changed by the user, but they may not realize it is possible, or find
the feature on their own.

10
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

Figure 4: Default icons in Internet Explorer 8

Figure 5: Large icons in Internet Explorer 8

FUNDAMENTALS

This section describes hardware requirements for slate PCs that OEMs must consider in
addition to the Windows 7 PC requirements.

HARDWARE REQUIREMENTS

To deliver a high-quality product that will delight customers, you need to select the right
hardware components and software image.

The digitizer technologies that enable natural and intuitive gestures are revolutionizing
human-computer interaction and heralding a new era of natural user interfaces. Consumers
expect the multitouch experience to be effortless, intuitive, and consistent. For this to occur,
every component in the technology stack must be responsive, robust, and tuned to work in
the ways that real people interact with touch screens. The strict and sometimes complex
demands of the user experience affect the hardware level the most, because the user
interacts first with the digitizer. Behind every touch that the digitizer detects is a user who
has very high expectations and a very low tolerance for dubious quality.

The Windows Logo program for Windows 7 ensures that solutions on the market meet the
minimum expectations of users and provide a successful touch experience across

11
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

applications and environments of use. The logo requirements that are relevant to slate PCs
are listed in this document.

DESIGN PRINCIPLES

In addition to the Windows Logo requirements, OEMs can provide a differentiated experience
through hardware and software design, as listed in the following sections.

HARDWARE RECOMMENDATIONS

HUMAN FACTORS AND ERGONOMICS


To increase the usability and comfort of slate PCs, we recommend the following guidelines:

• Design bezel and chassis plastics so that they do not interfere with touch targeting
along edges and in the corners of the screen.

• Ensure the enclosure has smooth edges near any handgrip area.

• Ensure handgrip regions are designed away from heat dispersion and venting.

• Design chassis buttons to protect against accidental activation.

• Consider the center of gravity of any handheld device (for example, heavier items
such as batteries should be placed near the handhold area, when possible).

• Enumerate computer buttons (for example, those located on the bezel) as physical
devices and not virtual devices.

• Consider using haptic feedback to increase user confidence in activating a touch


event.

• Utilize glass and/or glass coatings designed to reduce fingerprints. Consider anti-
glare materials and LED-based illumination to ensure screen readability in outdoor
and brightly lit environments.

DIGITIZER LOGO REQUIREMENTS


To ensure a high-quality user experience, digitizer devices must meet the following logo
requirements:

• Human Interface Device (HID) Compliance. For the Windows 7 operating system
to respond appropriately to device and driver input, your device must adhere to HID
protocols for Windows Touch.

• Resolution. The screen resolution must be at least 25 pixels per inch and at least
display resolution to enable Windows Touch to accurately detect touch and
multitouch actions. Display-level resolution is important for graphical applications
and many other scenarios

• Sampling Rate. Sampling rate should be at least 50 hertz per finger. A high
sampling rate contributes to higher performance, perceived responsiveness of the
system, and data integrity for contacts in fast motion.

12
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

• Ghost Noise. Do not report data for locations where contact is not made. Random
input can have a significant destructive effect on user workflow, and can quickly
reduce the trust that users have in the Windows Touch experience. You should tune
contact detection to recognize valid finger contact, rather than other non-human
contamination.

• Contact Accuracy. For a single touch on a stationary contact point, the contact
position reported must be within 2.5 millimeters (mm) of the target point. For a single
touch that traces a line, circle or other predetermined pattern, the contact data
reported must be within 2.5 mm of the target pattern, with an offset from the pattern
that varies no more than 1 mm for every 10 mm of travel, and without interruption to
the pattern. For additional touches on a stationary contact point, the contact position
reported must be within .5 mm of the target point. For additional touches that trace a
line, circle or other predetermined pattern, the contact data reported must be within .
5 mm of the target pattern, with an offset from the pattern that varies no more than
2 mm for every 10 mm of travel, and without interruption to the pattern. Recognition
of gestures for pinch and rotate relies on fast and accurate location reporting. This
also applies to the standard interaction gestures, such as panning, scrolling, and
dragging. Applications will develop new customized gestures and movements that
depend on high accuracy and response rates.

DIGITIZER IMPLEMENTATION GUIDANCE


Follow these guidelines for a digitizer device:

• Screen Coverage. Ensure that there are no blind spots or dead areas anywhere on
the screen. Some digitizer technologies work better than other technologies to
recognize input consistently across all touchable areas of the screen. Some
technologies encounter problems, especially at the edges and corners. Poor casing
and bezel placement can also cause screen coverage issues for otherwise well-
performing digitizers when they are integrated into systems during the
manufacturing process.

• Digitizer Screen Size. Ensure that your digitizer device reports accurate physical
dimensions of the display. Windows can provide greater gesture accuracy when the
digitizer reports the exact physical dimensions of the display.

• Performance. Ensure optimum responsiveness of the digitizer. The responsiveness


of the touch digitizer is a primary factor in determining the success of any given PC
or device. Therefore, it is important that you build and test for performance from the
beginning. You should not include any firmware or driver processing that is not
dedicated exclusively to providing Windows Touch processes with correct human
interface device (HID) packets.

• Battery Power. Ensure the digitizer performs consistently, regardless of the power
source. It is important that you maintain consistency of the touch experience whether
touch PCs are plugged in or are running on battery power.

• Jitter. Report a stationary contact as stationary and without jitter. If the digitizer
reports movement when the contact remains in the same location, Windows can
misrecognize the interaction as a drag action or other unintended movement.

• Separate and Simultaneous Contact. Maintain minimal offset whether users


make multiple touches simultaneously or in sequence, with or without an overlap or
in other scenarios. Digitizers should distinguish and correlate x and y coordinates for

13
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

points of contact with a high degree of accuracy, and this should not depend on
sequential placement or other factors.

• Contact Width and Height. Report contact width and height. Supporting the HID
usages for height and width of contact (digitizer page 0x0D, with proposed usages
0x48 and 0x49) enables applications to provide richer touch support. This includes
applications that have different functionality for finger-tip versus finger-pad gestures,
or graphics applications that use the dimensions of the contact for brush sizing.

• Confidence Usage. Apply confidence usage for palm rejection. Digitizers should
implement palm rejection to reduce accidental touch events caused by the hand or
other objects. Confidence usage (page 0x0D, usage 0x47) is a value that signals the
digitizer’s confidence that the contact is valid and intentionally interactive. Set this
value to 0 when the contact does not include interactive input, such as a palm resting
on the screen or an accidental contact.

• Calibration. Perform device calibration in the factory, to ensure a positive out-of-


the-box experience. If calibration linearity is not performed during the manufacturing
process, the user experience will be poor until the user performs their own
calibration. This negatively impacts the out-of-box experience. The issue may be
exacerbated if calibration is difficult for the user to discover.

HARDWARE DESIGN RECOMMENDATIONS

For the best user experience, consider the following items when you design your slate PC
hardware:

• Screen

– Touch interfaces work best when the Windows DPI setting is configured to match
the physical display DPI. Since slate PCs have smaller screens, OEMs are
encouraged to configure the Windows DPI value to match the physical display
size, and to test the applications delivered on the PC to ensure that they work
properly in this configuration. For information on configuring DPI value, see DPI
Configuration for Small PCs.

– Consider effective screen resolution, which accounts for physical resolution and
the DPI setting of the display. Effective screen resolution should not be lower than
1024 x 768. For example, a screen size of 8 inches with a resolution of 800x600
has an effective screen resolution of 640 x 480, which is not acceptable. Choose
the appropriate DPI setting as follows:

Physical DPI Appropriate DPI


Setting

< 115 96

Between 115 – 120


138

> 138 144

14
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

– Support angled viewing by using wide-view LCD technology.

– Use glass surfaces and glass coatings designed to reduce fingerprints.

– Consider anti-glare materials and light-emitting diode (LED)-based illumination.

• Sensors

– Enable rotation with a manual hardware button or enable auto-rotation with an


accelerometer. Ensure that auto-rotation is responsive and behaves as a user
would expect. Sensors should be exposed by using the sensor platform, as
documented in the Sensor Devices Design Guide.

– Include one or more ambient light sensors to enable the adaptive brightness
feature in Windows, which automatically dims and brightens the display for better
readability across varying lighting conditions. Multiple sensors help reduce
shadow effects and improve usability.

• Biometric Logon. Consider including a fingerprint reader for improved ease of


access for logon and security scenarios.

• Web Camera. Enable video conferencing with Windows Live Messenger. Also
consider adding more than one microphone to allow for acoustic echo cancelation,
which greatly improves voice communication with Windows Live.

• Peripherals. Provide peripherals that are complementary to the slate PC form factor
and usage scenarios. For example, provide protective sleeves for screen protection
and provide power supplies that are compact and easy to transport.

SYSTEM ARCHITECTURE RECOMMENDATIONS

Consider the following items when you design the system architecture of your slate PC:

• Chipset and memory

– Balance the CPU, GPU, and media acceleration, memory capacity and
performance.

– Determine the levels of chipset and memory resource utilization required for key
scenarios with a full software load.

– Provide extra resource allotment to accommodate the additional software that


end-users will install.

– Provide 2 gigabytes of memory on CPU-constrained and GPU-constrained


systems.

• Power Management

– USB devices should support selective suspend.

– Battery life should exceed 4 hours under normal operating conditions.

– The PC should have sufficient battery to support standby time of at least


72 hours.

15
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

– The system should resume from an idle state (for example, S3) in less than
2 seconds.

• Storage. Slate PCs should use solid-state drives (SSDs) to enable lower power
consumption and high reliability in a mobile environment. SSDs also have greater
performance than most traditional platter drives. Many Windows performance
optimizers do not need to operate on SSDs. Windows 7 disables selected
optimizations on an SSD, if the SSD meets certain requirements:

– Disk defragmentation is turned off when at least one of the following is true:

• ATA Word 127 is set to “1” (zero-latency device).

• Windows System Assessment Test (WinSAT) random read performance value


exceeds 8.0.

• The disk is a dynamic disk or a child virtual hard disk.

– SuperFetch is disabled when the WinSAT Random Write (primary disk) score
exceeds 6.5.

– ReadyBoost™ is disabled when at least one of the following is true:

• The ReadyBoost score does not meet the performance threshold.

• SuperFetch is disabled.

– Windows 7 supports the TRIM function, which can improve the lifetime of a flash
drive. This feature operates when the SSD firmware and driver supports TRIM,
and the ATA function is enabled.

TOUCH APPLICATION DESIGN RECOMMENDATIONS

This section provides background and guidance for designing touch applications for slate
PCs.

TOUCH OPTIMIZATION PRINCIPLES

Touch experiences must appear inviting and simple, while behaving in a way that is
forgiving and responsive. As with any user experience, aesthetics are critical, but touch
experiences combine both aesthetic and practical requirements. These additional
requirements present design challenges that can be addressed by the following touch
optimization principles.

Increase Confidence and Efficiency

In an inviting experience, the user feels confident about trying new things without fear of
making mistakes or causing errors. If the user interface (UI) is simple, the user can focus on
exploring and learning without being inundated with demanding tasks or overly complex
designs. In many cases, touch support is added to an existing user experience and the UI
contains legacy elements, such as scroll bars, that are not optimized for touch experiences.
In the worst-case scenario, the scroll bars do not support touch. In the best case scenario
there are no scroll bars, which invite the user to try panning instead.

16
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

A forgiving UI is one that lowers the need for precision and makes tasks easier. Touch makes
it difficult to target small items, which are commonplace in traditional mouse and keyboard
scenarios. The fingertip obscures the target, unlike a small, unobtrusive cursor. If a task is
too difficult to perform with touch, the user becomes frustrated.

Responsiveness is critical in a touch environment, because touch must feel direct. When the
user touches the screen to make something happen, there must be an immediate visual
response. Without feedback, the user is likely to believe that they missed the target, so they
touch it again, or repeatedly touch it until it responds.

Direct Manipulation

Direct manipulation occurs when touch contacts directly manipulate on-screen content.
Users control the user interface with their fingers to move content (panning), adjust scale
(pinch/stretch), or rotate content. Users expect to touch what is displayed on-screen and
control it easily, similar to picking up an object and moving it; because of this user
expectation, the visual interface must present an immediate, precise response that is
authentic. As obvious as this may seem, direct manipulation presents several challenges,
such as the need for smooth animations and physics, and visual considerations for the
challenges that result from using a hand and fingers that cover large parts of the screen.

Gestures

Gestures are touch actions that are one step removed from direct manipulations. Typically,
gestures are mapped to common operations like keyboard shortcuts. Gestures are ideal to
invoke secondary actions and functionality on content. Touch in Windows 7 is designed for
consistency throughout the experience. This requires the use of consistent gestures across
Windows applications. The user would become confused and frustrated if a commonly used
gesture did not work as they expected.

WINDOWS 7 DESIGN PRINCIPLES

We believe the strength of Windows is in the openness as a platform, and success relies on
the richness and variety of the software that runs on Windows. At the same time, various
feedback channels tell us that the overall experience of using a PC can be perceived as
complex and inconsistent, for a wide variety of reasons. The Windows 7 Design Principles
describe our approach for designing the user model and experience for Windows 7. OEMs
can also apply these principles to their decision-making process for the software that they
distribute with slate PCs.

This section describes the key Windows 7 Design Principles that apply to slate PCs. We
placed special emphasis on full-screen applications and design considerations for how these
applications interact with Windows.

REDUCE CONCEPTS TO INCREASE CONFIDENCE


Good applications provide innovative, clearly purposed, well-designed experiences that
leverage what Windows does best: launching, switching, configuring, and servicing the
breadth of scenarios that people expect from a Windows PC. The Windows UI provides users
with access to a wide variety of objects necessary for running applications and managing

17
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

the operating system. The Shell Developer's Guide provides conceptual material about how
the Shell works and how to use the Shell's API in your application. The Shell Reference
section documents programming elements that make up the various Shell APIs. Shell SDK
Samples provides links to Shell samples. Most samples can be downloaded from MSDN Code
Gallery. All samples are included in the Windows SDK.

Telemetry research has shown that PC users spend as much as 19% of their time in the
Windows shell. This includes time in the Start menu, browsing files, and in the Control
Panel. Replicating even a small subset of that functionality in a Shell application does not
provide an enhanced experience for customers. Consumers are typically required to do
many tasks in Windows, and it is hard to define clear boundaries between the Shell
application and Windows. This approach tends to create frustrating experiences by
introducing new concepts and making usage more complicated.

Building great applications for Windows is the best way to showcase slate PCs.

SMALL THINGS MATTER: GOOD AND BAD


Small aspects of touch experiences have a major impact, when they are critical to primary
tasks or used frequently. If done well, small things can create touch experiences that delight
the user. Windows 7 includes many new features that enable OEMs to differentiate their
touch applications.

The Tablet PC Input Panel has different modes, and the Tablet PC Input Panel APIs enable
customization of launch and placement settings, as follows:

• When the Input Panel is launched from the in-place target (next to the textbox), it is in
in-place mode. When using touch to launch in-place mode, the Input Panel is launched at
the bottom of the screen, or at the top of the screen if necessary, to avoid covering the
text box. The user can move the Input Panel around, and it will automatically close if the
focus is changed.
– The Tablet PC Input Panel APIs can be used to customize the Input Panel when it is in
in-place mode. This gives developers control of launching and positioning the touch
keyboard. Developers can use these APIs to optimize the experience, such as auto-
launching the touch keyboard when touch is used to set focus in a text box (without
showing the in-place launch target), which is convenient for slate PCs. Developers
can also specify the position of the touch keyboard.
• When the Input Panel is launched from the taskbar or the edge target, it is in floating
mode. In this mode, the Input Panel remains open until the user closes it, and the user is
in full control of the Input Panel. The Input Panel’s default docking setting is floating
mode, which displays the touch keyboard based on the location of the text box being
tapped: at the top or bottom of the screen. The vertical launch location of the Input Panel
is based on the location of the edge-tab, and the user can drag the edge-tab up and
down as desired. If the user moves the edge-tab toward the bottom of the screen, the
Input Panel launches at the bottom of the screen. Most importantly, the user can
reposition the touch keyboard easily at all times, as they switch between applications
and change display orientation.
• A consideration for third-party keyboard usage is that the Input Panel can be disabled
within an application, but not at the system level, including the Windows log-on
experience.

18
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

• In Windows 7, the Input Panel provides a fully localized experience, which should be
taken into consideration when adding an additional on-screen keyboard solution to an
application.
• If you are designing software using full-screen DirectX® graphics, the Input Panel cannot
be launched; rather, you must provide your own on-screen keyboard in the application,
as needed.
• For more information on enabling and extending the soft keyboard in applications, see
the following API documentation:
– Text Input Panel Interfaces
– ITextInputPanel Interface

BE GREAT AT "LOOK" AND "DO"


Delivering on the promise of enticing visual experiences is critical with touch. Regardless of
the aesthetic appeal, it is detrimental to present visual experiences that do not respond to
touch. Ideally, the user is presented with a UI that invites them to touch, and with contextual
tasks that are optimized for touch input. The Microsoft Touch Pack for Windows 7 includes
sample touch applications and games that embody these principles. For example, the
Surface Globe application is immersive and designed for touch exploration. The UI
anticipates what the user wants to do next, and the user's direct manipulation and gestures
enable quick and easy navigation.

Windows 7 also includes native support for sensors to create environmental awareness in
Windows applications. Such sensors include location sensors (such as GPS devices), ambient
light sensor, and temperature gauge. Location sensors can unlock new opportunities for
location-based services. For more information on working with sensors, see the Sensor API.

The new Windows Touch APIs support rich gestures, such as pan, zoom, and rotate. All
gestures should provide direct visual feedback, and enable interaction with underlying
content in a natural and intuitive manner.

The Windows 7 Touch guidelines offer detailed information on how to develop touch-
optimized application, as well as how to make the most of existing applications. An
application is considered touch-optimized when it has been specifically designed for touch,
which means:

• Tasks are optimized for touch by placing the most frequently performed commands
directly on the UI or content instead of within drop-down menus.
• The application's experiences have an immersive touch experience with real-world
physical properties, such as momentum and friction.
• Tasks are forgiving, allowing users to correct mistakes easily and accommodate
inaccuracy that arises from touching and dragging.
• Tasks avoid or reduce the need for heavy text input or precise selection.

Smaller screen size limits the available screen real estate; as a result, it is important to
consider rendering and how the application looks on a variety of screen sizes. Additionally,
ensure that the application adapts well to different screen orientations. Another issue that
often affects applications in the lack of support for high-DPI settings. This may be the case if
the application is not originally designed to support touch, or designers are not aware that
DPI settings can be changed in Windows.

19
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

By using built-in Windows controls and APIs, applications can comply with these guidelines
with minimum effort. The controls in Windows respect scaling, accessibility, and are
designed for touch. For instance, the Windows Ribbon framework is a rich command-
presentation system that provides a modern alternative to the layered menus, toolbars, and
task panes of traditional Windows applications. To provide a highly accessible UI, the Ribbon
framework implements Microsoft Active Accessibility. By automatically populating relevant
Microsoft Active Accessibility properties with valid and helpful information, the framework
reduces the burden on developers to provide an inclusive experience for all users. In
addition, the Ribbon framework is a Windows feature and, as such, is localized for all
languages that Windows supports. Developers, however, are responsible for localizing their
own specific application resources.

Another key benefit of using built-in Windows functionality is evident in web browsing.
Windows Internet Explorer 8 provides a number of security features in a touch-optimized
browser. Among the security features are protected mode, anti-phishing safeguards,
malware protection, tab isolation, and regular security updates. Replicating this functionality
on top of Internet Explorer's rendering engine, WebOC can be very costly. The WebOC
rendering engine provides the basics for rendering Web pages, but it is not designed to be
an all-inclusive platform for a modern, trustworthy browsing experience.

For more information about security in WebOC, please see the MSHTML Host Security FAQ:
Part I and Part II.

Time matters: Build for People on the Go

Value-added applications are an important aspect of OEM differentiation. However, poor


application performance can have a negative perception of the system. It is important to
thoroughly test each application against the specific hardware and software configuration of
any given system. In addition to the system fundamentals, follow these application-
performance recommendations:

• Avoid using managed code for applications on the critical boot path.
• Ensure that all applications respond quickly to shutdown notifications
(WM_QUERYENDSESSION and WM_ENDSESSION messages).
• Reduce delays in the shutdown path of services and applications by minimizing CPU,
disk, and network activity in response to shutdown notifications.
• Avoid delays in processing the suspend notification (WM_POWERBROADCAST
message).
• Respond quickly to resume events and minimize post-resume CPU, disk, and network
usage.
• Reduce application-resource consumption post-boot.
• Be consistent in technology platform choice to benefit from cross-application code
sharing. For example, .NET code will be loaded only once when used by multiple
applications.
• Do not start applications from the RunOnce key on every boot.

Value the Full Lifecycle of the Experience

Windows incorporates a single, coherent design that accommodates the range of things that
people need to do on a PC, including configuration, launching and switching between
programs, browsing for and managing files, device management, logon, account
management, and task management. Out of the box, customers expect things like
20
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

customization, personalization, and multiple-language support. It is important that


applications do not insulate users from those important activities by jumping straight into a
full-screen application experience.

In the design of each of these areas of Windows, we put significant thought into the design
of the overall experience. For example, if a critical update is available for Windows or a
driver, the Action Center notifies the user through the notification area. This is the same way
that Windows notifies the user of other important information: power status, network status,
current volume, and so forth. These notifications and the UI used to present them ensure
that a range of frequent and important tasks are never more than a few clicks away. The
Windows desktop UI is optimized to support rich, interconnected scenarios like this.

Presenting users with full-screen applications can disrupt many of these user scenarios. It is
important to recognize that users will have a need to get back to Windows to perform
additional tasks. Full-screen applications that do not provide standard controls such as close
buttons are prone to creating user confusion and dissatisfaction. For example, Windows 7
includes Windows Media Center, which offers a great touch-enabled experience for media
consumption. Windows Media Center can be launched and switched to just like a standard
application, but it can also be configured to temporarily operate in full-screen mode. While
Windows Media Center offers an immersive experience in its full screen mode, it allows
users to easily go back to the Windows desktop for required operating system tasks such as
connecting to a wireless network or installing updates. It is important to recognize that these
immersive experiences can never accomplish all user tasks and should not lock users away
from the Windows desktop.

System Performance Guidance

Consumers will buy slate PCs based on how they look as well as what they are capable of
doing. In order to deliver the full range of scenarios that a customer expects, it is important
that applications leave enough system capacity available for users and their applications.
Give careful consideration to the impact that an application has on the boot experience,
power efficiency, and system responsiveness. OEMs should test systems with all preinstalled
software and ensure that:

• CPU utilization is less than 2% at idle state.


• CPU is at the lowest “P-state” for at least 98% of idle time.
• CPU is at the highest “C-state” for at least 98% of idle time.
• Disk utilization is at less than 1% during idle time.
• Disk access is tuned for AC and DC power, minimizing non-critical activity when the
PC is on DC power.
• BIOS implements Advanced Configuration and Power Interface (ACPI) functions to
natively support Windows 7’s LCD auto-dimming feature.

ADDITIONAL LOGO CONSIDERATIONS

Windows Touch is an “If Implemented” logo requirement. It requires that the digitizer pass
the Windows Touch logo requirements (Logo input-0006 for pen/single touch and Logo input-
0046 for multitouch) as a standalone device as well as within system logo. Testing at both
the device and system levels helps ensure that performance is not compromised during
integration into a PC system.

21
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

The following hardware logo requirements represent additional considerations for slate PC
form factors. This is a summary list, based on the current logo requirements, and may not
be all inclusive.

Requirement Requirement title Notes


ID

GRAPHICS- Display adapter or chipset DirectX® 10 is required for mobile


0020 complies with Direct3D® 10 and devices with screens larger than
DXGI Feature sets 10.2 inches. DirectX 9 is required for
systems with a screen size up to
10.2 inches.

INPUT-0012 Tablet systems implement buttons


using a HID-compliant mini-port
driver and include a dedicated
security button.

SYSFUND-0003 System exposes a debug interface


that complies with Debug Port
specification.

SYSFUND-0043 Systems have user-accessible, Not required for systems with screen
fully powered USB 2.0 ports. sizes up to 10.2 inches.

SYSFUND-0046 Systems are capable of starting


the Aero® theme.

SYSFUND-0062 System is capable of playing High- Not required for systems with screens
Definition content with no up to 10.2 inches.
perceivable glitch during playback.

CALL TO ACTION

Review the requirements and consider the recommendations to build a slate PC that
presents an end-to-end touch optimized experience. Overcoming the challenges presented
by slate PC hardware is critical to delivering a top-quality touch experience. In addition to
the Windows 7 User Experience design principles, consider touch optimizations that make
the difference between an application with touch support compared to an application that
was designed to work best with touch.

RESOURCES

We are eager to work with the touch hardware and software ecosystem to deliver a high-
quality user experience with Windows 7. The resources below provide comprehensive
implementation guidance.

22
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

Title Location
Introduction to Windows http://www.microsoft.com/whdc/device/input/Win7_touch.mspx
Touch

How to Design and Test http://www.microsoft.com/whdc/device/input/touch_Design-


Multitouch Hardware Test.mspx
Solutions for Windows 7

Developer Enhancements http://www.microsoft.com/whdc/device/input/touch_tab_enhan


to Windows Touch and ce.mspx
Tablet PC

Digitizer Drivers for http://www.microsoft.com/whdc/device/input/DigitizerDrvs_tou


Windows Touch and Pen- ch.mspx
Based Computers

How to Enable USB http://www.microsoft.com/whdc/connect/usb/enable_usb.mspx


Selective Suspend for
Human Interface Devices

Multi-Touch in Windows 7 http://download.microsoft.com/download/5/E/6/5E66B27B-


[WinHEC 2008; 5.3 MB] 988B-4F50-AF3A-C2FF1E62180F/MBL-T527_WH08.pptx

Multi-touch Driver http://download.microsoft.com/download/5/E/6/5E66B27B-


Development [WinHEC 988B-4F50-AF3A-C2FF1E62180F/MBL-T528_WH08.pptx
2008; 3.1 MB]

Multi-Touch: Designing and http://download.microsoft.com/download/5/E/6/5E66B27B-


Testing for Logo 988B-4F50-AF3A-C2FF1E62180F/MBL-T529_WH08.pptx
Compliance [WinHEC 2008;
1.2 MB]

Code Magazine: MultiTouch http://msdn.microsoft.com/en-us/magazine/ee336016.aspx


Capabilities in Windows 7

Windows Touch on MSDN http://msdn.microsoft.com/en-us/library/dd562197(VS.85).aspx

Windows Touch Developer http://code.msdn.microsoft.com/WindowsTouch/


Resources

Windows User Experience http://msdn.microsoft.com/en-us/library/aa511258.aspx


Interaction Guidelines

Tablet and Touch SDK http://msdn.microsoft.com/en-


us/library/ms704849(VS.85).aspx

Sensor Development Kit for http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?


Windows 7 ProjectName=SensorsAndLocation&DownloadId=5856

Windows OEM Contact your Technical Account Manager at Microsoft to gain


Preinstallation Kit (OPK) access to OPK documentation.
Windows Touch Test Lab http://www.microsoft.com/whdc/device/input/WindowsTouch_T
est-Lab.mspx

Windows Touch Test Lab http://www.microsoft.com/whdc/device/input/WTTL.mspx


Logo Certification Testing
Procedure

23
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs

Engineering Windows 7 http://blogs.msdn.com/e7/archive/2009/03/25/touching-


Blog: Touching Windows 7 windows-7.aspx

Engineering Windows 7 http://blogs.msdn.com/e7/archive/2009/04/23/ink-input-and-


Blog: Ink Input and tablet.aspx
Tablet PC

Introducing the Microsoft® http://windowsteamblog.com/blogs/windows7/archive/2009/05/


Touch Pack for Windows 7 27/introducing-the-microsoft-touch-pack-for-windows-7.aspx

24
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.

You might also like