Copyright © 2003 by Microsoft Corporation
A Division of Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
Copyright © 2003 by Microsoft Corporation
All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher.
Library of Congress Cataloging-in-Publication Data
Su, Philip, 1976- Building Tablet PC Applications / Philip Su, Rob Jarrett. p. cm. Includes index. ISBN 0-7356-1723-6 1. Pen-based computers. 2. Application software--Development. I. Jarrett, Rob, 1969- II. Title. QA76.89 .S8 2002 005.3--dc21 2002026540
Printed and bound in the United States of America.
1 2 3 4 5 6 7 8 9 QWE 7 6 5 4 3 2
Distributed in Canada by H.B. Fenn and Company Ltd.
A CIP catalogue record for this book is available from the British Library.
Microsoft Press books are available through booksellers and distributors worldwide. For further information about international editions, contact your local Microsoft Corporation office or contact Microsoft Press International directly at fax (425) 936-7329. Visit our Web site at www.microsoft.com/mspress. Send comments to firstname.lastname@example.org.
ActiveX, ClearType, JScript, Microsoft, Microsoft Press, MSDN, MS-DOS, Visio, Visual Basic, Visual C#, Visual Studio, Win32, Windows, and Xbox are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Other product and company names mentioned herein may be the trademarks of their respective owners.
The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred.
Acquisitions Editors: Danielle Bird
Project Editor: Lynn Finnel
Technical Editor: Brian Johnson
for a brother who proved dear,
for two friends who bore forgiveness,
for a woman who steadfastly loved.
For all those with a vision and the courage to try and realize that vision.
Who would have thought that writing in digital ink on a computer display could be as satisfying as the real thing?
Well, I knew it could, but I wasn’t sure when, if ever, it would become a feature of Microsoft Windows. Now it’s happening, and Rob Jarrett and Philip Su were right there at the center of the activity that made it so.
When you stroke your pen across a page of Windows Journal, you’re experiencing digital ink the way Rob and Philip and I think it was meant to be. Quick. Smooth. Colorful. Expressive. Strokes with these qualities help you remember what you were thinking when you wrote them. They naturally capture your thoughts, making your personal computer quite a bit more personal.
Digital ink—now a first-class data type—is just one of the many reasons that you will want to make your applications tablet-aware moving forward.
I view this and other Tablet PC capabilities in a particular light, one that has been helpful in focusing our Tablet PC development work. My dream has long been to make electronic information as handy as paper. In much that same way that ClearType (my first team at Microsoft) enabled applications to display type with paper-like quality, the Windows Ink Services Platform (WISP) enables Windows and applications to include a paper-like inking experience. With the Windows XP Tablet PC Edition, you get ClearType and WISP and many related capabilities with which you can make your electronic information as handy as paper.
In fact, I think the most important steps toward making electronic information as versatile as paper will come from application developers rethinking what it means for computing to be personal and for information to be handy. And this rethinking will also create the biggest opportunities.
Let the Tablet PC Platform SDK be your starting point, and let Rob and Philip be your guides. Whether you are just getting your feet wet with Web development or are experienced enough to have written your own system components, this book will give you insights you can apply to the Tablet PC Platform SDK to achieve the handiness of paper in your domain.
Rob and Philip evidently fondly remember the way I carried this torch into Microsoft and handed it to them because they have asked that before they give you their insights, I share some of my thoughts about our collective work. I’ll be brief:
Physically, we are creating a better paper—comfortable to hold and appealing to the eye, but better due to its interactivity, capacity, intelligence, and connectedness. The tablet’s ergonomics are catching up with paper, and this has implications for application design. Specifically, consider the interaction design of paper—you can pick up papers and dash off to a meeting. You can glance at your papers while walking down the hallway, and refer to your papers off-and-on during the meeting. Such freedom of movement and casual referral in the electronic world will require that applications work well with the tablet’s buttons and pen, and provide immediate feedback in response to each user event.
The pointing device is catching up with the keyboard. It’s not going to replace the keyboard, but it is going to be able to perform all the tasks of a keyboard when the keyboard is inconvenient to use. Handwriting recognition now supports text input tasks just as keyboard shortcuts have allowed the keyboard to accomplish pointing tasks.
One of the most useful steps you can take during this catch-up phase is to support inking on any paper-like surfaces displayed by your application. Because capturing thoughts is about aiding memory, ink as ink can be valuable to users even in an application that doesn’t otherwise make use of ink as a data type.
The pen is useful for pointing and writing, but buttons can be even handier for tasks that can be done without picking up the pen. For example, pages are easy to flip through using a thumb or finger. Tablet PC hardware supports this by providing “Up,” “Down,” “Enter,” and “Escape” buttons at the tablet’s edge. These four buttons should be supported in as many situations as possible for scanning information and entering and rejecting choices without the pen. If you fully exploit these buttons for basic navigation within your application, you will be approaching the handiness of paper for tasks that don’t require a pen.
Paper’s handiness is partly due to its low cognitive load. In mobile and social settings, many things are vying for the user’s attention. A user needn’t formulate many questions to complete a task with paper; it is always ready to be flipped through, written on, and marked for follow-up in obvious ways. Our programs should aspire to the same readiness and obviousness for common tasks. We can simplify by offering additional tasks only when and where they are relevant. Both inductive UI and on-object UI can be helpful (the latter being close at hand when using the pen).
WISP is the world’s most powerful ink platform. If you create a solid foundation with the preceding items, you can use the advanced capabilities of WISP to build all manner of advanced structures.
The work you do to fine-tune your application for tablets is what will achieve handiness for users accessing your application’s information. I look forward to using your products!
Bert Keely Architect Tablet PC