Software Tools: Human Computer Interaction
Software Tools: Human Computer Interaction
Software Tools: Human Computer Interaction
User-Interface Architects
Similar to Building Architects
UI Jobs (even domain specific!)
Ideal: Complete design before starting to build
Multiple designers AND engineers
Sit down and think about what needs to be done
Still design, even though it will change!
Standard GUIs have enabled 50% to 500%
productivity gains
Desktop Computer is losing its prominence
More mobile, more distributed
Software must support greater plasticity (ex.
resolution)
Display size, telephone access, web access, languages
Device-independent programming
Specification Methods
Menu-Selection Tree
Create menus graphically
Tools exist for:
Creation
Design
Pros:
Review
Consistency
Totality
Completeness
Redundancy (examples?)
Cons:
Menu trees often do not show all possible actions
(incomplete)
Sometimes menus are not a tree
Same thing for dialog-box trees
Transition Diagram
Most commonly used
Set of nodes and links
Many ways to display
Text
Link Frequency
State Diagram
Tools to create them (IBM Rational Suite)
Also doesnt scale well (spaghetti displays)
Replace nodes with screenprints
Pros:
Similar to Finite-State-Automata (plenty of
research in CS on that)
Can we reach every state?
Is there a way out?
Cons: Difficulty in evaluating
Usability
Visibility
Modularity
Synchronization
Statecharts