La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

SEG 3210 User Interface Design & Implementation

Présentations similaires


Présentation au sujet: "SEG 3210 User Interface Design & Implementation"— Transcription de la présentation:

1 SEG 3210 User Interface Design & Implementation
Prof. Dr.-Ing. Abdulmotaleb El Saddik University of Ottawa (SITE 5-037) (613) x 6277 site.uottawa.ca mcrlab.uottawa.ca

2 Unit D: User Centered Design and Prototyping
System Centered Design User Centered Design 3. Case Study: Olympic Messaging System (OMS) Participatory Design Design Rationale UI Prototyping Paper-based prototypes Software-based prototypes Where Does All This Fit Into the Software Engineering Process? Key Points to Review

3 1. System Centered Design
What can be built easily on this platform? What can I create from the available tools? What do I as a programmer find interesting to work on?

4 1. System Centered Design

5 2. User Centered Design There is no fixed process for HCI design ...
... Just a series of techniques that have been found helpful ... And some guidelines to help choose and sequence those techniques Key principles of user-centered design: It should involve users as much as possible so they can influence the design It should integrate knowledge and expertise from all the disciplines that influence HCI design It should be highly iterative so testing can be done and so users will be satisfied.

6 2. User Centered Design Some attributes one needs to be a good UI designer: A sense of empathy with users An ability to understand their mental models An ability to rapidly learn their domain and tasks Hands-on experience with a wide variety of software. The more software you see, the more ideas you will have Analyze all the software you know for malfunctions This will prevent you from repeating errors! Familiarity with UI design techniques and guidelines Golden rule of interface design: “Know The User”

7 2. User Centered Design Some critical aspects of the general SE process needed to produce good UIs: (Note: These alone are not enough!) The goal of all activities must be solving the customer’s problem Extensive data gathering and analysis must be done to ensure we understand all aspects of the problem. Well-structured requirements must be reviewed and agreed-to. Foster a disciplined software engineering process. Effective regimes must be in place for: Quality assurance Configuration management

8 3. Case Study: Olympic Messaging System (OMS)
Developed by Gould for the 1984 Los Angeles Olympics Led to the recognition of the term ‘user-centered design’ Objective: Develop a system to allow communication among thousands of people during the Olympics Assumptions: Telephones will not work as people are constantly moving and participating in events Non-computer users To be used by over people from kiosks

9 3. Case Study: Olympic Messaging System (OMS)
Some of the techniques used: Initial analysis, interviewing, site visits etc. Usage scenarios prepared Commented on by many people Result: Changes made and some functions dropped User guide prepared Modified 200 times before final version decided Simulations constructed and evaluated Primary purpose: Designing help messages Result: Discovered need for consistent ‘undo’ and ‘go back’ functionality Prototype constructed Result: Many more iterations ‘Hallway’ method Soliciting opinions of passers-by ‘Try-to-destroy-it’ method Hire hackers to try and break it

10 3. Case Study: Olympic Messaging System (OMS)
Conclusions: Focus on users and their tasks early, and keep them central Measure reactions using prototype manuals and systems Design iteratively because even highly-skilled designers get it wrong Usability factors must evolve together and be under the control of one group The extra work of user-centered design greatly reduces work later on

11 4. Participatory Design Problem Solution intuitions wrong
interviews etc not precise designer cannot know the user sufficiently well to answer all issues that come up during the design Solution designers should have access to pool of representative users END users, not their managers or union reps! The user is just like me

12 4. Participatory Design Users become first class members in the design process active collaborators vs. passive participants Users considered subject matter experts know all about the work context Iterative process all design stages subject to revision

13 4. Participatory Design Advantages Drawbacks
users are excellent at reacting to suggested system designs designs must be concrete and visible users bring in important “folk” knowledge of work context knowledge may be otherwise inaccessible to design team greater buy-in for the system often results Drawbacks hard to get a good pool of end users expensive, reluctance ... users are not expert designers don’t expect them to come up with design ideas from scratch the user is not always right don’t expect them to know what they want

