`
`corel Exhibit 2005
`Microsoft v. Corel
`IPR2016-01084
`
`Corel Exhibit 2005
`Microsoft v. Corel
`IPR2016-01084
`
`
`
`PUBLISHED BY
`
`Microsoft
`
`Press
`
`Division
`
`of Microsoft Corporation
`One Microsoft Way
`Redmond Washington 98052-6399
`
`Copyright
`
`1995 by Microsoft Corporation
`
`All
`
`rights
`
`No part of the contents of this book may be reproduced
`in any form or by any means without
`the written permission of the publisher
`
`reserved
`
`or transmitted
`
`Library of Congress Cataloging-in-Publication
`The Windows
`
`Data
`
`interface guidelines for software design
`cm
`
`Includes index
`
`ISBN 1-55615-679-0
`
`Microsoft Windows Computer
`
`file
`
`User
`
`interfaces
`
`Computer
`
`systems
`
`Computer
`
`software--Development
`
`Microsoft
`
`Corporation
`QA76 76.W56W553
`
`1995
`
`005.265--dc2O
`
`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 For further
`
`information
`
`about
`
`international
`
`editions
`
`contact
`
`contact Microsoft
`
`Press International
`
`directly
`
`at
`
`your local Microsoft Corporation office Or
`fax 206 936-7329
`
`Information
`
`in this document
`
`is subject
`
`to change without notice and does not represent
`and data used
`in examples herein are fictitious
`part of Microsoft Corporation
`Companies
`names
`otherwise noted No part of this document may be reproduced
`or transmitted in any form or by any means
`electronic or mechanical
`the express written permission of Microsoft Corporation
`for any purpose without
`
`commitment
`
`on the
`
`unless
`
`Microsoft may have patents or pending
`patent applications
`trademarks
`subject matter in this document The furnishing
`
`property rights
`
`covering
`
`copyrights
`
`or other
`
`intellectual
`
`of this document
`
`does not give you
`
`any license to these patents trademarks
`
`copyrights
`
`or other intellectual
`
`property rights
`
`Adobe PostScript
`
`and TIFF are trademarks
`
`of Adobe Systems Inc Apple and TrueType are registered
`
`trademarks
`
`of Apple Computer
`Inc Frutiger is
`
`Inc Borland
`of Borland
`and Quattro are registered trademarks
`International
`of Eltra Corporation HP and LaserJet are registered trademarks
`by Colorado Memory Systems Inc
`for Microsoft
`Backup was developed
`Inc 1-2
`
`registered trademark
`
`of
`
`Hewlett-Packard
`
`Company
`
`division of Hewlett-Packard
`
`Company HyperTerminal is
`
`trademark
`
`of Hilgraeve
`
`and Lotus
`
`are
`
`registered trademarks
`Press logo
`of Lotus Development Corporation Microsoft Microsoft Press Microsoft
`MS MS-DOS PowerPoint
`Visual Basic Windows Windows logo and XENIX are registered trademarks
`and Windows NT is
`of Microsoft Corporation Anal Bodoni Swing and Times New Roman are
`trademark
`of The Monotype Corporation PLC Paintbrush is
`of Wordstar Atlanta
`trademark
`
`registered trademarks
`
`Technology Center
`
`
`
`General
`
`Interaction Techniques
`
`Chapter
`
`On
`
`level with finer granularity you can use the following com
`mands for common handling transactions
`within
`
`file
`
`Command
`
`Function
`
`Repeat
`
`Duplicates
`
`the last/latest
`
`user transaction
`
`Undo
`
`Redo
`
`OK
`
`Apply
`
`Reverses
`
`the last or specified
`
`transaction
`
`Restores
`
`the most
`
`recent or specified
`
`undone
`
`transaction
`
`Commits any pending transactions
`window
`
`and removes the
`
`Commits any pending transactions
`the window
`
`but does not
`
`remove
`
`Cancel
`
`Discards
`
`any pending transactions
`
`and removes the
`
`window
`
`Following
`
`are the recommended
`
`commands for handling process
`
`transactions
`
`Command
`
`Function
`
`Pause
`
`Resume
`
`Suspends
`
`process
`
`Resnmes
`
`suspended process
`
`Stop
`
`Halts
`
`process
`
`Properties
`
`Defining
`
`nents are
`
`Commands
`
`and organizing the properties
`
`of an applications compo
`key part of evolving toward
`more data-centered design
`such as Options Info Summary Info and Format often
`
`describe features
`
`object or objects The Properties
`mand for accessing the properties
`this command display
`ties of the object
`
`chooses
`
`that can be redefined as properties
`of
`command is the common com
`of an object when the user
`secondary window with the proper
`
`particular
`
`Defining
`
`how to provide access to properties
`
`for visible or easily
`
`Although you can
`command
`
`Cancel
`
`use
`
`the
`
`to
`
`halt
`
`process
`
`Cancel
`
`implies that
`
`the
`
`state will be restored to what
`
`it was
`
`before the process
`
`was initiated
`
`For more information
`
`about
`
`property
`Secondary Windows
`
`sheets see Chapter
`
`identifiable
`
`objects
`
`such as
`
`selection
`
`of text cells or drawing
`objects
`to define how to
`is straightforward It may be more difficult
`such as paragraphs
`access properties of less tangible objects
`
`In
`
`The Windows
`
`Interface Guidelines
`
`for Software
`
`Design
`
`65
`
`
`
`General
`
`Interaction Techniques
`
`Chapter
`
`If the new object
`
`is automatically connected
`
`linked to the active
`
`selection
`
`for example table data and
`
`new object
`
`in addition to the selection
`
`graph you may insert
`and make the inserted
`
`the
`
`object
`
`the new selection
`
`objects
`
`to display an OLE em
`You also use context
`to determine whether
`bedded or OLE linked object as content view or picture of the
`internal data or as an icon For example you can decide
`to display based on what Paste operation the user
`what presentation
`an OLE link as an icon Simi
`selects Paste Shortcut
`implies pasting
`larly the Paste Special command includes options that allow the
`user to specify how the transferred
`
`object should be displayed
`
`If
`
`there is no user-supplied preference
`
`the destination
`
`application
`
`de
`
`you typically display the inserted
`fines the default For documents
`OLE object
`fit the con
`If icons better
`as in its content presentation
`text of your application make the default Paste operation display the
`transferred OLE object
`as an icon
`
`The execution of
`
`the Clipboard This allows data on the Clipboard
`
`Paste command should not affect
`the content of
`to be pasted mul
`
`tiple times although subsequent
`
`result
`
`Paste operations should always
`subsequent Cut or Copy
`
`in copies of the original However
`command
`
`replaces the last entry on the Clipboard
`
`Direct Manipulation Method
`
`The command method is useful when
`
`transfer operation requires
`
`the user to navigate between source and destination However
`and quick method In
`many transfers direct manipulation
`transfer the user selects and drags an object
`
`is
`
`natural
`
`for
`
`to
`
`direct manipulation
`
`the desired location but because
`
`this method requires motor skills
`
`that may be difficult
`for some users to master avoid using it as the
`exclusive transfer method The best
`
`the transfer
`
`support
`command method for basic operations and direct manipulation
`
`interfaces
`
`trans
`
`fer as
`
`shortcut technique
`
`When
`
`pen is being used as
`
`pointing device or when it drags an
`action handle it follows the same conventions
`
`as dragging with
`
`mouse button
`
`For pens with barrel buttons
`
`use the barreldrag
`
`action as the equivalent of dragging with mouse button
`
`There
`
`is
`
`no keyboard interface
`
`for direct manipulation
`
`transfers
`
`The Windows
`
`Interface Guidelines
`
`for Software Design
`
`77
`
`
`
`Menus Controls
`
`and Toolbars Chapter
`
`Access keys
`
`Figure 7.4 Access keys
`
`in menu bar
`
`Define unique access keys for each menu title Using the same ac
`cess key for more than one menu title may eliminate direct access to
`menu
`
`Menu Items
`
`Menu items are the individual choices that appear
`items can be text graphics
`or graphics and text
`such as icons
`the actions presented in the menu The
`represent
`for menu item provides the user with visual
`as shown in Figure 7.5
`nature of the effect
`
`in menu Menu
`
`cues about
`
`the
`
`combinations
`
`that
`
`format
`
`it represents
`
`Command
`
`Check Box
`
`iheek
`
`Box
`
`Option Buttr
`
`Option Button
`
`elault Rem
`
`Cascade
`
`tern
`
`Figure 7.5 Formats for different menu items
`
`Whenever
`
`menu contains
`
`separate those sets with
`
`set of related menu items you can
`grouping line known as
`separator
`line that spans the width of the menu
`standard separator is
`single
`Avoid using menu items themselves as group separators
`as shown in
`
`The
`
`Figure 7.6
`
`The Windows
`
`Interface Guidelines
`
`for Software
`
`Design
`
`135
`
`
`
`Chapter
`
`Menus Controls and Toolbars
`
`The width of the list box should be sufficient
`
`to display the average
`
`width of an entry in the list If that
`
`is not practical because of space
`
`or the variability of what
`
`the list might include
`
`consider
`
`one or more
`
`of the following options
`
`Make the list box wide enough to allow the entries in the list to be
`
`sufficiently
`
`distinguished
`
`Use an ellipsis .. in the middle or at
`to shorten them while preserving the important characteristics
`needed to distinguish them For example for long paths usually
`
`the end of long text entries
`
`the beginning and end of the path are the most critical
`use an ellipsis to shorten the entire name \Sample\.
`
`you can
`
`.\Example
`
`Include
`
`horizontal scroll bar However this option reduces
`
`some
`
`usability because adding the scroll bar reduces
`
`the number of
`
`entries the user can view at one
`
`time In addition if most entries
`
`in the list box do not need to be horizontally
`
`scrolled including
`
`horizontal scroll bar accommodates
`
`the infrequent case
`
`When
`
`the user clicks
`
`an item in
`
`list box it becomes selected Sup
`depends on the type of list box you use
`for multiple selection
`port
`List boxes also include scroll bars when the number of items in the
`
`list exceeds
`
`the visible area of the control
`
`Arrow keys also provide support
`box In addition list boxes include support
`using text keys When the user presses
`text key the list navigates
`and selects
`the matching item in the list scrolling the list if necessary
`
`for selection
`
`and scrolling
`
`list
`
`for keyboard selection
`
`to keep the users selection
`visible Subsequent
`key presses
`the matching process Some list boxes support sequential matches
`based on timing each
`key the control
`time the user presses
`in word if the user presses
`within the systems time-out setting If the time-out elapses the
`
`matches
`
`the next character
`
`the key
`
`continue
`
`control
`
`is reset
`
`to matching based on the first character Other
`box controls such as combo boxes and drop-down combo boxes do
`
`list
`
`sequential character matching based on the characters
`
`typed into the
`
`text box component
`controls may be preferable
`because
`they do not require the user to master
`
`of the control These
`
`However
`
`allow the user
`
`the timing sequence
`they do take up more space and potentially
`in the list box
`to type in entries that do not exist
`
`150
`
`The Windows
`
`Interface Guidelines
`
`for Software
`
`Design
`
`
`
`Ei Optionally, you can also sup-
`
`port a Reset command for
`canceling pending changes without
`closing the window.
`
`Chapter 8 Secondary Windows
`
`Property Sheet Comrnands
`Property sheets typically allow the user to change the values for
`a property and then apply those transactions. Include the follow-
`ing common command buttons for handling the application of
`property changes.
`
`Command (cid:9)
`
`Action
`
`OK (cid:9)
`
`Apply (cid:9)
`
`Cancel (cid:9)
`
`Applies all pending changes and closes the property sheet
`window.
`
`Applies all pending changes but leaves the property sheet
`window open.
`
`Discards any pending changes and closes the property sheet
`window. Does not cancel or undo changes that have already
`been applied.
`
`You can also include other command buttons in property sheets.
`However, the location of command buttons within the property sheet
`window is very important. If you place a button on a property page,
`apply the action associated with the button to that page. For com-
`mand buttons placed outside the page but still inside the window,
`apply the command to the entire window.
`
`For the common property sheet transaction buttons — OK, Cancel,
`and Apply — it is best to place the buttons outside the pages because
`users consider the pages to be just a simple grouping or navigation
`technique. This means that if the user makes a change on one page,
`the change is not applied when the user switches pages. However, if
`the user makes a change on the new page and then chooses the OK or
`Apply command buttons, both changes are applied — or, in the case
`of Cancel, discarded.
`
`If your design requires groups of properties to be applied on a page-
`by-page basis, then place OK, Cancel, and Apply command buttons
`on the property pages, always in the same location on each page.
`When the user switches pages, any property value changes for that
`page are applied, or you can prompt the user with a message box
`whether to apply or discard the changes.
`
`190 The Windows Interface Guidelines for Software Design
`
`
`
`Chapter 11 Working with OLE Embedded and OLE Linked Objects
`
`spreadsheet, however, would likely result in simply transferring the
`data in the cells. Similarly, the destination container in which the
`user drops the selection can also determine whether the dragging
`operation results in an OLE linked object.
`
`For nondefault OLE drag and drop, the container application dis(cid:173)
`plays a pop-up menu with appropriate transfer commands at the end
`of the drag. The choices may include multiple commands that trans(cid:173)
`fer the data in a different format or presentation. For example, as
`shown in Figure 11.5, a container application could offer the follow(cid:173)
`ing choices for creating links: Link Here, Link Short Type Name
`Here, and Create Shortcut Here, respectively resulting in a native
`data link, an OLE linked object displayed as content, and an OLE
`linked object displayed as an icon. The choices depend on what the
`container can support.
`
`... . . . . .
`
`l'~ll'J ......... .
`
`............... -........
`100.00
`:2~:00···:
`.. ~·-:ht~·"-"····~····:
`: ..... · ...... :
`:.... . '~~-··-"'··-
`. ..._
`-·
`~ Move Here
`...-----.....
`£opy Heie
`.Liik Here
`Liik Cel .!:!.ere
`Create ~hortw ... ere
`
`Figure 11 .5 Containers can offer different OLE link options
`
`The default appearance of a transferred object also depends on the
`destination container application. For most types of documents,
`make the default command one that results in the data or content
`presentation of the object (or in the case of an OLE linked object,
`a representation of the content), rather than as an icon. ff the user
`chooses Create Shortcut Here as the transfer operation, display the
`transferred object as an icon. If the object cannot be displayed as
`always
`for example, because it does not support OLE -
`content -
`display the object as an icon.
`
`284 The Windows Interface Guidelines for Software Design