Professional Documents
Culture Documents
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.
Windows 7
Windows Media, and Windows Vista are trademarks of the Microsoft
group of companies.
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.
References and resources discussed here are listed at the end of this paper.
Document History
Date Change
2
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs
CONTENTS
Introduction.............................................................................................................................4
Fundamentals.......................................................................................................................10
Hardware Requirements....................................................................................................10
Design Principles...................................................................................................................11
Hardware Recommendations.............................................................................................11
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:
4
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs
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.
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 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.
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
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.
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.
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.
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.
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.
• 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.
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:
• 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.
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
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
• 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.
• 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.
• 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.
• 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.
• 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.
• 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.
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.
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:
< 115 96
14
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs
• Sensors
– 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.
• 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.
Consider the following items when you design the system architecture of your slate PC:
– 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.
• Power Management
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:
– SuperFetch is disabled when the WinSAT Random Write (primary disk) score
exceeds 6.5.
• 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.
This section provides background and guidance for designing touch applications for slate
PCs.
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.
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.
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.
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.
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
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.
• 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.
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
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.
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:
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.
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-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
23
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.
Windows 7 Engineering Guidance for Slate PCs
24
1 June 2010
© 2010 Microsoft Corporation. All rights reserved.