14 Methods for involving the user
At the very least, talk to users surprising how many designers don’t! Interviews used to discover user’s culture, requirements, expectations, etc. contextual inquiry: interview users in their workplace, as they are doing their job Explain designs describe what you’re going to do get input at all design stages all designs subject to revision important to have visuals and/or demos people react far differently with verbal explanations

15 5. Design Rationale Def: the reasoning behind the design of a software
It could be understood as either: The process of choosing among design alternatives A document carefully explaining why certain design decisions are made Who needs design rationale: Other developers and maintainers So the design remains consistent So old analysis is not repeated Trainers So they can answer learners’ questions Learners may develop a better mental model Marketing personnel So they can answer customers’ questions New staff or new projects So consistency is maintained

16 Ways people record design decisions
Not at all! Minutes of meetings Buried in lengthy narrative Table with ... Alternatives considered Pros and cons of alternatives Alternative chosen This approach is reasonable Diagrams plus tables plus a small amount of narrative This is ideal but needs computer support to make it fast We will look at some diagramming techniques

17 Approaches to Document Design
Issue analysis Determine UI issues to be resolved and options for their resolution Design space analysis exploration of a space of alternatives For several options, determine goals they would achieve Claims analysis Look for ‘claims’ explicit or implicit in a design decision Reason about whether the claim is legitimate e.g. A design has single-letter commands Implicit claim: This is faster to use Is it really? Document reasoning

18 Issued-Based Analysis
Originated with the IBIS system in 1970: (Issued-Based Information Systems) PHI is a more modern variant (Procedural Hierarchy of Issues) Steps: Build a hierarchy of issues (‘questions’) Sub-issues are issues that, if resolved, would help solve higher level issues Identify high level (prime) issues Repeatedly identify sub-issues breadth-first Resolve issues starting at the bottom level List options (positions or answers) i.e. ways of dealing with each issue List arguments for and against each option Choose the best answer Leave the hierarchy, options, arguments and chosen option in the design documentation!

19 An example issue hierarchy for a library system
How to go to previous screen How to exit? How to go to higher level? How to exit system? How should the user navigate the Library? How to get more detail? How to get related books?

20 Design space analysis Steps to make a decision about an issue:
Exploration of space of alternatives Better quality because designer will have explored more alternatives And documents them at the same time Use of QOC notation Questions: highlight issues that must be considered Options Criteria: argue for or against various alternatives Steps to make a decision about an issue: List the options as in issue analysis List positive criteria (benefits gained, or goals achieved by choosing one or more options). Show which criteria argue for or against each option Pick the option that best meets goals

21 Design space analysis An example navigation problem: Options B ? B’ A
Mechanisms are needed to move... A: Within items on a screen B: To and from a greater level of detail C: To and from related screens at the same level of detail Options Option 1 A: tab / back tab B: right arrow / left arrow B’: left arrow C: + / - Option 2 B and C: return / escape Option 3 A: down arrow or tab / up arrow or back tab B: return / escape B’: select ‘higher level’ (A) then return (B) or escape C: select ‘up’ (A) then return (B) / select ‘down’ then return B ? B’ A C

22 Design space (omitting negative criteria)

23 Using Design rationale
Design rationale is critical in UI design because: There are usually numerous alternatives Unless analysis is systematic, one may ... pick a suboptimal alternative ... not even think of one or more alternatives Alternatives depend on the context If the context changes, one can quickly study the reasoning to see if a system change is needed Design rationale is good for both Actively designing Recording (documenting) the design

24 Using Design rationale
As a minimum, use design rationale when: There is deliberation over a decision Reviewers raise issues Opinion war is looming Accommodation is necessary Special knowledge is applied Testing reveals shortcomings Uncertainty remains A kludge had to be made Use issue and design space analysis in a brainstorming environment And record the results Analyze all claims (evaluate them)

25 6. UI Prototyping UI Prototyping involves a scaled down analysis-design-evaluate cycle It is an analysis technique Two key kinds of UI prototypes: Paper based Quick and inexpensive Stimulates ideas in a brainstorming environment Software based Demonstrate functionality and usability A simulation of the eventual system

