MMI-forelesninger Overordnet bilde av mennesker (aktører), oppgaver, informasjon og systemer (verktøy) Oppgave- og Dialogmodellering Mål vise sammenheng mellom IS og UI-design oversikt over UI-modellering synliggjøre nytten av modeller Uke 12 Mandag: Introduksjon Oppgave- og Dialogmodellering Artikkel Torsdag: Artikkel forts. Tentativ tidsplan Uke 13 Mandag: Modellering av AMS-case Torsdag: Case forts. IFIP-case Uke 14 Mandag: IFIP-case forts. use information and tools to perform actions The world is complex Differentiation and fragmentation Boundaries are difficult and interesting Sociology, Psychology Semantic data modelling Functional analysis concepts, vocabulary BPR CSCW Systems engineering Workflow Task-based UI design coordination, cooperation usability integration, tailoring requirements vs. design constructivity, compositionality
Klassifisering av (design)representasjoner Perspektiver (problem vs. solution) Granularitet (relativ) Formalisering formalisering perspektiv Bruk av (design)representasjoner Prosess innebærer ulike bevegelser i representasjonsrommet Representasjonsform tilpasses bruksbehov og deltagere formalisering perspektiv? granularitet granularitet UI-modellering: historie Høynivå-programmering programmeringsverktøy, GUI-toolkits og rammeverk User Interface Management Systems (UIMS) egne konsepter, programmeringsverktøy/-omgivelse, kjøretidssystem UI-modellering deklarative modeller generering av ferdig grensesnitt Oppgave(modell)basert brukergrensesnittdesign modellering av oppgaver trinnvis forfining av modeller til kjørbart system editering og analyse vs. generering UI modelling - perspectives Task models How are tasks actually performed? What is the user supposed to be able to do? Dialog model What functional (abstract) UI elements do we need? How are they composed? Look & feel model How are objects and actions visualized and laid out? What are the interaction details SE and UI model relations Dataflow vs. tasks Process/ dataflow/ workflow What is done? Task order deliver shelves STM/ Petri Nets Concepts/ objects/ data How is it performed? How is information represented? Dialog Presentation book/loan DB receive put back book pile
Workflow vs. task modeling Oppgaveanalyse returned from travel A1 Write travel report DETAIL S A1.1 A1.2 Write REPORT Provide report details User App Secretary FINAL RE POR T A1.3 Sign dataflows OBJECTIONS report Manager U SER S A PP UPP FINAL RE PORT Actors Simple Software Software Role Person product Composite Software Suite Roles Group suite product Abstract Concrete Abstract Concrete A1.1 Write report Adm. User App Make initial report Add details Handle objections Request Receive Fill in Submit Receive React to details details details report objections Secretary Secretary Manager Manager Kjært navn har mange betydninger trekke ut og representere brukeroppgaver forutsi problemer og evaluere mot brukbarhet og funksjonelle krav forutsi ytelse og måle kompleksitet måle læring og overføring av erfaringer Utgangspunkt i ergonomi, psykologi og SU Oppgave: målrettet handling på mange nivåer prosess, aktivitet oppgave aksjon, operasjon Oppgaveanalyse forts. Begrepsavklaring: Goal/mål = tilstand som brukeren ønsker å oppnå Task/oppgave = set av handling som oppfattes som nødvendig for å nå et mål, gitt et sett av hjelpemidler Action/aksjon = atomisk handling uten problemløsning eller kontrollstruktur GOMS - Goals, Operations, Methods, Selection Oppgavestruktur hierarkisk dekomposisjon sekvensiering og valg plan 0: 1-2, deretter 2, 3, 4; 6 iht.krav; 5 hvert 15 min, etter større endringer, før utskrift og avslutning; 7når ferdig HTA 0brukeWP 1starte 2tekst 3 formattere 4 redigere 5lagre 6 printe 7 avslutte plan 3: iht. krav taste hente paste plan 3: iht. krav tegn avsnitt dokument dekomponeres Overordnet dekomponering Detaljeringsnivå og granularitet Lovlig utførelser Kognitive prosesser Bruk av telefon... alternativer Ringe ut Summetone Finne nr. nr flyt Ta imot veksling Bruke telefon overlappende sekvens nr? betinget nr? Samtale Lagre nr. Taste nr. Notere Huske Task modelling Often combines functions and concepts Two major formalisms: processes, dataflow and function networks hierarchical decomposition with sequence constraints Used both for understanding current work modes and practice specifying how work should be done Task modelling is work design! Easier to do in parallel with dialog and look & feel design
TaskMODL example TaskMODL features 1 Read email Email Mailboxes User client 1.1 Get new email 1.2 Manage email messages In messages message task structure Manage message Read Transfer message message Mailbox {} In Out conceptual model A mailbox contains messages User performs Read email using Email client The current set of mailboxes provides the task context Get new email uses In mailbox and provides Manage email with a set of messages Manage email implies acting on each individual message in the input set A message is transferred after it is Hierarchical task structure of super- and subtasks Resources are preconditions for performing tasks: actor hierarchy model users, both abstract and concrete information modelled in CML from IDI references to dialog elements provide design support Explicit sequence constraints Flows: Control flow = sequence constraint Data flow = control flow + resource binding Actors Sequence relations Types Typical structure Group Actor composite/ simple Person 2 Person 1 Role A Role B Abstract Concrete Role C Role D Composite Role constraints for the super-/subtask part-of relation Aggregation Order Sequence Choice cardinality provides additional constrains a b c d a b c d a, b, c a, b, d c, a, b d, a, b c or d can in addition occur in between a and b The choice relation: Task hierarchy conditional tasks, i.e. an explicit deterministic condition method selection, i.e. the subtasks goals are equivalent and the choice will depend on e.g. resource constraints choice of goal, i.e. the subtasks goals differ and the choice will depending on context generalisation/specialization, i.e. abstract and possibly incomplete tasks are defined 1.1 Make new 1 Use Eudora 1.2 Reply to Author 1.3 Forward Provide Headers Recipient Subject Author Body
nr? Oppgavemodellering og design... Oppgavemodellen hjelper utvikleren å: få oversikt over alt brukeren ønsker å gjøre beskrive oppgavestrukturen identifisere sammenheng mellom oppgaver og informasjon Design omfatter bl.a.: identifisere egnede metaforer og interaksjonsstiler knytte oppgaver til interaksjonsform å konstruere et helt brukergrensesnitt fra tilgjengelige deler å evaluere design opp mot brukere og oppgaver...oppgavemodellering og design Oppgavemodellen beskriver: hvordan aktiviteter henger sammen hierarkisk begrensninger på sekvens informasjonsflyt generelle og spesifikke egenskaper ved oppgaver Design omfatter bl.a.: å identifisere nødvendige dialogelementer å aktivere disse på passende tidspunkt å velge egnede dialogelementer Merk at metaforer og interaksjonsstilen også legger sterke føringer på hvilke oppgaver som er meningsfylt!...bruk av telefon Bruke telefon Oppgave og dialog: konseptuell design Hva betyr dette for design? Ringe ut Ta imot Samtale shop Summetone nr? Lagre nr. look around fill caddie decide caddie content Finne nr. nr Taste nr. Notere Huske finne og taste inn nr. utføres alltid når en ringer ut summetone avbryter inntasting lagring av nr. er aktuelt under hele samtalen, ikke bare initielt designvalg muliggjør vurdering av ergonomi Recipe Goods Look around Recipe Caddie Fill caddie Decide caddie content Sent order Window allocation: Physical design Presentation model hierarchy Mapping from abstract to concrete interactors Look and feel of interaction elements Layout of interactors in windows Life cycle, visibility and activation Name: Address: OK message list single message Usually informal
Analytisk metode Gjennomgå oppgavemodell fokusere tenkt system mot relevant og realistiske oppgaver identifisere rollen brukergrensesnitt/system har ift. oppgaveutførelse Konstruere dialogmodell bryte ned oppgaveutførelsen i dialogtrinn spesifisere nødvendig informasjon for bruker og system, mao. output til brukeren og input til system identifisere system -funksjoner og operasjoner detaljere dialogspesifikasjon Look & feel oversette dialogelementer til native grensesnittelementer