Chapter 6 : Interactive systems design
Human-computer interface
Page 1/6
Petre Dimo 2008
Basic concepts ●
●
The design of interactive systems cannot be reduced to the design of functional modules and interfaces : one should also consider the impact on the users –
Define the goals
–
Analyse the tasks (identify the problem space)
–
Identify and understand the users
–
Consider constraints
The design process : Needs specification
Task analysis
Design
Implement and deploy
Prototype
Human-computer interface
Page 2/6
Petre Dimo 2008
Basic concepts Needs specification : Interviews, videotaping, ethnography – what exists, what is wanted Task analysis : scenario building Design : use rules, principles and guidelines Prototyping : design of dialogs, iterate, evaluate and review Implement and deploy : use detailed specifications to write the final code, write documentation and help system
Needs specification
Task analysis
Design
Implement and deploy
Prototype
Human-computer interface
Page 3/6
Petre Dimo 2008
Interactive applications development ●
The triangle User(s) : who is (are) he (they) ?
Customer : what is he paying for ?
Developer : effort estimation, tools
The user is not the customer and is sometimes (WEB) totally unknown The customer identifies « a market », but does not understand the user(s) real needs The developer generally under-evaluates the development effort and cost
Human-computer interface
Page 4/6
Petre Dimo 2008
User(s) : who is (are) he (they) ? ●
Age
●
Experience
●
The case of generic software : user panel
●
Users are not like you !
●
Design approach : –
Imagine yourself
–
Interviews
–
Observe, listening is not enough...
–
Participatory design
–
Elaborate and test scenarios
Human-computer interface
Page 5/6
Petre Dimo 2008
Navigation design ●
Local structure –
Interaction involves goal-seeking behaviour in a partially known environment
–
The important thing is that the user can, at each step, asses whether he is getting closer to his goal : ●
Know where he is (list the covered steps : A > B > C > D)
●
Know what he can do (explanatory labels and icons)
●
Know what will happen (dynamic message)
●
Know what was already done (feedback)
Human-computer interface
Page 6/6
Petre Dimo 2008
Global structure and hierarchical organization The global structure is the way the screens, pages, or device states link to one another
Messages Add a user System
Management
Information and help
Delete a user
Example : a messaging system The hierarchical structure may reflect the menu system Deep hierarchies are difficult to understand, broad ones difficult to navigate. Different structuring possibly optimize search (ex : list of towns – alphabetical vs regional) Human-computer interface
Page 7/6
Petre Dimo 2008
General application model – dialog ●
●
Information vs. interactive systems –
Cross links between module hierarchy
–
Dialogue frames – patterns with blanks for different cases
–
Scenarios – show one path
Use of network diagrams –
Shows what leads to what
–
Shows what happens when
–
Sows branches and loops
–
Are task oriented
Main screen
Remove user
Example : user registration and remove
Add user
Human-computer interface
confirm
Page 8/6
Petre Dimo 2008
Application structure ●
Hierarchical structure is the easiest to understand
●
The understanding difficulties depend on the hierarchy depth.
●
The optimum depth is less than 7 levels
●
At each level the number of options should not exceed 7
●
The interface must be designed for : –
Clear evidence of possible actions
–
Clear evidence about the expected results of an action
–
Permanent information about the current state
–
Keep and show a history of the executed actions
–
Providing means to restore previous states after an error ●
The user must be able to change his choice
●
Possibility to recover after data input or manipulation errors
●
Information and recovering procedures after system or application errors
Human-computer interface
Page 9/6
Petre Dimo 2008
Example : design of a dialog screen (1) General rules ●
Group informations referring to a common object –
Example : a commercial order
Customer : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Cust code : xxxxxxxxxxxxxxxxxxx Customer data : (Address, telephone number, email) Order no. xxxxxxxxxxxxxxxxxxxxxxxxxx Date of order : xx/xx/xxxx Item name ............... ............... ...............
Quant. Unitary price. Amount .... ........ .......... .... ........ .......... .... ........ ..........
Order total
...........
VAT .... .... ....
....
Total ......... ......... .........
.........
The item sequence, alignment spaces and tables are important Human-computer interface
Page 10/6
Petre Dimo 2008
Example : design of a dialogue screen (2) General rules ●
Help user to decide –
Adapt symbols to the cultural environment (ex : dots / commas in decimal numbers)
–
Suggest what is legal and what is not
–
Ease recognition of input fields ●
Optional fields
●
Mandatory fields
–
Choose a convenient character font
–
Colour usage
–
Movement usage
–
3D image usage
–
Do not overload screen
Human-computer interface
Page 11/6
Petre Dimo 2008
Application life cycle Preliminary specifications Architecture
Detailed specifications Implementation and module testing Integration and system tests
Verification vs. validation Deploy and maintenance Human-computer interface
Page 12/6
Petre Dimo 2008
Software development cycle Preliminary specifications
Architecture
Detailed specifications Implementation and module testing
50% of the development time is spent for interactive interface implementation Human-computer interface
Integration and system tests Deploy and maintenance Page 13/6
Petre Dimo 2008
Design strategies for interactive applications (1) ●
User oriented design –
The user is participating to both the functional specification and to the implementation and deployment phases. One must specify deployment aspects within the application specifications.
–
IBM and DEC called this approach « usability engineering ». ●
●
The specifications must comprise those application aspects which will be evaluated to measure usability The usability measure is evaluated through the answers to a check list of questions. Example of list concerning a generic task : Time needed to terminate the task Fraction of the task terminated in a given time Number of user errors Time lost to recover from errors Number of misinterpretation of error messages Number of undo manipulations .....etc.....
Human-computer interface
Page 14/6
Petre Dimo 2008
Design strategies for interactive applications (2)
●
Usability lists drawbacks –
The tests must be made in the presence of the users
–
Use of prototypes can be misleading, since the real process can be different
–
The usability list can be OK but this does not mean that the application is usable, since some situations and events could have been omitted...
Human-computer interface
Page 15/6
Petre Dimo 2008
Iterative design and prototyping ●
●
●
●
The needs of an interactive application can't be totally specified at the beginning of the life cycle The iterative conception allows for redesign of parts of the application in order to better make it fit the reality To allow iteration, one use prototypes –
Disposable prototypes
–
Incremental prototype
–
Evolutionary prototype
Prototyping tools –
Scripts (like film scripts)
–
Partial functionality simulation
–
High level programming support (HyperCard, PythonCard...)
Human-computer interface
Page 16/6
Petre Dimo 2008
PythonCard
Probably the most compelling feature of PythonCard is its separation of presentation and application logic. The presentation features of your application are defined in resource files (which are just dictionaries actually) and the application logic is in a separate Python file. Removing the necessity for lots of code to describe your application's windows, widgets and associated control items means that the application module is usually quite short. It also means that the developer can concentrate on their application logic. PythonCard takes care of everything else.
Human-computer interface
Page 17/6
Petre Dimo 2008
Warnings about iterative design ●
The decision taken in early stages of the cycle can be wrong and very difficult to correct once the product is in it's final development phase and even worse if it has been delivered. Iterations are normally used to address this problems but it is possible that the test protocole does not specify the situation which leads to user problems and ambiguous interpretations. –
Example : a digital watch designed to show 4 figures - 2 for the hours between 00 and 12 and 2 for minutes between 00 and 59. If the electronic device supporting the display can also record numbers superior to the limits (ex. 14/76), the user can by error set a wrong time without realizing it.
In this example a usability test of the watch would signal difficulties in setting the right time that the designer could interpret as a difficulty to access and use the time setting buttons...
Human-computer interface
Page 18/6
Petre Dimo 2008
Product maintainability and evolution
●
Functional documentation
●
Test reports after meeting with users
●
Decision recording and description of the reasons being invoked to take decisions.
Human-computer interface
Page 19/6
Petre Dimo 2008