Model-Based Design And Evaluation Of Interactive Applications

Transcription

Model-Based Design and Evaluationof Interactive ApplicationsFabio PaternòCNUCE-C.N.RPisa, ItalyHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsStructure of the TutorialnnnnnnnIntroduction to Model-based ApproachesState of art in Task ModelsConcurTaskTreesTask Models for Cooperative ApplicationsExerciseTask Models in User Interface DesignTask Models in Usability EvaluationHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Why Model-based approaches?aHighlight important informationaHelp to manage complexityaUseful to support methodsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsSignificant Models in HCIaTask modelsaCognitive architecturesaUser modelsaDomain ModelsaContext ModelsaPresentation ModelsaDialogue modelsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

UML and HCIaModel-based approachaNine notationsaLack of consideration of the user interfaceaHow to improve it?HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsDefinitionsaTaskaGoalaBasic TaskaTask AnalysisaTask ModelHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Task Analysis (example)ÓTourist general and clear information in limited amount access by spatial representations guided navigationÓArt student some basic knowledge choice among different types of informationÓExpert precise requestsHCI'2000 Tutorial - Model-based detailed descriptionof the information requestedDesign and Evaluation ofInteractive ApplicationsEngineering task modelsaFlexible and expressive notations with aprecise semanticsaSystematic methods able to indicate howto use information in the task modelsaAvailability of automatic tools to usesuch information efficientlyHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

The many possible task modelsaExisting SystemaEnvisioned SystemaUserHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsUse of Task ModelsaImprove understanding of theapplication domainaRecord the result of interdisciplinarydiscussionaSupport effective designaSupport usability evaluationaSupport the user during a sessionaDocumentationHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Representations of Task ModelsaHierarchical task analysisaGOMS familyaUANaDifferent syntax (textual vs graphical)aDifferent level of formalityaDifferent set of operators for taskTutorial - Model-basedcomposition HCI'2000Design and Evaluation ofInteractive ApplicationsGOMS ExampleGOAL: EDIT-MANUSCRIPTGOAL: EDIT-UNIT-Task repeat until no more unit tasksGOAL: ACQUIRE-UNIT-TASKGET-NEXT-PAGE if at end of manuscriptGET-NEXT-TASKGOAL: EXECUTE-UNIT-TASKGOAL:LOCATE-LINE[select: USE-QS-METHODUSE-LF-METHOD]GOAL: MODIFY-TEXT[select: USE-S-METHODUSE-M-METHOD]VERIFY-EDITHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Limitations of GOMSaIt does not consider user errorsaIt does not consider the possibility ofinterruptionsaIt considers only sequential tasksaIt can be inadequate for distributedapplications (such as web-based applications)HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsUAN - User Action NotationaThe user interface is represented by ahierarchy of asynchronous tasksauser action and system feedback arespecified at a low levelatextual notationHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Example of UAN specificationTask: BuildRequest:((SelR ClearR IconifyR)*-- SpecField )Task: SelApplicationUser Action [x,y in AppICON] (t tdoubleClick) Interface FeedbackInterface Statew’!: N)CurAppli AppCurMenu AppMenuHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsConcurTaskTreesaFocus on ActivitiesaHierarchical StructureaGraphical SyntaxaRich set of temporal operatorsaTask allocationaObjects and task attributesHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Task Models vs ScenariosaScenarios are informal descriptions of aspecific use in a specific contextaTask models describe the possibleactivities and their relationshipsaScenarios can support task developmentaTask models can support scenariosidentificationHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsMoving from scenarios to tasksHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Temporal operatorsEnablingT1 T2 or T1 [ ] T2DisablingT1 [ T2InterruptionT1 T2ChoiceT1 [ ] T2IterationT1* or T1{n}ConcurrencyT1 T2OptionalityT1 [] T2[T]HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsTask TypesInteraction tasksSelectionEditControl Application taskOverviewComparisonLocateGroupingHCI'2000 Tutorial - Model-basedDesign and Evaluation. ofInteractive Applications

Inheritance of relationshipsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsRelationships task/subtasksHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Optional tasksHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsTool Support in CTTEaFlexible editing of the task modelaUsing informal descriptions in modellingaChecking completeness of the specificationaSaving the specification in various formatsaSimulating the task modelaComparing task modelsaRunning scenariosHCI'2000 Tutorial - ign and Evaluation ofInteractive Applications

