`
`EICROSOET
`/INDowS
`
`Petitioner Exhibit 1031, Page 1
`
`
`
`Petitioner Exhibit 1031, Page 2
`
`Petitioner Exhibit 1031, Page 2
`
`
`
`i..u
`
`
`
`PetitionerExhibit 1031, Pageeo
`
`Micrae 4
`
`Petitioner Exhibit 1031, Page 3
`
`
`
`PUBLISHED
`
`BY
`
`Microsoft
`
`Press
`
`Division
`One Microsoft
`
`of Microsoft
`
`Corporation
`
`Way
`Redmond Washington 98052
`
`6399
`
`Copyright
`
`1995 by Microsoft
`
`Corporation
`
`All rights reserved No part of the contents
`in any form or by any means withoot
`
`of this book may be reprodoced or transmitted
`the written permission
`of the publisher
`
`Library of Congress Cataloging-in
`The Windows
`
`interface guidelines
`cm
`index
`ISBN 1-55615 679-0
`
`Includes
`
`Publication
`
`Data
`
`for software
`
`design
`
`Microsoft Windows Computer file
`
`systems
`
`Computer
`
`software--Development
`
`User interfaces Computer
`Microsoft
`
`Corporation
`QA76 76.W56W553
`dc2O
`
`005.265-
`
`t995
`
`Printed
`
`and bound
`
`in the United States of America
`
`QEQE
`
`95 330
`
`CIP
`
`Distributed
`
`to the book
`
`trade in Canada by Macmillan
`
`of Canada
`
`division of Canada Publishing
`
`Corporation
`
`CIP catalogue
`
`record
`
`for this book
`
`is available
`
`from the British Library
`
`Microsoft
`
`Press books
`
`are available
`
`through
`
`booksellers
`
`and distributors worldwide
`
`Por further
`
`information
`
`about
`
`international
`
`editions
`
`Corporation
`
`office Or
`
`contact Microsoft
`
`Press International
`
`contact yoor local Microsoft
`fax 206 936 7329
`
`directly at
`
`Information
`
`in this document
`
`is subject
`
`notice
`
`and does
`
`not
`
`represent
`
`commitment
`
`on the
`
`to change without
`names and data used
`part of Microsoft
`in examples herein
`Corporation Companies
`noted No part of
`this document may be reproduced or transmitted
`in any form or by any means
`or mechanical
`the express written permission
`for any purpose without
`of Microsoft
`
`otherwise
`
`electronic
`
`are fictitious
`
`unless
`
`Corporation
`
`Microsoft
`
`property
`
`may have patents or pending patent applications
`in this document
`subject matter
`
`rights covering
`
`trademarks
`copyrights
`The furnishing of this document
`
`or other
`
`intellectual
`
`does
`
`not give you
`
`any license
`
`to these patents
`
`trademarks
`
`copyrights
`
`or other
`
`intellectual
`
`property
`
`rights
`
`Adobe Postscript
`
`and 11FF are trademarks
`
`trademarks
`
`Inc Frutiger
`
`is
`
`registered
`
`are registered
`
`trademarks
`
`of
`
`registered
`
`is
`
`trademark of Hilgraeve Inc
`
`and Lotus
`
`are
`
`Press logo
`
`of Adobe Systems Inc Apple and TrueType
`Inc Borland and Quattro
`of Apple Compoter
`of Borland International
`trademarks
`are registered
`trademark of Eltra Corporation HP and LaserJet
`are registered
`was developed for Microsoft
`by Colorado Memory Systems Inc
`Hewlett Packard Company
`Backup
`division of Hewlett Packard Company Hyperlerminal
`Press Microsoft
`trademarks
`of Lotus Development
`Corporation Microsoft Microsoft
`MS MS DOS PowerPoint
`logo and XENIX are registered
`Visual Basic Windows Windows
`trademarks
`and Windows NT is
`Corporation Anal Bodoni Swing and Times New Roman are
`trademark of Microsoft
`PLC Paintbrush
`trademark of Wordstar Atlanta
`
`registered
`
`trademarks
`
`of The Monotype
`
`Corporation
`
`is
`
`Technology Center
`
`Petitioner Exhibit 1031, Page 4
`
`
`
`Contents
`
`Introduction
`
`Whats New
`How to Use This Guide
`How to Apply the Guidelines
`Conventions Used in This Guide
`
`PART
`
`FUNDAMENTALS
`
`OF DESIGNING
`
`USER INTERACTION
`
`at
`
`flesigft erirtqiplos
`
`and Metiwliptoqy
`
`User-Centered
`
`Design Principles
`
`User in Control
`
`Directness
`
`Consistency
`
`Forgiveness
`Feedback
`
`Aesthetics
`
`Simplicity
`
`Design Methodology
`Balanced Design Team
`The Design Cycle
`Usability Assessment
`
`in the Design Process
`
`Understanding
`
`Users
`
`Design Tradeoffs
`
`xv
`
`xvi
`
`xvii
`
`xviii
`
`12
`
`15
`
`16
`
`Petitioner Exhibit 1031, Page 5
`
`
`
`Contents
`
`Chapter
`
`Baslu Concepts
`
`IF
`
`Data-Centered
`
`Design
`
`Objects
`
`as Metaphor
`
`Object Characteristics
`
`Relationships
`
`Composition
`
`Persistence
`
`Putting Theory into Practice
`
`The Desktop
`
`The Taskbar
`
`The Start Button
`
`Window Buttons
`
`The Status Area
`
`Icons
`
`Windows
`
`Mouse Input
`Mouse Pointers
`Mouse Actions
`
`Keyboard Input
`
`Text Keys
`
`Access Keys
`Mode Keys
`
`Shortcut Keys
`
`Pen Input
`
`Pen Pointers
`
`Pen Gestures
`
`Pen Recognition
`
`Ink Input
`
`Targeting
`
`iv
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`17
`
`18
`
`18
`
`19
`
`19
`
`20
`
`20
`
`23
`
`24
`
`25
`
`26
`
`26
`
`26
`
`28
`
`29
`
`29
`
`31
`
`32
`
`33
`
`33
`
`34
`
`35
`
`37
`
`39
`
`40
`
`41
`
`41
`
`42
`
`Petitioner Exhibit 1031, Page 6
`
`
`
`Contents
`
`Navigation
`Mouse and Pen Navigation
`
`Keyboard Navigation
`
`Selection
`
`Selection Feedback
`
`Scope of Selection
`
`Hierarchical Selection
`
`Mouse Selection
`
`Pen Selection
`
`Keyboard Selection
`
`Selection Shortcuts
`
`Common Conventions
`
`for Supporting
`
`Operations
`
`Operations
`
`for Multiple Selection
`
`Default Operations
`
`and Shortcut Techniques
`
`View Operations
`
`Editing Operations
`
`Editing Text
`
`Handles
`
`Transactions
`
`Properties
`
`Pen-Specific Editing Techniques
`
`Transfer Operations
`Command Method
`
`Direct Manipulation Method
`
`Transfer Feedback
`
`Specialized Transfer Commands
`
`Shortcut Keys for Transfer Operations
`
`Creation Operations
`Copy Command
`New Command
`
`Insert Command
`
`Using Controls
`
`Using Templates
`
`Operations
`
`on Linked Objects
`
`43
`
`44
`
`44
`
`45
`
`46
`
`47
`
`47
`
`48
`
`55
`
`56
`
`57
`
`58
`
`58
`
`59
`
`59
`
`62
`
`62
`
`63
`
`64
`
`65
`
`66
`
`72
`
`74
`
`77
`
`83
`
`86
`
`87
`
`87
`
`87
`
`88
`
`88
`
`88
`
`88
`
`89
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`Petitioner Exhibit 1031, Page 7
`
`
`
`Contents
`
`PART II WINDOWS INTERFACE
`
`COMPONENTS
`
`Common Types of Windows
`
`Primary Window Components
`Window Frames
`
`Title Bars
`
`Title Bar Icons
`
`Title Text
`
`Title Bar Buttons
`
`Basic Window Operations
`and Deactivating Windows
`Activating
`Opening and Closing Windows
`Moving Windows
`Resizing Windows
`Scrolling Windows
`Splitting Windows
`
`Menus Controls
`
`and Toolbars
`
`Menus
`The Menu Bar and Drop-down Menus
`Cnmmon Drop-dnwn Menus
`Pop up Menus
`Pop up Menu Interaction
`Common Pop-up Menus
`Cascading Menus
`Menu Titles
`Menu Items
`
`Controls
`
`Buttons
`
`List Boxes
`
`Text Fields
`
`Other General Controls
`
`Pen-Specific Controls
`
`Toolbars
`
`and Status Bars
`
`Interaction with Controls in Toolbars
`
`and Status Bars
`
`Support
`
`for User Options
`and Status Bar Controls
`Toolbar
`Common Toolbar Buttons
`
`vi
`
`The Windows
`
`Interface
`
`Guidelines
`
`fnr Software
`
`Design
`
`95
`
`95
`
`96
`
`96
`
`97
`
`98
`
`101
`
`103
`
`103
`
`104
`
`106
`
`106
`
`109
`
`116
`
`121
`
`121
`
`124
`
`126
`
`128
`
`129
`
`133
`
`134
`
`135
`
`140
`
`141
`
`149
`
`157
`
`163
`
`169
`
`172
`
`173
`
`174
`
`175
`
`176
`
`Petitioner Exhibit 1031, Page 8
`
`
`
`Contents
`
`Chapter
`
`Secondary Windows
`
`Characteristics
`
`of Secondary Windows
`Appearance and Behavior
`Window Placement
`
`Modeless vs Modal
`
`Default Buttons
`in Secondary Windows
`
`Navigation
`
`Validation
`
`of Input
`
`Property Sheets and Inspectors
`
`Property Sheet
`Property Sheet Commands
`
`Interface
`
`Closing
`
`Property Sheet
`
`Property Inspectors
`
`Properties of Multiple Selection
`
`Properties of Heterogeneous Selection
`
`Properties of Grouped Items
`
`Dialog Boxes
`Dialog Box Commands
`
`Layout
`Common Dialog Box Interfaces
`
`Palette Windows
`
`Message Boxes
`Title Bar Text
`Message Box Types
`Command Buttons
`Message Box Text
`
`Popup Windows
`
`in Message Boxes
`
`179
`
`179
`
`183
`
`183
`
`184
`
`185
`
`187
`
`187
`
`188
`
`190
`
`191
`
`191
`
`192
`
`193
`
`193
`
`193
`
`194
`
`194
`
`195
`
`207
`
`209
`
`209
`
`209
`
`212
`
`213
`
`215
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`vii
`
`Petitioner Exhibit 1031, Page 9
`
`
`
`Contents
`
`PART Ill DESIGN SPECIFICATIONS
`
`AND GUIDELINES
`
`Single Document Window Interface
`
`Interface
`Multiple Document
`Opening and Closing MDI Windows
`and Sizing \4D1 Windows
`Between MDI Child Windows
`
`Moving
`
`Switching
`
`MDI Alternatives
`
`Workspaces
`
`Workbooks
`
`Projects
`
`Selecting Window Model
`or Task
`
`Presentation of Object
`
`Display Layout
`
`Data-Centered
`
`Design
`Combination of Alternatives
`
`The Registry
`
`Registering Application
`
`State Information
`
`Registering Application
`
`Path Information
`
`Registering File Extensions
`
`Supporting
`
`Creation
`
`Registering Icons
`Registering Commands
`
`Enabling
`Printing
`Registering OLE
`
`Registering Shell Extensions
`the Quick View Command
`Sound Events
`
`Supporting
`
`Registering
`
`Installation
`
`Copying Files
`Providing Access to Your Application
`Designing Your Installation
`
`Program
`
`viii
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`219
`
`220
`
`222
`
`223
`
`225
`
`225
`
`227
`
`229
`
`231
`
`233
`
`233
`
`234
`
`235
`
`235
`
`237
`
`238
`
`241
`
`242
`
`249
`
`250
`
`251
`
`253
`
`253
`
`254
`
`256
`
`257
`
`257
`
`257
`
`260
`
`260
`
`Petitioner Exhibit 1031, Page 10
`
`
`
`Installing
`
`Fonts
`
`Installing
`
`Your Application
`Uninstalling Your Application
`
`on Network
`
`Supporting
`
`AutoPlay
`
`System Naming Conventions
`
`Taskbar
`
`Integration
`Taskbar Window Buttons
`
`Status Notification
`
`Message Notification
`
`Application Desktop Toolbars
`
`Full-Screen Display
`
`Recycle Bin Integration
`
`Control Panel
`
`Integration
`
`Adding Control Panel Objects
`Adding to the Passwords Object
`
`Plug
`
`and Play Support
`
`System Settings and Notification
`
`Modeless Interaction
`
`The Interaction Model
`
`Creating OLE Embedded and OLE Linked Objects
`
`Transferring Objects
`Inserting New Objects
`
`Displaying Objects
`
`Selecting Objects
`Accessing Commands for Selected Objects
`
`Activating Objects
`
`Outside-in Activation
`
`Inside-out Activation
`
`Container Control of Activation
`
`OLE Visual Editing of OLE Embedded Objects
`The Active Hatched Border
`
`Contents
`
`262
`
`262
`
`263
`
`264
`
`266
`
`268
`
`268
`
`269
`
`270
`
`271
`
`272
`
`273
`
`273
`
`273
`
`273
`
`275
`
`275
`
`276
`
`277
`
`279
`
`279
`
`285
`
`290
`
`293
`
`295
`
`297
`
`297
`
`297
`
`298
`
`300
`
`304
`
`The Windows Interface
`
`Goidelines
`
`for Software Design
`
`ix
`
`Petitioner Exhibit 1031, Page 11
`
`
`
`Contents
`
`Menu Integration
`
`Keyboard Interface Integration
`
`and Palette Windows
`Toolbars Frame Adornments
`Opening OLE Embedded Objects
`Editing an OLE Linked Object
`Automatic and Manual Updating
`and Links
`
`Operations
`
`Types and Links
`Link Management
`Accessing Properties of OLE Objects
`The Properties Command
`The Links Command
`
`Converting
`
`Types
`
`Using Handles
`
`Undo Operations
`
`for Active and Open Objects
`
`Displaying Messages
`
`Messages
`ObjectApplication
`OLE Linked Object Messages
`Status Line Messages
`
`Contextual User Assistance
`
`Context
`
`Sensitive Help
`
`Guidelines
`
`for Writing Context-Sensitive
`
`Help
`
`Tooltips
`Status Bar Messages
`for Writing Status Bar Messages
`Guidelines
`The Help Command Button
`
`Task-Oriented
`Help
`Task Topic Windows
`for Writing Task Help Topics
`
`Guidelines
`
`Shortcut Buttons
`
`305
`
`308
`
`310
`
`313
`
`316
`
`318
`
`319
`
`320
`
`320
`
`321
`
`321
`
`324
`
`326
`
`329
`
`330
`
`332
`
`332
`
`334
`
`336
`
`339
`
`339
`
`342
`
`343
`
`344
`
`345
`
`346
`
`347
`
`347
`
`348
`
`349
`
`The Windows Interface
`
`Guidelines
`
`for Software
`
`Design
`
`Petitioner Exhibit 1031, Page 12
`
`
`
`Contents
`
`Reference Help
`The Reference
`
`Help Window
`
`Guidelines
`
`for Writing Reference Help
`
`The Help Topics Browser
`The Help Topics
`
`Tabs
`
`Wizards
`
`Guidelines
`
`Guidelines
`
`for Designing Wizards
`for Wizard Pages
`
`for Writing Text
`
`Visual Communication
`
`Composition and Organization
`
`Color
`
`Fonts
`
`Dimensionality
`
`Design of Visual Elements
`Basic Border Styles
`Window Border Style
`Button Border Styles
`Field Border Style
`Status Field Border Style
`Grouping Border Style
`Visual States tor Controls
`
`Layout
`
`Font and Size
`
`Capitalization
`Grouping and Spacing
`
`Alignment
`
`Placement
`
`Design of Graphic
`
`Images
`
`Icon Design
`
`Pointer Design
`
`Selection Appearance
`
`Highlighting
`
`Handles
`
`TransferAppearance
`
`Open Appearance
`
`Animation
`
`350
`
`351
`
`352
`
`354
`
`354
`
`358
`
`359
`
`363
`
`365
`
`366
`
`362
`
`370
`
`371
`
`372
`
`372
`
`373
`
`374
`
`375
`
`376
`
`376
`
`377
`
`384
`
`384
`
`387
`
`388
`
`389
`
`389
`
`390
`
`391
`
`394
`
`395
`
`396
`
`397
`
`398
`
`399
`
`400
`
`The Windows Interface Guidehnes for Software
`
`Design
`
`xi
`
`Petitioner Exhibit 1031, Page 13
`
`
`
`Contents
`
`Sound
`
`Accessibility
`
`Types of Disabilities
`Types of Accessibility Aids
`with Screen Review Utilities
`
`Compatibility
`
`The Users Point of Focus
`
`Timing and Navigational
`
`Interfaces
`
`Color
`Keyboard and Mouse Interface
`and Support
`
`Documentation
`
`Packaging
`
`Usability Testing
`
`Internationalization
`
`Text
`
`Graphics
`
`Keyboards
`
`Character
`
`Sets
`
`Formats
`
`Layout
`
`References
`
`to Unsupported Features
`
`Network Computing
`
`Leverage System Support
`
`Client-Server Applications
`
`Shared Data Files
`
`Record Processing
`
`Telephony
`
`Microsoft Exchange
`
`Coexisting with Other
`Adding Menu Items and Toolbar
`
`Information
`
`Services
`
`Buttons
`
`Supporting
`
`Connections
`
`Installing
`
`Information
`
`Services
`
`xli
`
`The Windows Interface
`
`Guidelines
`
`for Software
`
`Design
`
`401
`
`403
`
`404
`
`406
`
`408
`
`411
`
`411
`
`412
`
`413
`
`414
`
`414
`
`415
`
`416
`
`417
`
`418
`
`419
`
`419
`
`420
`
`420
`
`421
`
`421
`
`421
`
`422
`
`422
`
`423
`
`424
`
`424
`
`424
`
`425
`
`425
`
`Petitioner Exhibit 1031, Page 14
`
`
`
`PART IV APPENDIXES
`
`Appendix
`
`Mouse
`
`Interface Summary
`
`Interaction Guidelines
`
`for Common
`Unmodified Mouse Actions
`
`Interaction Guidelines
`
`for Using the SHIFT Key
`to Modify Mouse Actions
`for Using the CTRL Key
`to Modify Mouse Actions
`
`Interaction Guidelines
`
`Appendix
`
`Keyboard Interface Summary
`
`Common Navigation
`Keys
`Common Shortcut Keys
`Windows Keys
`
`Accessibility Keys
`Access Key Assignments
`
`Appendix
`
`Guidelines Summary
`
`General Design
`
`Design Process
`Input and Interaction
`Windows
`
`Control Usage
`
`Integration
`
`User Assistance
`
`Visual Design
`
`Sound
`
`Accessibility
`
`International Users
`
`Network Users
`
`Contents
`
`429
`
`431
`
`435
`
`437
`
`438
`
`439
`
`440
`
`441
`
`443
`
`444
`
`444
`
`445
`
`446
`
`447
`
`448
`
`448
`
`449
`
`449
`
`450
`
`450
`
`The Windows Interface
`
`Guidelines
`
`for Software
`
`Design
`
`xiii
`
`Petitioner Exhibit 1031, Page 15
`
`
`
`Contents
`
`Microsoft Windows
`3.1
`Microsoft Windows NT 3.51
`
`International Word Lists
`
`Glossary
`
`Bibliography
`
`Index
`
`451
`
`453
`
`455
`
`511
`
`523
`
`527
`
`xiv
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`Petitioner Exhibit 1031, Page 16
`
`
`
`Petitioner Exhibit 1031, Page 17
`
`Petitioner Exhibit 1031, Page 17
`
`
`
`Petitioner Exhibit 1031, Page 18
`
`Petitioner Exhibit 1031, Page 18
`
`
`
`Introduction
`
`Welcome to The Windows
`
`Interface Guidelines for Software Design
`
`runs with the
`to designing software that
`an indispensable guide
`Microsoft Windows0 operating system The design of your
`interface more than anything else affects how
`softwares
`
`user
`
`experiences
`
`your product This guide promotes good interface
`design
`within and across Windows-
`and visual and functional
`
`consistency
`
`based applications
`
`Whats New
`
`that
`
`is from an
`
`In re
`one
`and designers may need to rethink the interface
`the basic components and the respective operations
`their software
`and properties that apply to them This is important because from
`users perspective
`applications have become
`
`sponse developers
`
`of
`
`less the primary
`
`focus
`
`and more the engines
`behind
`the objects in the interface
`now interact with data without having
`on their
`allowing them to better
`
`concentrate
`
`tasks
`
`Users can
`
`to think about applications
`
`When adapting
`
`you consider
`
`your existing Windows
`the following
`
`important
`
`based
`
`software make certain
`
`design
`
`aspects
`
`Title bar text and icons
`
`Property sheets
`
`Transfer model
`
`including
`
`drag and drop
`
`the direction set by Microsoft OLE the enhancements in
`Continuing
`the Windows user interface provide
`from the
`design evolution
`basic and graphical
`to the more object oriented
`to more data centered
`
`application-centered
`
`interface
`
`Petitioner Exhibit 1031, Page 19
`
`
`
`Introduction
`
`Pop-up menus
`
`New controls
`
`Integration with the system
`
`Help interface
`
`OLE embedding and OLE linking
`
`Visual design of windows controls
`
`and icons
`
`Window management
`
`Presentation of minimized windows
`
`These elements
`
`are covered
`
`in depth throughout
`
`this guide
`
`How to Use This Guide
`
`for those who are designing and developing
`This guide is intended
`Windows
`based
`software It may also be appropriate for
`those inter
`better undertanding of the Windows environment and the
`of the
`interface principles it supports The content
`
`human-computer
`
`ested in
`
`guide
`
`covers
`
`the following
`
`areas
`
`Basic
`
`fundamental
`design principles and process
`design phi
`about human behavior design methodol
`losophy assumptions
`embodied in the interface
`ogy and concepts
`
`Interface elements
`
`components in the interface as well
`
`descriptive information
`as when and how to use them
`
`about
`
`the various
`
`information
`about
`Design details
`and style when using the elements
`
`tive design
`
`specific
`
`the details of effec
`
`of the interface
`
`Additional
`
`information
`
`tion
`
`bibliography
`
`summary and quick
`comprehensive word list
`
`reference informa
`
`in numerous lan
`
`guages
`
`to assist
`
`in product
`
`localization and
`
`glossary
`
`xviii
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`Petitioner Exhibit 1031, Page 20
`
`
`
`This guide focuses
`
`ou the design and elements
`
`of an applications
`
`user interface Although an occasional
`
`technical
`
`reference is
`
`included
`
`this guide
`
`does not generally cover detailed information
`
`Introduction
`
`about
`technical
`implementation
`faces APIs because
`
`mentation
`
`or application programming
`types of develupment
`there are many different
`software for Windows
`The docu
`tools that you can use to develop
`included with the Microsoft Win32 Software Develop
`ment Kit SDK is one source of information
`specific APIs
`about
`
`inter
`
`How to Apply the Guidelines
`
`This guide promotes visual and functional
`consistency
`across the Windows operating system Although following
`
`within and
`
`these
`
`guidelines is encouraged you are free to adopt
`best suit your software However by following
`their skills and experience
`enable users to transfer
`
`the guidelines that
`
`these guidelines
`
`you
`from one task to
`
`the next and to learn new tasks easily In addition
`breaks down the lines between traditional
`
`data-centered
`
`design
`
`evolution toward
`
`appli
`
`cation domains making inconsistencies
`
`in the interface more obvi
`
`ous and distracting
`
`to users
`
`to the design guidelines does not guarantee
`Conversely adhering
`usability The guidelines are valuable tools but they must be com
`bined with other factors
`as part of an effecti\
`software design pro
`as application of design principles task analysis
`
`cess such
`
`prototyping
`
`and usability
`
`evaluation
`
`In general avoid
`
`adding
`
`that you do so in the
`You may extend
`these guidelines
`provided
`spirit of the principles on which they are based and maintain
`rca
`with the visual and behavioral
`sonable level of consistency
`aspects of
`the Windows interface
`new elements
`or
`them More
`
`behaviors
`
`unless the interface does not otherwise support
`for common ele
`
`avoid
`
`an existing behavior
`importantly
`changing
`user builds up expectations
`Inconsistencies
`not only confuse
`
`ments
`
`face
`
`unnecessary
`
`complexity
`
`about
`
`the workings of an inter
`
`the user
`
`they also add
`
`The Windows Interface
`
`Guidelines
`
`tor Software Design
`
`xix
`
`Petitioner Exhibit 1031, Page 21
`
`
`
`Introduction
`
`These guidelines supersede
`
`those issued for Windows
`
`version 3.1 and
`
`of applica
`to the development
`all previous releases arid are specific
`for Microsoft Windows Microsoft Windows NTTM
`tions designed
`Workstation and Mic cosoft Windows NT Server
`relationship between these guidelines and those provided
`
`There is no direct
`
`for other
`
`operating systems
`
`For more information
`
`developing
`
`applications
`
`about special considerations
`concerning
`for both Windows 95 and Windows NT
`
`operating system see Appendix
`of Windows
`
`Supporting Specific Versions
`
`Conventions Used in This Guide
`
`The following
`
`conventions
`
`are used
`
`throughout
`
`this guide
`
`Convention
`
`Indicates
`
`rI
`LJ
`
`SMALL
`
`CAPITAL
`
`LETTERS
`
`KEYKEY
`
`Italic text
`
`Bold text
`
`reference
`
`tn related tnpics
`
`in this guide
`
`or other books
`
`that provide more
`
`information about
`
`the topic
`
`Additional
`
`or special
`
`information about
`
`the topic
`
`Names of keys on the keybnard
`example SHIFT CTRL or ALT
`
`fnr
`
`for which the user
`Key combinations
`must press and hold down one key and
`
`another
`then press
`CTRLP or ALTF4
`
`for example
`
`New terms and variable
`such as parameters
`
`expressions
`
`Win32 API keywords
`
`and registry
`
`key
`
`entries
`
`Registry text
`
`Examples of registry entries
`
`Optional
`
`information
`
`xx
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`Petitioner Exhibit 1031, Page 22
`
`
`
`
`
`Petitioner Exhibit 1031, Page 23
`
`
`
`Petitioner Exhibit 1031, Page 24
`
`Petitioner Exhibit 1031, Page 24
`
`
`
`CHAPTER
`
`Design Principles and
`Methodology
`
`well-designed
`
`ment process
`
`user interface is built on principles and
`develop
`tasks This chapter sum
`that centers on users and their
`for Microsoft
`marizes the basic principles of the interface design
`Windows
`and methodologies
`includes techniques
`in an effective human computer
`
`It also
`
`employed
`
`interface design process
`
`User-Centered Design Principles
`
`Thc information
`
`in this section describcs the dcsign prineiplcs on
`which Windows
`are based You will
`and the guidelines in this book
`find these principles valuable when designing software for Windows
`
`User in Control
`
`An important principle of user interface design
`in control of the software rather than feeling controlled
`number of implications
`
`always
`
`feel
`
`by the software This principle has
`
`is that
`
`the user should
`
`The first implication
`
`is the operational
`
`assumption
`
`that
`
`the user mi
`
`to automate
`
`or
`
`tiates actions not
`
`active rather than reactive
`
`control
`
`the user plays an
`the computer or software
`role You can use techniques
`tasks but implement them in way that allows the user to chose
`the automation
`
`Petitioner Exhibit 1031, Page 25
`
`
`
`Chapter
`
`Design Principles
`
`and Methodology
`
`The second implication
`of their widely varying
`is that users because
`must be able to personalize aspects of the
`skills and preferences
`The system software provides user access to many of these
`interface
`for different
`aspects Your software should
`
`reflect
`
`user settings
`
`sys
`
`tem properties
`
`such
`
`as color
`
`fonts or other options
`
`The final
`
`and responsive
`
`be as interactive
`is that your software should
`implication
`as possible Avoid modes whenever possible
`
`mode
`
`is
`
`state
`
`that excludes
`interaction
`or otherwise limits the
`general
`user to specific interactions When
`mode is the only or the best
`
`design
`
`alternative
`
`for example for selecting
`particular tool
`make certain the mode is obvious visible the
`drawing program
`result of an explicit user choice and easy to cancel
`
`in
`
`For information
`
`trol see Chapter
`
`tion Techniques
`
`about applying the design principle of user in con
`Input Basics and Chapter
`General
`These chapters
`
`cover
`
`the basic forms of interaction
`
`Interac
`
`your software should
`
`support
`
`Directness
`
`Design your software so that users can directly manipulate
`representations of information Whether dragging
`location in
`document
`
`software
`
`to relo
`
`an object
`
`users should
`
`see
`
`cate it or navigating to
`how the aetiosss
`
`of information
`
`Users
`
`can recognize
`
`its syntax
`
`they take affect
`the objects oil the sereess Visibility
`and choices
`the users mental workload
`also reduce
`command easier than they can recall
`
`Familiar metaphors provide
`
`direct
`
`and intuitive interface to user
`
`their knowledge and experience
`tasks By allowing
`users to transfer
`metaphors make it easier to predict and leam the behaviors
`
`of
`
`software-based
`
`representations
`
`When using metaphors
`you need not limit
`computer-based
`to its real orld counterpart For example
`folder on the Windows
`
`mentation
`
`paper-based
`
`counterpart
`
`imple
`
`unlike its
`
`desktop
`
`can be
`
`used
`variety of objects such
`to organize
`other folders Similarly Windows
`sorted The purpose
`cognitive bridge the metaphor
`
`as printers calculators
`re
`
`be more easily
`
`folder can
`
`and
`
`in the interface is to provide
`of using metaphor
`is not an end in itself
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`Petitioner Exhibit 1031, Page 26
`
`
`
`Design Principles and Methodology
`
`Chapter
`
`Metaphors
`
`support user recognition rather than recollection
`
`Users
`
`familiar object more easily
`remember
`meaning associated with
`particular command
`than they remember
`the name of
`
`For information
`
`about applying the principle of directness and meta
`General
`and Chapter
`
`Interaction Techniques
`phor see Chapter
`13 Visual Design These chapters
`the use of
`cover
`respectively
`drag and drop and the use of
`directness in the interface inclnding
`metaphors when designing icons or other graphical elements
`
`Consistency
`
`allows users to transfer existing knowledge to new
`Consistency
`and focus more on tasks be
`tasks learn new things more quickly
`they need not spend time trying to remember
`
`cause
`
`the differences in
`
`interaction By providing
`interface familiar and predictable
`
`sense of stability
`
`consistency
`
`makes
`
`the
`
`Consistency
`is important
`ing names of commands
`visual presentation of information
`operational behavior To design consistency
`into software you must
`
`through
`
`all aspects of the interface
`
`includ
`
`and
`
`consider several aspects
`
`Consistency
`
`consistent
`
`within
`
`implementing
`
`immediately
`
`product Present common fnnctions nsing
`set of commands and interfaces For example avoid
`Copy command that
`carries out an
`dialog box that
`but
`in another presents
`operation in one situation
`destination As
`corollary to this ex
`user to type in
`requires
`ample use the same command to carry out functions that seem
`similar to the user
`
`Consistency
`
`high level of consistency
`
`within the operating environment By maintaining
`between the interaction
`and interface
`
`conventions
`
`provided
`
`by Windows
`
`users ability to apply interaction
`
`your software benefits from
`skills they have already learned
`
`Consistency
`
`with metaphors
`
`If
`
`particular
`
`behavior
`
`is more
`
`characteristic
`
`of
`
`different
`
`object
`
`than its metaphor
`
`implies the
`
`user may have difficulty
`with an object For example an incinerator
`ferent model
`
`learning to associate that behavior
`
`communicates
`
`dif
`
`than
`
`wastebasket
`
`for the recoverability of objects
`
`placed
`
`it
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`Petitioner Exhibit 1031, Page 27
`
`
`
`Chapter
`
`Design Principles and Methodology
`
`software
`
`Although applying the principle of consistency
`
`is the primary goal
`common
`focus on the elements
`of this guide the follcwing
`chapters
`Chapter Windows Chapter
`to all Windows-based
`Secondary Win
`Menus Controls
`and Chapter
`and Toolbars
`dows For informatinn
`about closely integrating
`your software with
`the Windows environment see Chapter
`10 Integrating
`with the
`11 Working with OLE Embedded and OLE
`System and Chapter
`Linked Objects
`
`Forgiveness
`
`Users like to explore an interface and often learn by trial and erron
`An effective interface allows for
`
`interactive discovery
`
`It provides
`
`and warns users about potential
`only appropriate sets of choices
`situations where they may damage
`the system or data or better
`makes actions reversible or recoverable
`
`Even within the best designed
`
`interface
`
`users can make mistakes
`
`These mistakes
`can
`be both physical accidentally
`wrong command or data and mental making
`wrong decision
`about which command or data to select An effective design
`in errors It also accommodates
`
`pointing
`
`to the
`
`avoids
`
`situations
`
`that are likely to result
`
`potential user errors and makes
`
`it easy for the user to recover
`
`Chapter
`
`and
`
`For information
`about applying the principle of forgiveness
`12 User Ass utance which provides information
`the use of contex
`supporting discoverability in the interface through
`reference forms of user assistance For infor
`tual
`task-oriented
`mation about designing for the widest
`Special Design Considerations
`
`see
`
`about
`
`range of users see Chapter
`
`14
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`Petitioner Exhibit 1031, Page 28
`
`
`
`Feedback
`
`Design Principles and Methndnlngy
`
`Chapter
`
`users actions Visual and sometimes
`Always provide feedback
`be presented with every user interaction to con
`to the users input and to com
`the software is responding
`that distinguish the nature of the action
`
`audio cues
`
`should
`
`firm that
`
`municate
`
`details
`
`for
`
`Effective feedback
`
`the users interaction
`
`is timely and is presented
`as close to the point of
`as possible Even when the computer
`
`is pro
`
`cessing
`
`regarding
`
`particular task provide the user with information
`and how to cancel
`
`the state of the process
`option Nothing is more disconcerting
`
`than
`
`is an
`that process
`dead screen that
`few seconds
`
`if that
`
`is
`
`unresponsive
`
`to input
`
`typical user will
`
`of an unresponsive
`
`interface
`
`tolerate
`
`only
`
`It
`
`is equally important
`
`that
`
`the type of feedback
`
`to the task Pointer
`
`changes
`priate
`municate simple information
`the display of message box
`
`or
`
`status
`
`more complex
`
`you use be appro
`can com
`bar message
`feedback may require
`
`For information
`
`feedback
`see Chapter
`Design Considerations
`
`about applying the principle of visual and audio
`13 Visual Design and Chapter
`14 Special
`
`Aesthetics
`
`The visual design
`
`is an important part of
`
`softwares
`
`interface
`
`Visual attributes
`
`provide valuable impressions
`
`and communicate
`
`important
`
`cues
`
`to the interaction behavior
`
`of particular objects At
`
`to remember
`
`the same time it is important
`that every
`that appears on the screen potentially competes for the users atten
`pleasant environment that clearly
`tion Provide
`contributes to the
`users understanding
`of the information
`graphics or
`presented
`visual designer may be invaluable with this aspect of the design
`
`visual element
`
`For information
`
`of your
`
`inter
`
`and guidelines related to the aesthetics
`13 Visual Design This chapter
`face see Chapter
`covers every
`to font use and window layout
`thing from individual element
`
`design
`
`The Windnws Interface
`
`Guidelines
`
`fur Snttware Design
`
`Petitioner Exhibit 1031, Page 29
`
`
`
`Chapter
`
`Design Principles and
`
`ethodology
`
`Simplicity
`
`An interface should
`
`be simple not simplistic
`easy to use It must also provide access to all
`functionality provided
`by an application Maximizing functionality and maintaining
`sim
`other in the interface An effective design
`plicity work against each
`balances
`these objectives
`
`easy to learn and
`
`One way to support simplicity is to reduce
`the presentation of infor
`mation to the minimum required to communicate
`For
`adequately
`for command names or messages
`avoid wordy descriptions
`your design making it difficult
`Another way to
`interface is to use natural mappings and
`
`example
`
`Irrelevant or verbose
`
`phrases
`
`clutter
`
`for users to easily extract essential
`
`information
`
`design
`
`simple but useful
`
`semantics The arrangement
`
`and presentation of elements
`
`affects
`
`their meaning and association
`
`complexity
`
`by using progressive
`
`You can also help users manage
`of
`disclosure Progressive disclosure involves
`careful organization
`it is shown only at the appropriate time By hid
`the amount of
`ing information
`to the user you reduce
`presented
`menu displays its
`to process For example
`clicking
`the number of menu
`choices the use of dialog boxes can reduce
`
`information
`
`so that
`
`information
`
`options
`
`Progressive disclosure does
`
`not imply using unconventional
`
`tech
`
`such
`as requiring modifier
`for revealing information
`key as
`niques
`the only way to access basic functions or forcing the user down
`This can make an inter
`of hierarchical
`interaction
`longer sequence
`face more complex and cumbersome
`
`For information
`about applying the principle of simplicity see Chap
`ter Menus Controls
`and Toolbars
`This chapter
`discusses pro
`and describes how and when to use the
`gressive disclosure in detail
`
`standard
`
`system supplied elements
`
`in your
`
`interface
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`Petitioner Exhibit 1031, Page 30
`
`
`
`Design Methodology
`
`Design Principles and Methodology
`
`Chapter
`
`Effective interface design
`
`is more than just
`
`attitude
`
`process
`
`following
`and design methodology
`user centered
`It requires
`involves early planning of the interface and continued
`the software development
`
`set of rules
`
`It also
`
`work through
`
`Balanced Design Team
`
`An important
`sition of the team that designs
`disciplines and skills
`including
`human factors
`and usability
`istics found in
`
`consideration
`
`is the compo
`in the design of
`product
`and builds it Always try to balance
`visual design writing
`
`development
`
`assessment Rarely are these character
`
`team of individuals
`so create
`single individual
`who specialize in these areas and who can contribute uniquely
`
`to the
`
`final design
`
`Ensure that
`
`the design
`
`team can effectively work and communicate
`
`them with
`them in close proximity or providing
`together Locating
`better commu
`common area to work out design
`nication and interaction
`
`details often fosters
`
`The Design Cycle
`
`An effective
`
`user-centered design
`
`process
`
`involves
`
`number of
`
`important phases designing
`The following
`
`testing and iterating
`sections describe these phases
`
`prototyping
`
`Design
`
`The initial work on
`
`softwares
`
`design
`
`can be the most critical
`
`be
`
`cause during this phase you decide the general shape of
`If the foundation work is flawed it is difficult
`
`your prod
`to correct
`
`uct
`
`afterwards
`
`features for
`
`involves not only defining the objectives and
`This part of the process
`who your users are and
`your product but understanding
`and goals This includes understanding
`tasks intentions
`
`factors
`
`their
`
`such
`
`as their background
`
`age gender expertise
`limitations and special needs their work environment
`
`experience
`
`physical
`
`level
`
`The Windows Interface
`
`Guidelines
`
`for Software
`
`Design
`
`Petitioner Exh