26 Why is it essential to prototype the UI?
With technical design documents alone ... It is hard to imagine ramifications of design decisions It is hard to represent interactions in a complete, consistent and readable way The system may have high functionality with low usability People are much more likely to get the functional aspects of a system right up front The UI is where most complaints will come from It is too late to start fixing it once the product is built

27 7. Paper-based prototypes
a paper mock-up of the interface look, feel, functionality “quick and cheap” to prepare and modify Purpose brainstorm competing representations elicit user reactions elicit user modifications / suggestions

28 Paper-based prototypes
Sketches Drawing of the outward appearance of the intended system Crudity means people concentrate on high level concepts But hard to envision a dialog’s progression Computer Telephone Last Name: First Name: Phone: Place Call Help

29 Paper-based prototypes
Storyboarding a series of key frames originally from film; used to get the idea of a scene snapshots of the interface at particular points in the interaction users can evaluate quickly the direction the interface is heading

30 Storyboard of a computer based telephone
Computer Telephone Last Name: First Name: Phone: Place Call Help Help-> Return Help Screen You can enter either the person's name or their number. Then hit the place button to call them Call by name-> Computer Telephone Last Name: Greenberg First Name: Phone: Place Call Help Establishing connection-> Computer Telephone Last Name: Greenberg First Name: Phone: Place Call Help Dialling.... Cancel Call connected... Computer Telephone Last Name: Greenberg First Name: Phone: Place Call Help Connected Hang up Call completed...

31 Paper-based prototypes
Pictive plastic interface for collaborative technology initiatives through video exploration” design is multiple layers of sticky notes and plastic overlays different sized stickies represent icons, menus, windows etc. interaction demonstrated by manipulating notes contents changed quickly by user/designer with pen and note repositioning session is videotaped for later analysis usually end up with mess of paper and plastic!

32 Paper-based prototypes
Pictive can create pre-made interface components on paper eg, these empty widgets were created in JBuilder/visual basic and printed out: buttons menu alert box combo box list box tabs entries

33 Some ideas of paper prototyping
Draw diagrams on cards for each screen, window, menu Don’t worry about being precise; sketch roughly Draw different versions of the cards so you can experiment with which is best Experiment walking through various tasks (‘scenarios’) Do the above in a brainstorming environment with users and colleagues Keep the design space open as long as possible! Commit to a particular UI as late as possible Storyboards are faster and cheaper than computer prototypes

34 8. Software based prototype
Actually works Must be built quickly and cheaply Is an integral part of user-centered design Evaluation and modification are fundamental The code is generally thrown away But the design is kept! In incremental and evolutionary prototyping the code may be kept But watch out for unmaintainable code A requirements animation: Is a less functional kind of prototype A demonstration of the system that acts like a ‘movie’ walks through interactions Can be stepped through to illustrate tasks Can be quick to set up

35 What parts of the UI should you prototype?
As much as possible, but emphasize: The top 20% of tasks That will usually consume 80% of a user’s time Those aspects of the UI that are considered ‘unusual’ or ‘problematic’ E.g. Screens where you have unusual widgets Anything safety-critical, even if only used occasionally

36 Approaches to limiting prototype functionality
Vertical prototypes includes in-depth functionality for only a few selected features common design ideas can be tested in depth Horizontal prototypes surface layers includes the entire user interface with no underlying functionality a simulation; no real work can be performed Scenario scripts of particular fixed uses of the system; no deviation allowed

37 Approaches to integrating prototypes and product:
Throw-away prototype only serves to elicit user reaction creating prototype must be rapid, otherwise too expensive Incremental product built as separate components (modules) each component prototyped and tested, then added to the final system Evolutionary prototype altered to incorporate design changes eventually becomes the final product

38 Presenting SW-based prototype
Painting/drawing packages draw each storyboard scene on computer neater/easier (?) to change on the fly than paper a very thin horizontal prototype does not capture the interaction “feel”

39 Presenting SW-based prototype
Scripted simulations and slide shows encode the storyboard on the computer created with media tools scene transition activated by simple user inputs a simple horizontal and vertical prototype user given a very tight script/task to follow appears to behave as a real system but script deviations blows the simulation Control panel for pump 2 coolant flow 45 % retardant 20% speed 100% next drawing Shut Down (on mouse press over button) Control panel for pump 2 coolant flow 0 % retardant 20% speed 100% DANGER! Shut Down

40 Presenting SW-based prototype
Return Help Screen You can enter either the person's name or their number. Then hit the place button to call them Computer Telephone Last Name: First Name: Phone: Place Call Help Computer Telephone Last Name: Greenberg First Name: Phone: Place Call Help Connected Hang up Computer Telephone Last Name: Greenberg First Name: Phone: Place Call Help Dialling.... Cancel Computer Telephone Last Name: Greenberg First Name: Phone: Place Call Help Computer Telephone Last Name: First Name: Phone: Place Call Help Computer Telephone Last Name: First Name: Phone: Place Call Help Help- Type name and place call

41 Constructeurs d’Interfaces
Outils qui permettent à un concepteur de présenter les gadgets logiciels (widgets) communs Mode de construction changer les attributs des objets Mode de test: Les objets se comprotent comme s’ils étaient dans les situation réelles Excellent pour montrer l’apparence et les sentiments un prototype horizontal plus large mais contraint à la librairie de widget Les fonctionnalités verticales sont ajoutées sélectivement En programmant

42 L'évaluation d'un prototype fournit l'information sur
Séquences de fonctionnalités et des opérations Assister l'analyse des tâches Certains systèmes créent malheureusement des nouvelles tâches pour les usagers! e.g. le temps passé à organiser des fichiers, convertir les formats, traduire les schémas de codage La convivialité de l’apparence et les sentiments Les symboles que les usagers peuvent reconnaître Ou la disposition ou les messages causent une confusion etc. Les besoins du support de l’usager Ou l’aide et l’entrainement sont necessaires

43 Quleques obstacles pour un prototypage efficace
Ceci prend du temps Souvent il est entièrement omis ou l’évaluation est dépassée Mais l'évaluation lui donne 70% de sa valeur Beaucoup de gérants n’ont pas l’expérience requise La gestion peut faire penser que c’est vrai “La question n'est pas d’établir un système pilote et le jeter. Vous ferez cela. La question est de projeter à l'avance d’en construire un jetable” - Brooks Solution: entraîner les gérants Il est difficile de s'adapter dans un processus contractuel Particulièrement quand le contrat doit mettre en application des spécifications données Solution: les Contrats doivent être basés sur “la résolution du problème”

44 Conclusions à propos du prototypage
Planifier assez de temps pour prototyper les aspects clés de n’importe quel système Évaluer les prototypes de façon appropriée Tenir compte que le prototypage seul ne vous donnera pas toutes les réponses D’autres techniques sont nécessaires pour générer les idées pour le prototype: Analyse des tâches Modélisation conceptuelle “Storyboarding” Raisonnement de conception Il manque les issues non fonctionnelles telles que la fiabilité et la sûreté. Considérez les produits de concurrence précédents en tant que prototypes additionnels Mais vous devez compenser le prototype de toutes les différences ou déviations de ces derniers !

45 9. Ou s’adapte tout ceci dans le processus du génie logiciel?
En développant des interfaces usagers, l'analyse et la conception sont naturellement mélangées Il y a trois genres de conception: Conception architecturale comment découper le système en couches Conception d’interface comment faire fonctionner le système avec la tâche et le modèle conceptuel Conception détaillée comment appliquer les écrous et les boulons physiques

46 Where does all this fit into the SW Eng. process?
General Requirements Gathering, Scoping and Objective Setting Functional / OO Analysis Functional Prototyping & Other Techniques Architectural Design (Splitting system into layer) UI Analysis & Design API Spec. UI Spec. Detailed Design

47 Pensées au sujet des caractéristiques
L’importance des caractéristiques: Tenez compte des accords contractuels ou partager avec les membres d'équipe Formez la base pour des conceptions détaillées efficaces Forcer la pensée détaillée mettez souvent les problèmes cachés en évidence Il y a un avancement pour rendre des caractéristiques mathématiquement formelles Ceci est encore non-réalisable pour les spécifications des IU

