Files
ReadySetGit/Design-UI.md
T
William Sandner c3c2b49856 initial import
2018-08-14 14:48:17 +02:00

19 KiB

<html> <head> </head> <script src="https://www.w3schools.com/lib/w3data.js"></script> Overview Project Plan Workflows Current <!-- Markdown content here --> <h1><a href="design.html">Design</a> &gt; User Interface</h1> <hr> <h5>Project:</h5> <p dir="auto">::PROJECTNAME</p> <h5>Internal Release Number:</h5> <p dir="auto">::X.Y.Z</p> <h5>Related Documents:</h5> <ul dir="auto"> <li>::LINKS TO RELEVANT STANDARDS</li> <li>::LINKS TO OTHER DOCUMENTS</li> </ul> <hr> <h3>Overview</h3> <p dir="auto"><em>TODO: Answer the questions below to help you design the user interface features of your system. Some ecomponents.htmlxample text is provided. Add or delete text as needed.</em></p> <h4>What are the most important facts that a developer should know about the user interface of this system?</h4> <p dir="auto">::PARAGRAPH OR BULLETS</p> <h4>What are the ranked goals for the user interface of this system?</h4> <ol dir="auto"> <li>::<a href="glossary-std.html#understandability_and_learnability">Understandability and learnability</a></li> <li>::<a href="glossary-std.html#task_support_and_efficiency">Task support and efficiency</a></li> <li>::<a href="glossary-std.html#safety">Safety</a></li> <li>::<a href="glossary-std.html#consistency_and_familiarity">Consistency and familiarity</a></li> </ol> <h3>Metaphors, Exemplars, and Standards</h3> <p dir="auto"> </p> <h4>What is the central metaphor of this UI design?</h4> <p dir="auto">::PARAGRAPH</p> <h4>What existing systems have user interfaces similar to the UI you want to build? What specific aspects are similar?</h4> <ul dir="auto"> <li>::<a href="<a href="http://www.amazon.com" data-markdown-generated-content="">http://www.amazon.com</a>">amazon.com</a>: Our e-commerce site will have stores and departments, and search like this site.</li> <li>::<a href="<a href="http://www.microsoft.com/office/using/default.asp" data-markdown-generated-content="">http://www.microsoft.com/office/using/default.asp</a>">Microsoft Office</a>: We will use configurable toolbars the same way Office 2000 does.</li> <li>::<a href="LINK-TO-SYSTEM">EXISTING-UI</a>: DESCRIPTION</li> </ul> <h4>What UI design standards, guidelines, and styles are you following?</h4> <ul dir="auto"> <li>::<a href="hcomponents.htmlttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/welcome.asp">Microsoft UI guidelines</a></li> <li>::<a href="<a href="http://java.sun.com/products/jlf/ed1/guidelines.html" data-markdown-generated-content="">http://java.sun.com/products/jlf/ed1/guidelines.html</a>">Java UI guidelines</a></li> <li>::<a href="<a href="http://developer.apple.com/techpubs/macosx/Essentials/AquaHIGuidelines/AHIGHIGs/index.html" data-markdown-generated-content="">http://developer.apple.com/techpubs/macosx/Essentials/AquaHIGuidelines/AHIGHIGs/index.html</a>">Mac UI guidelines</a></li> <li>::<a href="<a href="http://www.w3.org/TR/WCAG10/" data-markdown-generated-content="">http://www.w3.org/TR/WCAG10/</a>">W3C Accessibility guidelines</a></li> </ul> <h3>Task Models</h3> <p dir="auto"> </p> <h4>What types of users will use this system?</h4> <p dir="auto">::See the <a href="user-needs">user needs document</a>.</p> <h4>What types of tasks will those users perform?</h4> <p dir="auto">::See the <a href="use-case-suite">use case suite</a>.</p> <h3>Content Model / Interaction Contexts</h3> <p dir="auto"><em>TODO: List interaction contexts. Each interaction context is a &quot;place&quot; where users see information and where they select commands or options. In a graphical user interface, a interaction context will eventually be implemented as a window or dialog box. In other applications, an interaction context may be implemented as, e.g., a web page, a voice menu prompt, or a physical control panel.</em></p> <p dir="auto"><em>TIP: Each interaction context is an exclusive mode: the user can only use one interaction context at a time. All the components within one context are visible and usable at the same time. E.g., if a window has three tabs, that is three interaction contexts because only one tab can be used at a time.</em></p> <p dir="auto"><em>TODO: For each interaction context, list the abstract components within that context. Each component is a piece of information, or a user interface affordance. In a GUI, each abstract component will eventually become a widget, but the choice of specific widgets happens later. Choice of abstract components corresponds to step 2 in the <a href="<a href="http://www.ics.uci.edu/~jrobbins/htmlproto/index.html" data-markdown-generated-content="">http://www.ics.uci.edu/~jrobbins/htmlproto/index.html</a>">HTML prototyping example</a> demonstrated in class.</em></p> <p dir="auto"><em>TIP: Most high frequency use cases should be carried out in only one interaction contexts. A use case that requires three interaction contexts could be hard to use. However, interaction contexts with too many components can also be hard to use.</em></p> <table> <thead> <tr> <th>Interaction Context --Abstract UI Components</th> <th>Purpose</th> <th>Contents / Constraints / Behavior</th> </tr> </thead> <tbody> <tr> <td>::<a href="LINK-TO-MOCKUP">Login dialog</a></td> <td>::Verify that the current user is actually the person that they claim to be.</td> <td></td> </tr> <tr> <td>::--Prompt</td> <td>::Tell the user that this dialog is to log in.</td> <td>::&quot;Please log in&quot;.</td> </tr> <tr> <td>::--Message area</td> <td>::Give the user some feedback about the login process.</td> <td>::Initially blank. Changes to &quot;Checking username and password&quot; when the user presses &quot;Login&quot;. Changes to &quot;Invalid username or password, please try again&quot;, if login fails.</td> </tr> <tr> <td>::--Username</td> <td>::Identify the user account that the current user is trying to access.</td> <td>::The name of the user account. Regex: [-_a-z0-9]{1-16}. The application should not do anything that would help users guess usernames. E.g., this should not be a combo-box with recent users listed, and it should not offer auto-complete.</td> </tr> <tr> <td>::--Password</td> <td>::Verify that the current user knows a secret password that only the true user of that user account should know.</td> <td>::The password of 4-16 characters. Do not display the password on the screen. The application should not do anything that would help users guess passwords.</td> </tr> <tr> <td>::--Login</td> <td>::Allow the user to indicate that they have completed entry of their username and password.</td> <td>::&quot;Login&quot; Only enabled when Username != &quot;&quot;. If the username or password is incorrect, delay a few seconds, and then clear all fields.</td> </tr> <tr> <td>::--Lost Password</td> <td>::Allow the current user to start a process of generating a new password for a given username.</td> <td>::&quot;Forgot your password? Click here.&quot; Only enabled when Username != &quot;&quot;.</td> </tr> <tr> <td>::<a href="LINK-TO-MOCKUP">PAGE-NAME</a></td> <td>::PURPOSE</td> <td></td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::<a href="LINK-TO-MOCKUP">PAGE-NAME</a></td> <td>::PURPOSE</td> <td></td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::<a href="LINK-TO-MOCKUP">MAIN-WINDOW-NAME</a></td> <td>::PURPOSE</td> <td></td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::<a href="LINK-TO-MOCKUP">DIALOG-NAME</a></td> <td>::PURPOSE</td> <td></td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::<a href="LINK-TO-MOCKUP">DIALOG-NAME</a></td> <td>::PURPOSE</td> <td></td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> <tr> <td>::--ABSTRACT-COMPONENT-NAME</td> <td>::PURPOSE</td> <td>::CONTENTS</td> </tr> </tbody> </table> <h3>Technical Constraints / Operational Context</h3> <p dir="auto"> </p> <h4>What are your assumptions about the output devices?</h4> <p dir="auto">::We assume that the user has a 17-inch or larger screen with 1024x768 pixels that can display thousands of colors (16 bit or more). We assume basic audio that can play simple sound files.</p> <p dir="auto">::We make very few assumptions about the user's screen or web browser, other than the assumption that they can view page somehow. We will not use any audio features.</p> <p dir="auto">::This &quot;pay-at-the-pump&quot; system has a 320x200 16-color display and can beep.</p> <h4>What are your assumptions about the input devices that you will use?</h4> <p dir="auto">::We assume only that the user has a standard keyboard and mouse.</p> <p dir="auto">::This &quot;pay-at-the-pump&quot; system has digits 0-9, &quot;OK&quot;, &quot;Cancel&quot;, and four menu buttons along the right-hand edge of the screen.</p> <h4>What are your assumptions about the amount of time users will spend on tasks?</h4> <ul dir="auto"> <li>::Use cases UC-02 and UC-04 are expected to take a few minutes each.</li> <li>::Use case UC-00 should take less than 5 seconds each. All other use cases should take less than 30 seconds each.</li> </ul> <h4>What windowing systems, UI libraries, or other UI technologies will you use?</h4> <p dir="auto">::Standard Java Swing with no extra libraries.</p> <p dir="auto">::Simple HTML and CSS with simple GIF images.</p> <h3>User Interface Checklist</h3> <p dir="auto"><em>TODO: Answer the following questions to help evaluate the design. You may add or remove questions to fit your project.</em></p> <h4>Understandability and learnability</h4> <p dir="auto"> </p> <h5>Are there any labels of icons that are likely to be misunderstood?</h5> <p dir="auto">::1-3 SENTENCES</p> <h5>Is the user's current place and state clearly visible? E.g., wizard step 2 of 5, or edit-mode vs. play-mode.</h5> <p dir="auto">::1-3 SENTENCES</p> <h5>Are advanced options clearly separated from the most commonly used options?</h5> <p dir="auto">::1-3 SENTENCES</p> <h5>Are there no invisible options or commands? E.g., hold down the control key when opening a dialog box to see advanced options.</h5> <p dir="auto">::1-3 SENTENCES</p> <h4>Task Support and Efficiency</h4> <p dir="auto"> </p> <h5>Which use cases force the user to work through more than two interaction contexts?</h5> <p dir="auto">::1-3 SENTENCES</p> <h5>Which use cases force the user to perform slow or difficult UI steps? E.g., entering a long code number like an ISBN. E.g., long mouse-drag operations.</h5> <p dir="auto">::1-3 SENTENCES</p> <h4>Safety</h4> <p dir="auto"> </p> <h5>Are there any dangerous or irreversible actions that are done with only one step?</h5> <p dir="auto">::1-3 SENTENCES</p> <h4>Consistency and Familiarity</h4> <p dir="auto"> </p> <h5>Do UI elements in your system work the same as they do in the existing example systems you identified?</h5> <p dir="auto">::1-3 SENTENCES</p> <h5>Do all elements in your system that appear the same, actually function the same?</h5> <p dir="auto">::1-3 SENTENCES</p> <h5>Do all elements in your system that appear the same, actually function the same?</h5> <p dir="auto">::1-3 SENTENCES</p> <h5>Are all elements share consistent visual characteristics such as font and color scheme, unless there is a reason for them to differ?</h5> <p dir="auto">::1-3 SENTENCES</p> <p dir="auto">#####Are labels used consistently throughout the system? E.g., not &quot;forward/back&quot; in some contexts and &quot;next/prev&quot; in others.</p> <p dir="auto">::1-3 SENTENCES</p> <!-- End Markdown content -->
<script> w3IncludeHTML(); </script> <script src="http://strapdownjs.com/v/0.2/strapdown.js"></script> <script src="assets/strapdown/strapdown-topbar.min.js"></script> <script src="assets/logo.js"></script> <script src="assets/themeswitcher.js"></script> </html>