The CTTE editorHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsSimulating dynamic behaviourHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Comparison of Task ModelsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsModelling Multi-UserApplicationst1t2User2User1t1(User1) t3 (User3)Cooperative partHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applicationst3User3

Cooperative aspectsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsExerciseaDevelop a task model inConcurTaskTrees with at least threelevels and ten tasks using the CTTEtoolHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Limitations of currentapproaches in UI designaVisual tools do not support mappingbetween logical activities and UI elementsaUML is oriented to the system designaNo available tools for task-based design(when existing, not publicly available andlimited functionality)HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsTask model - based design1. Analysis ofoperatorsamongst tasksIdentify structureof dialogues2. Analysis of eachtask (objects,attributes, .)Choose a suitablepresentationHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Task-based designaTemporal relationships among tasksaFrequency of single task and task patternsaInteraction and presentations techniques suitable fortask types considering type and cardinality of dataaMultiple consistent representations when an objectsupports multiple tasksaAutomatic support to cognitive intense problemsolving user tasksHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsCriteria to identify presentationsÎOne single presentation supporting allpossible tasksÎAs many presentations as the number ofenabled task setsÎIntermediate solutionHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Mapping task-interactiontechnique: single choice exam.Knowndomain:Number of possible values [2,3]Number of possible values [4,7]Number of possible values [8,50]Number of possible values ]50, [HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsControl tasksaDisabling tasks ([ ) should be located so as tohighlight their control functionHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

The task model structureaGrouping tasks that share the same parent taskaCommunicating concurrent tasks ( [] ) arepresented close to each otherHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsSupporting enabling operatoraBoth sets are shown in the same presentation unit(when they exchange information, [] )aThe sets are presented at different timesaThe sets are presented in different presentation unitat the same timeSituations 2 and 3Situation 522718Name:Jo*Age: 20SubmitResults:HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsNameJohansenJonesAge5221

Deriving information fromoperatorsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsTask-interface relationshipsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Tasks-interface relationshipsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsTasks-interface relationshipsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

The Aerodrome case studyHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsAn excerpt of task modelHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

The resulting dialogues -1HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsThe resulting dialogues -2HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

The resulting dialogues -3HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsMobi-D: Example of toolsupport for model-based designHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Task PatternsaIdentification of solutions for problemsrecurring in different applicationsaReuse of both design and softwaresolutionsaPossibility of obtaining more compactspecificationsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive oblemTask specificationObjects specificationScenario of usePossible subpattersAspects which can varyHCI'2000 Tutorial - Model-basedApplicationsthat can use itDesign and Evaluation ofInteractive Applications

AdaptationaAdaptibility vs AdaptivityaDimensions: User, Device, Context, .aUsability issuesHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsDifferent initial accessesStudentTouristHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsExpert

Different presentationsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsWhat about adaptive support?ÓWhat is it?ÓTechniques supported (directguidance, adaptive ordering, 000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Example of adaptive supportHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsExerciseaDesign a user interface correspondingto the task model developed in theprevious exerciseHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Usability EvaluationaHeuristic evaluationaCognitive WalkthroughaGuidelinesaEmpirical testingaModel-based evaluationHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsInspection-based EvaluationaUse of CTT models in the evaluation phaseaUse of a the set of deviation typesaTo evaluate a prototypeHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

The methodaDevelopment of task model of theapplication to evaluateaAnalysis of deviations related to basictasksaAnalysis of deviations in high-level tasksaInterdisciplinary analysisHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsOrganisation of the exerciseaIntroduction of the methodaIntroduction of the prototypeaShort use of the prototypeaPrototype available during exerciseaTask model available to evaluatorsaAudio recordHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Organisation of the exerciseaEvaluators drive discussionaQuestions derived from task model classes of deviationsaThey are related to user interface elementsaIdentification of the information necessaryfor each task performanceaTables (useful more as documentation ordesign rationale)HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsRefined guidewords(basic tasks)aNONE: initial information, performance,resultaOTHER THAN: less, more, differentaILL-TIMED: too early, too lateHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Resulting tablesTask: Check DeviationExplanationNo inputThe controllerhas notinformationconcerning thecurrent trafficCausesThe systembroken.PerceptionproblemGuideword: NoneConsequencesis The controllerhas not anupdated view ofthe air trafficController isdistracted orinterrupted byother activitiesPerceptionproblemController isNoperformance distracted or overThe controller confidentInterpretationhas theprobleminformationbut he doesn’tcheck itcarefullyProtections RecommendationsThe controller Duplication ofcommunication systemlooks at thewindow tocheck the airtrafficPilot callsProvide an automaticcontroller to warning message onlycheck the path when an aircraft isdeviating from theassigned path.Pilot callscontroller tocheck the pathController isNo outputThe controller interrupted byother activitiesfinds adeviation butHCI'2000 Tutorial - Model-basedimmediatelyforgets itDesign and Evaluation ofInteractive ApplicationsInterpretation for high-leveltasksaNONE: initial information, performance, resultaOTHER THAN: less, more, differentaILL-TIMED: too early, too lateHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

The MIDAS User InterfaceHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsExample of issue (1)aCheck deviation - NONE/No performanceaCauses: workload, memoryaProtection: Red line connecting two flightlabelsaRecommendation: possibility of audio warningHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Example of issue (2)aCheck deviation - NONE/No inputaCauses: Zoom activatedaProtection: Button to default viewaRecommendation: Two views (global local)HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsExample of issue (3)aSend stop - Different performanceaCauses: action slipaProtection: send immediately new clearanceaRecommendation: Highlight the most safetycritical elementHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Social constraintsaDevelopers tend to defend every decisiontakenaUsers tend to divagate (sometimes useful,sometimes confusing)aTime pressureHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsRemUSINERemote USability INterface EvaluatoraBridge between empirical and model-basedevaluationaFlexible and expressive task modelsaLimitations of usability laboratories and needto decrease the costs of usability evaluationaApplication to case studiesHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

The architecture ofRemUSINEDesigner gnerUser1 siteDesignerTask modelUser1 logsLogging toolApplicationLog-task table .Usern site . . .User1HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsEvaluation Method(RemUSINE)Usern logsLogging toolApplicationUsernThe Preparation PartHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

An example of ).multiClick(124,93,16,1);2. rtions",0).member("java .",0).multiClick(.);5.JS.applet(.).member(“ ”, 0).typeString("Bodini Floriano", .);6. ttonPress();HCI'2000 Tutorial - Model-based7.JS.applet(.).member(“ ”).member(“ ”).select(4,"XXsec.");Design and Evaluation ofInteractive ApplicationsGeneral InformationHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Automatic analisys of the logHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsTask PatternsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Analysis of time performanceHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsErrors Detected (example 1)HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Errors Detected (example 2)HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsErrors Detected (example 3)HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

How to interpret the resultsaTask model mismatchaThe application is too rigidaThe user interface does not provide enoughsupport to understand how to perform thetasksaRemUSINE points out where the problem is!HCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsResults of RemUSINEaThe analysis is reliable and completeaIdentifying the violated precondition helps tounderstand the reason for the erroraIt gives indication of tasks never performedaIt provides quantitative informationHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive Applications

Time required by RemUSINEaDeveloping the task modelaRecord of logs using a logging toolaPreparation part of RemUSINEaGeneration of the resultsaAnalysis of the results provided byRemUSINEHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsSummary on RemUSINEaSuitable for graphical applications with awell defined set of tasks to supportaUseful especially for medium-largeapplications with dynamic dialogues andmany remote usersaIt can be complemented with interviews onthe parts found problematicaAutomatic generation of multimedia reportsTutorial - Model-basedon the usabilityHCI'2000problemsdetectedDesign and Evaluation ofInteractive Applications

Research agendaaModels for context of useaUse of task model to design adaptiveinterfaces supporting variety of devicesaPatterns in HCIaComputer-aided analysis of task modelsaIntegrating task models in UML to bettersupport design of interactive applicationsHCI'2000 Tutorial - Model-basedDesign and Evaluation ofInteractive ApplicationsConclusions ARE STO Projecthttp://giove.cnuce.cnr.it/mefisto.htmlaBook on Model-Based Design and Evaluation ofInteractive Applications, Springer VerlagHCI'2000 Tutorial - Model-basedafabio.paterno@cnuce.cnr.itDesign and Evaluation ofInteractive Applications

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications Organisation of the exercise aEvaluators drive discussion aQuestions derived from task model classes of deviations aThey are related to user interface elements aIdentification of the information necess