200 likes | 270 Views
Structural Usability. Jeremy, Harold & Paul. Formal Methods in HCI. A Negative View… Ad hoc Untested Incomplete Intractable Irrelevant. Formal Methods in HCI. A Positive View… Build general theories … & test them Forget completeness Abstract, tractable & automated Engage with design
E N D
Structural Usability Jeremy, Harold & Paul
Formal Methods in HCI A Negative View… • Ad hoc • Untested • Incomplete • Intractable • Irrelevant
Formal Methods in HCI A Positive View… • Build general theories • … & test them • Forget completeness • Abstract, tractable & automated • Engage with design ‘Structural usability’
Sentence Mode Char Mode Hash key: Short, Pause or Long
Sentence Mode Char Mode Hash key: Short, Pause or Long Word Mode
A Structural Analysis • Construct matrix algebra • LHash.LHash = NoChange (91%) • Automatic • ‘Long Hash’: letters <-> numbers • Except in T9 mode • middle of word (ABC to abc) • start of sentence (abc to Abc)
Our Plan Characterise structural usability: • Simple algebraic descriptions • Properties of state graphs • Qualify & test hypotheses • Practical techniques
UCLIC Paul + Jeremy Mode analysis Graph analysis Automation Swansea Harold + PDRF UI Library User studies Design support PhD student The Grant What We Wrote
Ongoing Work • What mode am I in? • Mode indicators • Formal models • Informal analysis • Can we formalise?
Ongoing Work • Editing in MAUI • Visualisation
Summary A research programme: • Structural usability • Everyone welcome! • Contribute to UI Library A grant application: • Develop & test our theories • Relevance for designers • Automation and support (MAUI++)
Example: CD player • 22 state, 4 action model • 7 play modes • via PMode button • Result: PMode7 = NoChange (95%) • Identifies problem state
Results: Stop^3 = Stop^2 Wait = Wait^2 Stop.Wait = Stop Play = Play.Wait Mode.Wait = Wait.Mode Mode^7 = Id (95%) Further work: Stop < to(s) to(s).Mode^n = to(s) to(s).Wait = to(standby) Play < to(p) to(p).Mode^n = to(p) to(p).Wait = to(p) CD Player
Example • MAUI generates XML • Add SVG fragments for background + signs • Transform to SVG simulation: