Content Model / Interaction Contexts
TODO: List interaction contexts. Each interaction context is a
"place" 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.
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.
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 HTML
prototyping example demonstrated in class.
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.
Interaction Context --Abstract UI Components |
Purpose | Contents / Constraints / Behavior |
---|---|---|
Login dialog | Verify that the current user is actually the person that they claim to be. | |
--Prompt | Tell the user that this dialog is to log in. | "Please log in". |
--Message area | Give the user some feedback about the login process. | Initially blank. Changes to "Checking username and password" when the user presses "Login". Changes to "Invalid username or password, please try again", if login fails. |
--Username | Identify the user account that the current user is trying to access. | 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. |
--Password | Verify that the current user knows a secret password that only the true user of that user account should know. | 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. |
--Login | Allow the user to indicate that they have completed entry of their username and password. | "Login" Only enabled when Username != "". If the username or password is incorrect, delay a few seconds, and then clear all fields. |
--Lost Password | Allow the current user to start a process of generating a new password for a given username. | "Forgot your password? Click here." Only enabled when Username != "". |
PAGE-NAME | PURPOSE | |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
PAGE-NAME | PURPOSE | |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
MAIN-WINDOW-NAME | PURPOSE | |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
DIALOG-NAME | PURPOSE | |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
DIALOG-NAME | PURPOSE | |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |
--ABSTRACT-COMPONENT-NAME | PURPOSE | CONTENTS |