`
`EICROSOET
`/INDowS
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Cover
`
`
`
`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
`Hewlett Packard Company
`was developed for Microsoft
`by Colorado Memory Systems Inc
`Backup
`division of Hewlett Packard Company Hyperlerminal
`Press Microsoft
`of Lotus Development
`Corporation Microsoft Microsoft
`trademarks
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page ii
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page iii
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page iv
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page v
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page vi
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page vii
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page viii
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page ix
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page x
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page xi
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page xii
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page xiii
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page xiv
`
`
`
`Introduction
`
`Welcome to The Windows
`
`Interface Guidelines for Software Design
`
`to designing software that
`runs with the
`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
`the objects in the interface
`behind
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page xvii
`
`
`
`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
`
`design principles and process
`fundamental
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page xviii
`
`
`
`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
`there are many different
`types of develupment
`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
`changing
`importantly
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page xix
`
`
`
`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
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page xx
`
`
`
`CHAPTER
`
`Menus Controls
`and Toolbars
`
`Microsoft Windows provides
`number of interactive
`components
`that make it easy to provide interfaces
`to carry out commands and
`These components also provide
`specify values
`consistent structure
`and set of interface
`conventions
`This chapter describes the interac
`and how to use them
`
`of menus controls
`
`and toolbars
`
`tive elements
`
`Menus
`
`Menus list commands available to the user By making commands
`on
`visible menus
`leverage user recognition rather than depending
`of command names and syntax
`
`user recollection
`
`There are several
`types of menus including
`drop-down menus pop
`up menus and cascading menus The following
`these
`sections cover
`in more detail
`menus
`
`The Menu Bar and Drop-down Menus
`
`menu bar one of the most common forms of menu interface
`
`is
`
`special area displayed across the top of
`directly
`menu bar includes
`
`window
`
`title bar as shown in Figure 7.1
`tries called menu titles Each menu title provides access to
`drop
`down menu composed
`of menu items or choices
`of
`collection
`
`set of en
`
`below the
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page 167
`
`
`
`Chapter
`
`Menus Controls and Tolbars
`
`Figure
`
`7.27
`
`progress indicator
`
`Because
`
`noninteractive
`
`information
`
`progress indicator only displays information
`it is typically
`to add static text or other
`However it may be usefnl
`to help communicate the purpose
`of the progress
`indicator If yon do include text place it ontside of the progress
`
`indicator control
`
`Use the control
`
`as
`
`feedback
`
`cesses as
`
`supplement
`
`to changing
`
`for long operations or background pro
`The control provides
`
`the pointer
`
`more visual
`
`feedback
`
`to the user about
`
`You can also use the control
`
`to reflect
`
`the progress of the process
`back
`
`the progression of
`
`For more
`
`information
`
`about
`
`boxes
`see Chapter
`message
`Secondary Windows
`about
`
`information
`
`status
`
`bars see
`
`For more
`
`ground process
`
`activities
`
`leaving the pointers
`image to reflect
`When determining whether
`to use
`foreground
`indicator in message box or status bar consider how modal
`eration or process
`the progress indicator represents
`
`progress
`the op
`
`interactivity
`
`the section Toolbars
`
`and Status
`
`for
`
`Bars later
`
`in this chapter
`
`Tooltip Controls
`
`tooltip is
`
`the basic functionality of
`tooltip control provdes
`tooltip
`small pop-up window that
`includes descriptive text dis
`played when the user moves
`as shown
`the pointer over
`Figure 7.28 The tooltip appears after
`matically removed when the user clicks
`pointer off the control
`
`control
`
`in
`
`short time-out
`
`and is auto
`
`the control or moves
`
`the
`
`For more
`
`information
`
`about
`
`the use of tooltips
`ter 12 User Assistance
`
`see Chap
`
`For more
`
`information
`
`about
`
`in toolbars see
`
`the use of tooltips
`the section Tool
`
`bars
`
`and Status Bars later
`
`in this
`
`chapter
`
`Figure 718
`
`tooltip control
`
`The system displays
`pointer but automatically
`offscreen However
`
`tooltip control at the lower
`
`right of the
`
`adjusts the tooltip to avoid displaying it
`
`centered
`
`under
`
`the control
`
`be displayed
`for text boxes the tooltip should
`it identifies The control supports an op
`
`tion to support
`
`this behavior
`
`168
`
`The Windows Interface Guide ines for Software Design
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page 168
`
`
`
`User Assistance
`
`in
`
`selection
`
`Its content
`
`explanatory
`
`CHAPTER
`
`and
`
`display of
`
`require explicit user
`
`of contextual
`
`procedural
`But user assistance
`
`Online user assistance is an important part of
`prodncts design
`can be supported
`variety of ways from automatic
`to commands that
`information
`based
`on context
`can be composed
`information
`
`or tutorial
`reference
`be simple efficient
`in the interface This chapter
`obtain it without becoming lost
`to create common
`description of the system support
`provides
`online forms of user assistance support and guidelines for implemen
`tation For more information
`about authoring Help files
`see
`included in the Microsoft Win32 Software
`Development Kit SDK
`
`should
`
`always
`
`and relevant so that
`
`user can
`
`the documentation
`
`Contextual User Assistance
`
`contextual
`
`form of user assistance provides information
`
`particular object and its context
`It answers questions such
`use it This section covers
`is this and Why would
`basic ways
`to support contextual user assistance in your application
`
`some of the
`
`about
`as What
`
`Context-Sensitive Help
`
`The Whats This command supports
`information
`including controls in
`about any object on the screen
`property sheets and dialog boxes This form of contextual user
`
`user obtaining contextual
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page 342
`
`
`
`As an option you can provide context-sensitive Help information
`file types by registering Whats This command for
`your supported
`the type as shown in Figure 12.5 This allows the user to choose
`the
`Whats This command from the file icons pop-up menu to get
`type When defining this
`information
`about
`an icon representing that
`include the type name and
`brief description of
`using the previously
`described
`
`for
`
`User Assistance
`
`Chapter
`
`12
`
`For more
`
`information
`
`about
`
`registering commands
`
`for file
`
`types
`
`and
`
`about
`
`type
`
`names
`
`see
`
`10
`
`Integrating
`
`with
`
`the
`
`Chapter
`System
`
`Help information
`
`its function
`
`guidelines
`
`Microsoft WordPad
`
`document
`
`You can open
`
`this document
`
`to view or
`
`edit_it._j
`
`Figure
`
`12.5 Context-sensitive
`
`Help information
`
`for an icon
`
`Tooltips
`
`Another form of contextual user assistance are tooltips Tooltips are
`control when the
`small pop-up windows that display the name of
`label The most common use of tooltips
`control has no text
`toolbar buttons that have graphic labels
`as shown in Figure 12.6 but
`they can be used
`for any control
`
`is for
`
`FitPIEIiit
`
`æI1F
`
`Id
`
`S.iev cI iiik
`
`Ii
`
`ii
`
`i.III__I 5fiiij
`
`Cctriterjls of PuLilic 1Dl
`
`11111
`
`Tooltip
`
`Figure
`
`12.6
`
`tooltip for
`
`toolbar
`
`button
`
`Display
`
`the button for
`
`until
`
`the pointer or pointing device remains
`tooltip after
`short period of time The tooltip remains
`the button or moves off of the control
`the user presses
`another
`time-out
`If the user moves
`the pointer directly
`to another
`tooltip ignore the time-out and display the new
`control supporting
`tooltip immediately replacing the former one
`
`over
`
`displayed
`
`or after
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`343
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page 343
`
`
`
`Chapter
`
`12 User Assistance
`
`provides support
`
`If you use the standard
`
`toolbar control
`
`the system automatically
`for tootips It also includes
`tooltip control
`that can
`If you create your own tooltip controls
`be used
`in other contexts
`make them consistent with the system-supplied
`controls
`
`For more
`
`information
`
`about
`
`toolbars
`
`see Chapter
`
`and loolbars
`
`and tooltip controls
`Menus Controls
`
`Status Bar Messages
`
`You can also use
`
`status
`
`However
`
`status bar
`
`elsewhere
`
`in the
`
`bar to provide contextual user assistance
`the users choice of displaying
`if you support
`avoid using it for displaying information
`or access to functions that
`to basic operation and not provided
`are essential
`interface
`In addition
`because
`the status bars location
`applications
`may not be near
`the user area of activity the user may not always
`notice
`As
`bar message
`result
`it is best to consider
`status
`bar messages as
`form of user asci stance
`
`status
`
`secondary
`
`or supplemental
`
`information
`
`In addition to displaying state
`about
`the context of the
`in the window you can display descriptive messages about
`activity
`menu and toolbar buttons
`as shown
`in Figure 12.7 Like tooltips the
`window
`typically must be active to support
`these messages When
`the user moves
`the pointer over
`toolbar button or presses
`the mouse
`button on menu or button display
`short message
`the describing
`command
`use of the associated
`
`344
`
`The Windows Interface Guide ines fnr Software Design
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Page 344
`
`
`
`fliIll ftQi ti1 1i1I.
`
`Here are the N4icrosoftL
`
`visuaHy
`
`and functionally
`
`consistent user
`
`interfaces for applications that
`
`operating
`
`for all
`
`release of Windows
`
`regardess of
`
`guidelines for creating well-designed
`run on the Microsoft Windows
`system TE WOOW NTERFAc LLiS SOFTWABE DED is an essential handbook
`programmers and designers workng with the latost
`tools used
`
`experience
`
`level or development
`
`interface design and design methodologies
`This bock covers the basic principles
`user
`and specifies flow data-ceitereo concepts such as objects and pioperties can
`information on mouse keyboard ano pen
`design It nciuoes oetailed
`and on how to use the common interface
`
`elements suopied by the system This book also
`
`be applied
`
`interaction
`
`to interface
`
`includes
`
`nfcrmation
`
`about
`
`special
`
`considerations
`
`such as network
`
`computing internationai
`
`users and users with disabilities
`
`TQppcs fficS
`
`General
`
`selection viewng
`input techniquesnavigation
`anc direct manipulation methods
`including both command
`
`edting and ceadon
`such
`drag and drop
`
`and secondary types and their components including property
`Windowsprimary
`and pop-up windows
`dialog boxes message boxes palette windows
`
`sheets
`
`Ivlenus controlc and roolbarstypes
`Microsoft OLEhow to support
`design interfaces for OLE embedded and linked
`end otheviorms
`vsual editing
`
`objects
`
`of activation
`
`and tneir components
`
`an.d when to use them
`
`User assistancehow to use contextual
`
`forms of help including
`
`tooltips and wizards
`
`with the sy.stem-----cesigning
`Integration
`and operates consistently with Windows
`
`your software so tnat its interface fnnctons
`
`Visual designeffective
`
`use of color
`
`layout
`
`fonts and graphics
`
`If you are developing
`
`or are considering
`
`WDOWS TEFt JOFJWFS FOB OWE E5 is
`
`oevelooing appicauons for Microsoft Windows
`
`key resource
`
`Opei sting Systems
`
`Windo
`
`vs/Pi
`
`ogi amming
`
`ISBN 1556156790
`HHI
`
`90000
`
`Dfl
`91 781556156793
`
`U.S.
`
`U.K
`
`canada
`
`$22S3
`27.49
`
`$39.95
`
`Rsnss
`
`dl
`
`Meta Platforms, Inc.
`Meta Platforms, Inc. v. Angel Technologies Group LLC
`IPR2023-00057
`Exhibit 1044 - Back Cover
`
`