Copyright© 1999 by Everett N. McKay
A Division of Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
Copyright © 1999 by Everett N. McKay
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
McKay, Everett N., 1961–
Developing user interfaces for Microsoft Windows / Everett N.
1. User interfaces (Computer systems) 2. Computer software-
-Development. 3. Microsoft Windows (Computer file) I. Title
Printed and bound in the United States of America.
1 2 3 4 5 6 7 8 9 QMQM 4 3 2 1 0 9
Distributed in Canada by Penguin Books Canada Limited.
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 mspress.microsoft.com.
Macintosh is a registered trademark of Apple Computer, Inc. ActiveX, DirectX, Encarta, FrontPage, IntelliMouse, IntelliSense, Microsoft, Microsoft Press, MSDN, MS-DOS, Outlook, Visual Basic, Visual C++, Win32, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. DevUI is a trademark of Windmill Point Software. Other product and company names mentioned herein may be the trademarks of their respective owners.
The example companies, organizations, products, people, and events depicted herein are fictitious. No association with any real company, organization, product, person, or event is intended or should be inferred.
Acquisitions Editor: Ben Ryan
Project Editor: Devon Musgrave
Technical Editor: Jack Beaudry
To my wife, Marie Sťguin,
my children, Philippe Mathieu
and MichŤle Audrey, and my
parents, George and Irma Jo.
There is no experience quite like writing a book. The closest thing to it Iíve ever done is run a marathon when I wasnít fully prepared. In both cases, although itís up to you to get the job done, you need the kindness of strangers to help you along the way.
I must first thank Ron Burk, editor of Windows Developerís Journal, who inspired me to write this book, although that inspiration was unbeknownst to him. I submitted to him a proposal for an article that would give a simple procedure for testing the user interfaces of Microsoft Windows programs. Letís just say that he lacked enthusiasm for my approach; he felt the presentation would be too abstract to be helpful. My first reaction was that it would take a long, boring book to cover the subject at the level of detail he suggested. My realization that I could present specific, practical Windows user interface development information in a fairly short and (hopefully) interesting book led to what you are holding in your hands. Ron was also helpful enough to give explicit instructions in "How to Write a Good Windows 95 UI Design Book" in the August 1997 issue of WDJ. I have tried to follow his advice as best I could.
I wish I could claim that every idea presented in this book is original. That would make me a pretty smart guy. Instead, the material in this book is a combination of my personal experience as a Windows programmer, the writings of many user interface experts, and the combined wisdom of all the talented user interface designers and programmers who have created the excellent programs I use every day. I would like to thank those experts whose insight into user interface design has helped me the most: Alan Cooper of Cooper Interaction Design, Tandy Trower of Microsoft Corporation, Donald Norman and Jakob Nielsen of Nielsen Norman Group, Bruce Tognazzini of Healtheon, and Virginia Howlett of Blue Sky Design, Inc. Iíd also like to thank Hillel Cooperman, Chris Brown, Jan Miksovsky, Jordan Schwartz, and Kent Sullivan, all of Microsoft, whose presentations at the 1998 Microsoft Professional Developers Conference were inspirational, helpful, and timely. And thank you to Brian Hayes of Isys Information Architects, whose Interface Hall of Shame and Hall of Fame Web site served as an excellent reality check for many of my ideas.
I would especially like to thank all those people who gave me the opportunity do user interface development throughout my career, even when my skills werenít especially good. These people include Bob Headrick, Greg Smith, Rick Fisher, Dennis Clark, Richard Speers, Flora Perski, Tom Weisz, Jacci Winchester, and Sean Cryan. Thanks also to Lawrence McMillin of the Webb School of California who taught me how to write at a time in my life when I didnít think writing skills were all that important. I also want to thank MITís Nancy Lynch, my masterís thesis advisor, for forcing me to remember those skills. Additional thanks to Meryle Sachs and Dave Myers for giving me insight on user interface development from the technical writerís point of view.
I am profoundly grateful to Microsoft Press for giving me this incredible opportunity. Thanks to Devon Musgrave, my project editor, and Jack Beaudry, my technical editor, for their help, guidance, and careful editing, and especially for not letting me get away with anything. I have a deep respect for the editing process now that I have experienced it. It is hard, tedious work, which, when done correctly, goes unnoticed by the reader. Special thanks also to Ben Ryan, my acquisitions editor, for seeing my potential and having faith that I could do the job and to Paula Gorelick, Alton Lawson, Karen Lenburg, Patricia Masserman, Joel Panchot, Julia Stasio, and Bill Teel for their fantastic editorial and production work.
Lastly, I give special thanks to my wife, Marie, and my children, Philippe and MichŤle, who have had to endure my being attached to a computer for so many months. I could not have done this project without their support. I plan to spend the next few weeks trying to remember what we used to do when I had spare time on my hands.