48 Pensées au sujet des caractéristiques
Séparez clairement les composants suivants des spécifications (préparation rigoureuse en parallèle): Spécifications formelles de l‘API et des couches inférieures L‘API doit être établi un peu en avant de Spécifications d’IU. Décrire les données et les opérations de façon abstraite et précise Un prototype n’est pas suffisant Spécification de l’IU Peut être le résultat de la conception d’IU ou plus formel Dépend en quelque sorte des spécifications de l’API mais affecte aussi ce qui va être dans l’API. décrit “look”: l’apparance de l’IU sensation : détails des interactions

49 Pensées concernant la conception de l’API
Ce qui doit être fait au niveau de la couche d’IU: Compostion et affichage des sorties Division en écrans; navigation à travers les écrans Interprétation des évenements Menus, boutons d’action et “hotkeys” défilement, restructuration etc. L’aide Ce qui doit être fait aux couches inférieures (i.e. communicant via l’API) Actions effectuées sur les données Requêtes pour les données Requêtes des informations concernant l’état du système ou l’objet Charger et sauver les fichiers Génération de la plupart des structures d’erreurs Quelques systèmes peuvent manipuler les « codes » mais ceci bloque les messages fortement utilisables

50 Charactéristiques de l’API
L’API doit servir l’interface usager Penser en fonction des commandes qui peuvent servir l’usager à accomplir sa tâche S’assurer que les besoins des E/S de l’IU sont servis via l’API L’API doit permettre la flexibilité Replacement de l’IU comme les améliorations sont exigées IU alternatif (e.g. accès en ligne, ligne de commande) Tests automatiques Remplacement des couches inférieures Les remplacements fournissent le même API En dépit de ce qui précède, l‘API devrait être aussi simple que possible

51 Charactéristiques de l’API
L’API doit fournir les opréations atomiques et composées. Une opération atomique est l’unité de travail la plus petite qui pourrait être exécutée. e.g. supprimer un champ Une opération composée est une plus grande opération qui devrait être passée à travers l‘API comme un ensemble: Pour l’efficacité Puisque les opérations composées peuvent agir l'une sur l'autre e.g. cupprimer un ensemble de registres Considérer plusieurs couches avec leur propre API Couche inférieure: Ajouter, supprimer et modifier les objets Trouver de l’information à propos des objets Messages d’erreurs peuvent être des codes simples Couche du milieu: Opérations sur des ensembles d’objets Securité pour contrôler l’accès Traiter les messages d’erreur

52 10. Points essentiels à revoir
Conception basée sur l’usager Implique les usagers; hautement itérative Intègre la connaissance de plusieurs champs Un groupe dans un projet doit avoir le contrôle Besoins de conception d’IU: empathie, expérience dans les logiciels, connaissance des techniques et directives méthode Hallway et Try-to-destroy-it Implique les usagers: À la toute fin, parler aux usagers Entrevues Expliquer la conception

53 10. Points essentiels à revoir
Conception de raisonnement (design rationale) Considérer systématiquement toutes les alternatives Enregistrer les résultats pour que les autres puissent comprendre Peut bénéficier des ingénieurs, entraîneurs, acheteurs, utilisateurs Analyse d’édition: IBIS Explorer les éditions et les options Analyser les arguments pour choisir la meilleure option Concevoir l’analyse d’espace Explorer les options et les critères positives Faire le lien entre les options et les criteres pour choisir la meilleure option Analyse de réclamation: Raisons pour savoir s'ils sont légitimes

54 10. Points essentiels à revoir
Story-boards ou prototypes sur papier “Brainstorm” à propos des tâches: images de l’interface Garder la conception ouverte Prototypes d’IU Essentiels parceque l’IU est une source majeur de problèmes Rapides, “cheap”, fonctionnels, généralement jetables Incrémentals, evolutionnaires, animations des exigences Types de conception: ne peut être complètement séparés Specifications d’IU Architecture: couches d’IU/couches fonctionnelles (API) Conception détaillée: Détails physiques


Télécharger ppt "SEG 3210 User Interface Design & Implementation"

Présentations similaires


Annonces Google