SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
User Interface Design




Elena Punskaya, op205@cam.ac.uk

                                  1
UI Design

        “A user interface is well-designed when the program
        behaves exactly how the user thought it would.”

•   User familiarity: copy well-known features from other
    programs
•   Consistency: do similar operations in the same way
•   Choose default values carefully: minimise the number of
    choices novice users have to make
•   Use metaphors: to establish the user’s conceptual model
•   Recoverability: ensure UNDO works in every situation
•   Provide help: but (!) make it sparing and highly context
    specific


•   Sounds easy, however, there are some constraints

                                                                © 2012 Elena Punskaya
                                                                                       2
                                           Cambridge University Engineering Department

                                                                                           2
Constraints
•   Users don’t read the manual




                                                            © 2012 Elena Punskaya
                                                                                   3
                                       Cambridge University Engineering Department

                                                                                       3
Constraints
•   Users won’t read more than 2 or 3 words at a time




                                                               © 2012 Elena Punskaya
                                                                                      4
                                          Cambridge University Engineering Department

                                                                                          4
Constraints
•   Users don’t like making choices




                                                             © 2012 Elena Punskaya
                                                                                    5
                                        Cambridge University Engineering Department

                                                                                        5
Constraints
•   Users don’t like being frightened




                                                              © 2012 Elena Punskaya
                                                                                     6
                                         Cambridge University Engineering Department

                                                                                         6
Constraints
•   Users don’t like being confused




                                                             © 2012 Elena Punskaya
                                                                                    7
                                        Cambridge University Engineering Department

                                                                                        7
Constraints
•   Users ALWAYS click OK




                                                           © 2012 Elena Punskaya
                                                                                  8
                                      Cambridge University Engineering Department

                                                                                      8
UI Design Process
•   Define a set of representative user types
•   Identify the most important activities, i.e. use cases
•   Assume some user model based on how you think each user
    will expect to accomplish each activity?
•   Design the UI based on the current user model
    - use metaphors to illuminate the user model
    - borrow familiar behaviours from other programs esp. controls
    - keep it very simple, users will always assume the simplest model

•   Implement a prototype
•   Test each use case with each user type and iterate
    - do not ignore the minority in favour of the majority
    - note areas where people have trouble. These are probably areas where the program
      model does not match the user model

•   Refine the user model and iterate



                                                                                © 2012 Elena Punskaya
                                                                                                       9
                                                           Cambridge University Engineering Department

                                                                                                           9
User Types
•   User types are often application specific but common
    categories are
    - geeks - enjoy figuring out how things work
    - teenagers - like geeks but know no fear
    - experienced users - think they already know how everything works
    - naive users - often too timid to explore the interface

•   There is also a dichotomy between
    - People raised with computers
    - New users trying to use computers

•   For each user type selected as appropriate for testing an
    application, a profile should be created answering the
    following questions:
    - What are the user’s goals?
    - What are the user’s skills and experience?

•   The answers to these questions will help design a strategy
    which allows users to exploit their skills and experience to
    efficiently satisfy their goals
•   Ideally, a user interfaces should work well for all user types
                                                                              © 2012 Elena Punskaya
                                                                                                     10
                                                         Cambridge University Engineering Department

                                                                                                          10
•   Donald A. Normal says




•   and then provokes




                            http://www.nngroup.com/




                                                   © 2012 Elena Punskaya
                                                                          11
                              Cambridge University Engineering Department

                                                                               11
Use Cases
•   A use case describes a typical user activity from start to end.
    A good set of use cases motivates a design, and provides a
    basis for testing.
•   A use case will consist of
    - Definition of the user’s goal
    - List of pre-conditions (e.g. information needed before the task can start)
    - Criteria for successful completion
    - List of main steps in the activity flow
    - Any extensions/alternatives to this use case

•   This is also called activity based planning
•   More generally, “Use cases are a technique for organizing and
    eliciting requirements” and “Use cases appear in the UML in
    the form of use case diagrams” [10]
                                      source: Wikipedia




                                                                                  © 2012 Elena Punskaya
                                                                                                         12
                                                             Cambridge University Engineering Department

                                                                                                              12
Designing Experiences
•   Storyboard – a sequence of images for the purpose of
    visualising the script in film production




                charlesratteraydesign.com/wp/project/storyboards-firefly-initial-pitch-boards-episode-one/

                                                                                                              © 2012 Elena Punskaya
                                                                                                                                     13
                                                                                         Cambridge University Engineering Department

                                                                                                                                          13
Designing Experiences
•   Service Blueprinting: When Customer Satisfaction Numbers
    are not enough
    - Susan L. Spraragen, IBM Watson Research and Carrie Chan, School of Design, MMC110




                                                                                                         Appendix A: Enhanced Blueprint for complete call center episode
      Carnegie Mellon University




                                                                             © 2012 Elena Punskaya
                                                                                                    14
                                                        Cambridge University Engineering Department

                                                                                                            14
Service blueprinting was introduced by Lynn Shostack [3] as a method to model the service                                                 fluctuation tha
                          Designing Experiences: Emotions matter!
    processes from the customer perspective. She organized the service activity in a way that is similar to that
                                                                                                                                                      the provider to
    of a theater production. The top section, labeled the “onstage” area, considers what the customer actually


•   Service Blueprinting: from traditional to
    sees, or is aware of, during their service experience. Here is where the customer’s journey is mapped out                                         provider inter
    enhanced
    horizontally. The “backstage” area shows necessary and corresponding provider actions that the customer

    does not see. This area details the provider actions that they are trained or required to perform. The                                                     Throu
    separation of these two areas has traditionally been marked by the line of visibility (see figure 1).
                                                                                                                                                      pronounced an

                                                                                                                                                      emotion to mo

                                                                                                                                                      used a dotted

                                                                                                                                                      The larger the

                                                                                                                                                      these frustrati

                                                                                                                                                      circles. These

                                                                                                                                                      providers will

                                                                                                                                                               This i

            Figure 1: Traditional Blueprint Layout
                                                                                                                                                      may not be br

    In this figure we show a traditional blueprint segment for the early steps of placing a call to a contact                                         to show this m
    center. This scenario will be elaborated upon for the test case used with our enhanced blueprint.

            The line of visibility can be used as a conscious guide for determining which provider service
                                                                                                                                                      When a bubbl
    actions the customer should see and be aware of during their service transaction. Care is taken not to
                                                                                                                                                      hold, it occup
    burden the customer with unnecessary backstage actions or administrative details. At the same time,

                                                                                                                                        © 2012 Elena Punskaya address
                                                                                                                                                         As we 15
                                                                                                                   Cambridge University Engineering Department

                                                                                                                                                      scale. But 15
                                                                                                                                                                 for
Designing Experiences: overall exparience
•   IDEO project for Amtrack’s high-speed trains – Acela Express
•   Brief: design the interior of the cabin
•   Work: realised that the actual rail journey is only a part of the
    overall experience and the whole process needs to be
    designed together, including
    - passenger’s decision to travel by train
    - buying tickets
    - arriving at the station
    - waiting for the departure
    - travelling
    - arrival to the destination station
    - transfer to the final destination                        www.ideo.com/work/acela


•   Unfortunately, over time, the service has failed to live up to
    the standard (e.g. the speed limited by old tracks) – need to
    consider practical implications, especially over the long
    lifetime of the system
    - http://www.adobe.com/uk/designcenter/thinktank/greenfield_04.html


                                                                             © 2012 Elena Punskaya
                                                                                                    16
                                                        Cambridge University Engineering Department

                                                                                                         16
Designing Experiences
•   Applied to software applications, there are the following
    stages of user experience
•   Discovery – a person is realising a need and finding the
    application to address it
•   Installation – obtaining a copy of the application and setting it up
•   First experience – “can I do what I downloaded it for or do I need to
    read instructions?”, being guided through the first use, building a
    conceptual model of the application
•   Repeat experience – “I know what it can do, can I do what do most
    often in the quickest possible way?”
•   Error handling – what went wrong, how to recover
•   Help reference – could facilitate the first use, help to discover advanced
    functionality or just serve as a reference for less common operations
•   Maintenance – updates: notifications about availability, applying updates
•   Support – if needed more help, user groups, support email/phone
•   Feedback – providing a back channel, identifying issues and features
    requests
                                                                          © 2012 Elena Punskaya
                                                                                                 17
                                                     Cambridge University Engineering Department

                                                                                                      17
UI Flows
•   Need to capture a Screen and Actions possible from it
•   37 Signals’ notation:
    - Screens (at the top)
    - Actions (under the solid line)
    - Alternative actions (under dotted lines)
    - Arrows indicate the flow

•   More details
    - 37signals.com/svn/posts/1926-a-shorthand-for-designing-ui-flows




                                                                             © 2012 Elena Punskaya
                                                                                                    18
                                                        Cambridge University Engineering Department

                                                                                                         18
Example
•   Consider a program to make and send greetings cards
•   A simple functional approach would just define the functions
    that are needed:
    - Create a new blank card
    - Select a style from a library
    - Add/edit text to a card
    - Add a graphic to card
    - Email card or print it out

•   A UI to implement this might then consist of a few standard
    menus
    - An experienced user would have no problem
      with this. However, a naıve user faced with
      a blank screen and just a few generic menu
      commands such as the above would be lost
    - A tool bar with graphic icons might help but
      real novices need guidance.




                                                                          © 2012 Elena Punskaya
                                                                                                 19
                                                     Cambridge University Engineering Department

                                                                                                      19
Wizards
•   Wizards guide a user through pre-stored
    use cases one step at a time
•   In case of the greeting card,
    the Wizard would lead the user through
    a sequence of steps
•   Step 1: What do you want to do?
    1.Send    a birthday card?
    2.Send    an anniversary card?
    3.Send    a party invitation?                                      © New Line Cinema and Wingnut Studios

    4.Start   with a blank card?
    - User chooses (1)

•   Step 2: Select a background
    - User selects from a palette of birthday card designs

•   Step 3: Enter desired greeting
    - User types greeting into a text box

•   Etc.
                                                                               Apple Keynote 2009



                                                                                  © 2012 Elena Punskaya
                                                                                                         20
                                                             Cambridge University Engineering Department

                                                                                                               20
Import Wizard
•   Allows to guide the user through a process with a multiple
    decision tree, to help the software do its job better




                                                               © 2012 Elena Punskaya
                                                                                      21
                                          Cambridge University Engineering Department

                                                                                           21
Online Wizards
•   Hotel reservation process at Booking.com
•   Allows to guide the user throughout the room reservation
    process




                                                               © 2012 Elena Punskaya
                                                                                      22
                                          Cambridge University Engineering Department

                                                                                           22
User Conceptual Model
•   User conceptual model is the user’s
    mental model of what is happening
•   Note that different users will have
    different mental models. A good UI
    design encourages every user to adopt                                      www.videolan.org/vlc/


    the same mental model
•   Eliciting user models:
    - usually 5-6 people is enough to gather a consensus
    - present each user with a scenario and a task to
      complete
    - use simple prototypes, screen mock-ups or just
      sketches to describe scenario
    - ask user questions to understand how they would set
      about the task
    - hence infer their mental model

•   Using a metaphor can help a user
    align their conceptual model with the
    way that the program actually works                                      Amazon’s Kindle for iPad




                                                                                 © 2012 Elena Punskaya
                                                                                                        23
                                                            Cambridge University Engineering Department

                                                                                                             23
Complexity of Simple Things
•   Functional Requirement: copy of the computer screen




        Mac OS: Cmd-Shift-3             Windows: Print Screen
                                                              © 2012 Elena Punskaya
                                                                                     24
                                         Cambridge University Engineering Department

                                                                                          24
User Input
•   Direct manipulation: typing, gestures, e.g.
    Media Players, Graphic programs
    - Fast, intuitive and easy to learn, but hard to implement and
      only suitable when there is an appropriate visual metaphor

•   Menu selection, e.g. Mobile phone
    - Avoids user error and needs little typing. Could be tedious
      for experienced users and is not suited to many complex
      options

•   Form fill-in, e.g. Stock control
    - Good for data entry, requires significant screen space

•   Command language, e.g. Travel booking
    system
    - Powerful and flexible for experienced users, hard to learn

•   Natural language, e.g.
    www.trueknowledge.com or Siri for iPhone                                              stupidsiri.net

    - Accessible and easily extended, could be unreliable but will
      get better as the computing power and connectivity of the
      devices increase

                                                                                    © 2012 Elena Punskaya
                                                                                                           25
                                                               Cambridge University Engineering Department

                                                                                                                25
Information Presentation
•   All interactive systems need some way of presenting
    information to the user
•   It is good design practice to keep the presentation separate
    from the information itself; this is sometimes called the
    document-view architecture
•   The representation on the screen can be changed without
    having to change the underlying architecture
•   There is a vast choice of display styles: bar charts,
    thermometers, dials, as well as just displaying text and
    numbers.
    - In general, graphical display methods should be used as they can present trends and
      relative values. A digital display should only be used when precision is required, and
      even then graphical highlighting could be used to highlight changes

•   Colour is very useful for highlighting or increasing clarity
    - However, don’t use more than 4-5 colours, and be consistent with their use (e.g. red
      for danger)




                                                                                 © 2012 Elena Punskaya
                                                                                                        26
                                                            Cambridge University Engineering Department

                                                                                                             26
Model View Controller
•   Model View Controller (MVC) is the common pattern that
    separates the data, its presentation and the way it is
    manipulated by the user
•   Observer design pattern is a key part of MVC
•   Model – an abstraction of the data that provides ways of
    accessing and manipulating it
•   View – presents a specific purpose view onto the Model,
    captures User’s input and passes it on to the Controller
•   Controller – interprets User’s input and invokes
    corresponding actions on the Model




                developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CocoaFundamentals/
                CocoaDesignPatterns/CocoaDesignPatterns.html#//apple_ref/doc/uid/TP40002974-CH6-SW1

                                                                                                      © 2012 Elena Punskaya
                                                                                                                             27
                                                                                 Cambridge University Engineering Department

                                                                                                                                  27
Graphical User Interfaces Frameworks
•   GUIs are often implemented using application framework
    class libraries
•   Pioneered by Apple via “MacApp”, then by copied by Microsoft
    with the MFC (Microsoft Foundation Class) library
•   Basic functionality is coded in base classes e.g. windows,
    menus, scrollbars, buttons, etc
•   “Look and Feel” is then dictated by class library so all
    applications built using the library adopt similar devices and
    metaphors
•   Developer can customises base classes to achieve required
    functionality e.g.
    - decorator pattern used to add widgets to windows
    - observer pattern used for synchronising multiple views of an object
    - today there are literally hundreds of GUI toolkits available targeted at specific
      languages, operating systems, cross-platform, etc. Examples are Swing, TK, GTK+,
      OpenUI, Zinc, Motif, Qt, XVT, FLTK, Wx



                                                                                 © 2012 Elena Punskaya
                                                                                                        28
                                                            Cambridge University Engineering Department

                                                                                                             28
GUI Frameworks
•   GUI Frameworks could be provided by the target platform:
    Android, iOS or be a part of the language libraries: Java Swing
•   Each framework can have its own concepts and design
    principles that should be followed
•   Each framework allows to extend standard components
    (Views, Buttons, Lists) to implement custom behaviour




    https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/
                                                                                developer.android.com/design/building-blocks/index.html
    GS_UserExperience_iPhone/_index.html#//apple_ref/doc/uid/TP40007296



                                                                                                         © 2012 Elena Punskaya
                                                                                                                                29
                                                                                    Cambridge University Engineering Department

                                                                                                                                          29
Error Messages
•   Error messages should be there to help the user
    - polite
    - concise
    - consistent
    - constructive
    - appropriate to user’s skill level
    - accurate
    - informative
    - appropriate to setting

•   How NOT to do it:




                                                                     © 2012 Elena Punskaya
                                                                                            30
                                                Cambridge University Engineering Department

                                                                                                 30
Progress Indicator / Waiting Screen
•   Waiting is the most frustrating part of any user experience
•   Providing a good progress indicator helps to elevate this pain
    and it should be:
    - dynamic: confirms that something is happening
    - informative: how much is remaining/ has been done




            MozyHome, © Decho Corp


                                         Metal Gear Solid 4, © Konami
                                         http://www.ign.com/blogs/tengu230/2011/07/14/the-unnoticed-video-game-loading-screens



                                                                                             © 2012 Elena Punskaya
                                                                                                                    31
                                                                        Cambridge University Engineering Department

                                                                                                                                 31
User Interface Summary
•   The key ingredient to a successful UI is to ensure that the
    user adopts a mental model which is consistent with the
    underlying program model
•   To achieve this a compromise is needed
     - use metaphors, wizards, etc to guide the user to the right model
     - modify the program model to match user expectations

•   Use cases help design the UI and guide testing
•   Many toolkits are available for rapid GUI construction
•   Good Designs make Winning Products and make Users Happy!




                                                                                www.spotify.com
    GoodReader by Good.iWare      Instargram by Burbn
       www.goodiware.com               instagr.am                                © 2012 Elena Punskaya
                                                                                                        32
                                                            Cambridge University Engineering Department

                                                                                                             32
© 2012 Elena Punskaya
                                            33
Cambridge University Engineering Department

                                                 33
Good Design Is... by Dieter Rams
•   Good design is innovative
    - The possibilities for innovation are not, by any means, exhausted. Technological
      development is always offering new opportunities for innovative design. But innovative
      design always develops in tandem with innovative technology, and can never be an end
      in itself.

•   Good design makes a product useful
    - A product is bought to be used. It has to satisfy certain criteria, not only functional but
      also psychological and aesthetic. Good design emphasises the usefulness of a product
      while disregarding anything that could possibly detract from it.

•   Good design is aesthetic
    - The aesthetic quality of a product is integral to its usefulness because products are
      used every day and have an effect on people and their well-being. Only well-executed
      objects can be beautiful.

•   Good design makes a product understandable
    - It clarifies the product's structure. Better still, it can make the product clearly express
      its function by making use of the user's intuition. At best, it is self-explanatory.

•   Good design is unobtrusive
    - Products fulfilling a purpose are like tools. They are neither decorative objects nor
      works of art. Their design should therefore be both neutral and restrained, to leave
      room for the user's self-expression.
                                                                                    © 2012 Elena Punskaya
                                                                                                           34
                                                               Cambridge University Engineering Department

                                                                                                                34
Good Design Is... by Dieter Rams
•   Good design is honest
    - It does not make a product more innovative, powerful or valuable than it really is. It
      does not attempt to manipulate the consumer with promises that cannot be kept

•   Good design is long-lasting
    - It avoids being fashionable and therefore never appears antiquated. Unlike fashionable
      design, it lasts many years – even in today's throwaway society.

•   Good design is thorough down to the last detail
    - Nothing must be arbitrary or left to chance. Care and accuracy in the design process
      show respect towards the consumer.

•   Good design is environmentally friendly
    - Design makes an important contribution to the preservation of the environment. It
      conserves resources and minimises physical and visual pollution throughout the
      lifecycle of the product.

•   Good design is as little design as possible
    - Less, but better – because it concentrates on the essential aspects, and the products
      are not burdened with non-essentials. Back to purity, back to simplicity.




                                                                                  © 2012 Elena Punskaya
                                                                                                         35
                                                             Cambridge University Engineering Department

                                                                                                              35
UI Design

        “A user interface is well-designed when the program
        behaves exactly how the user thought it would.”

•   User familiarity: copy well-known features from other
    programs
•   Consistency: do similar operations in the same way
•   Choose default values carefully: minimise the number of
    choices novice users have to make
•   Use metaphors: to establish the user’s conceptual model
•   Recoverability: ensure UNDO works in every situation
•   Provide help: but (!) make it sparing and highly context
    specific


•   Sounds easy, however, there are some constraints

                                                                © 2012 Elena Punskaya
                                                                                       36
                                           Cambridge University Engineering Department

                                                                                            36
User Types
•   User types are often application specific but common
    categories are
    - geeks - enjoy figuring out how things work
    - teenagers - like geeks but know no fear
    - experienced users - think they already know how everything works
    - naive users - often too timid to explore the interface

•   There is also a dichotomy between
    - People raised with computers
    - New users trying to use computers

•   For each user type selected as appropriate for testing an
    application, a profile should be created answering the
    following questions:
    - What are the user’s goals?
    - What are the user’s skills and experience?

•   The answers to these questions will help design a strategy
    which allows users to exploit their skills and experience to
    efficiently satisfy their goals
•   Ideally, a user interfaces should work well for all user types
                                                                              © 2012 Elena Punskaya
                                                                                                     37
                                                         Cambridge University Engineering Department

                                                                                                          37
UI Design Process
•   Define a set of representative user types
•   Identify the most important activities, i.e. use cases
•   Assume some user model based on how you think each user
    will expect to accomplish each activity?
•   Design the UI based on the current user model
    - use metaphors to illuminate the user model
    - borrow familiar behaviours from other programs esp. controls
    - keep it very simple, users will always assume the simplest model

•   Implement a prototype
•   Test each use case with each user type and iterate
    - do not ignore the minority in favour of the majority
    - note areas where people have trouble. These are probably areas where the program
      model does not match the user model

•   Refine the user model and iterate



                                                                                © 2012 Elena Punskaya
                                                                                                       38
                                                           Cambridge University Engineering Department

                                                                                                            38
Designing Experiences
•   Applied to software applications, there are the following
    stages of user experience
•   Discovery – a person is realising a need and finding the
    application to address it
•   Installation – obtaining a copy of the application and setting it up
•   First experience – “can I do what I downloaded it for or do I need to
    read instructions?”, being guided through the first use, building a
    conceptual model of the application
•   Repeat experience – “I know what it can do, can I do what do most
    often in the quickest possible way?”
•   Error handling – what went wrong, how to recover
•   Help reference – could facilitate the first use, help to discover advanced
    functionality or just serve as a reference for less common operations
•   Maintenance – updates: notifications about availability, applying updates
•   Support – if needed more help, user groups, support email/phone
•   Feedback – providing a back channel, identifying issues and features
    requests
                                                                          © 2012 Elena Punskaya
                                                                                                 39
                                                     Cambridge University Engineering Department

                                                                                                      39
to view the information in various ways. The

                                               UI Design Example
       •   Mobile App Sales Analytics Examples




                                         4.2.5 Settings View
                                                 The Settings View displays the iTunes Connect username, Company Number (identifies the entity), the iTunes
                                                 Connect Mobile app version, and options to Autofill Account and Auto Sign Out.




              iPhone/iPod touch
                                                                                                       Andlytics, © Timelappse
       iTunes Connect Mobile, © Apple




or developers in the Products, Markets and
ummarized. For publishers, the Category                                                                                                © 2012 Elena Punskaya
                                                                                                                                                              40
                                                                                                                  Cambridge University Engineering Department
                                                 If multiple legal entities are associated with your iTunes Connect account, which is a very rare condition that   40

Mais conteúdo relacionado

Destaque

Prototype model
Prototype modelPrototype model
Prototype modelsadhana8
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Software testing basic concepts
Software testing basic conceptsSoftware testing basic concepts
Software testing basic conceptsHưng Hoàng
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing BasicsBelal Raslan
 
Prototype model
Prototype modelPrototype model
Prototype modelshuisharma
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 

Destaque (7)

Prototype model
Prototype modelPrototype model
Prototype model
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Software testing basic concepts
Software testing basic conceptsSoftware testing basic concepts
Software testing basic concepts
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Prototype model
Prototype modelPrototype model
Prototype model
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 

Mais de op205

3 f6 security
3 f6 security3 f6 security
3 f6 securityop205
 
3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologies3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologiesop205
 
3 f6 8_databases
3 f6 8_databases3 f6 8_databases
3 f6 8_databasesop205
 
3 f6 9a_corba
3 f6 9a_corba3 f6 9a_corba
3 f6 9a_corbaop205
 
3 f6 9a_corba
3 f6 9a_corba3 f6 9a_corba
3 f6 9a_corbaop205
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systemsop205
 
Lecture 5 Software Engineering and Design Design Patterns
Lecture 5 Software Engineering and Design Design PatternsLecture 5 Software Engineering and Design Design Patterns
Lecture 5 Software Engineering and Design Design Patternsop205
 
Lecture 4 Software Engineering and Design Brief Introduction to Programming
Lecture 4 Software Engineering and Design Brief Introduction to ProgrammingLecture 4 Software Engineering and Design Brief Introduction to Programming
Lecture 4 Software Engineering and Design Brief Introduction to Programmingop205
 
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...Lecture 2 Software Engineering and Design Object Oriented Programming, Design...
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...op205
 
Lecture 1 Software Engineering and Design Introduction
Lecture 1 Software Engineering and Design Introduction Lecture 1 Software Engineering and Design Introduction
Lecture 1 Software Engineering and Design Introduction op205
 
More on DFT
More on DFTMore on DFT
More on DFTop205
 
Digital Signal Processing Summary
Digital Signal Processing SummaryDigital Signal Processing Summary
Digital Signal Processing Summaryop205
 
Implementation of Digital Filters
Implementation of Digital FiltersImplementation of Digital Filters
Implementation of Digital Filtersop205
 
Basics of Analogue Filters
Basics of Analogue FiltersBasics of Analogue Filters
Basics of Analogue Filtersop205
 
Design of IIR filters
Design of IIR filtersDesign of IIR filters
Design of IIR filtersop205
 
Design of FIR filters
Design of FIR filtersDesign of FIR filters
Design of FIR filtersop205
 
Basics of Digital Filters
Basics of Digital FiltersBasics of Digital Filters
Basics of Digital Filtersop205
 
Introduction to Digital Signal Processing
Introduction to Digital Signal ProcessingIntroduction to Digital Signal Processing
Introduction to Digital Signal Processingop205
 
Fast Fourier Transform
Fast Fourier TransformFast Fourier Transform
Fast Fourier Transformop205
 
Brief Review of Fourier Analysis
Brief Review of Fourier AnalysisBrief Review of Fourier Analysis
Brief Review of Fourier Analysisop205
 

Mais de op205 (20)

3 f6 security
3 f6 security3 f6 security
3 f6 security
 
3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologies3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologies
 
3 f6 8_databases
3 f6 8_databases3 f6 8_databases
3 f6 8_databases
 
3 f6 9a_corba
3 f6 9a_corba3 f6 9a_corba
3 f6 9a_corba
 
3 f6 9a_corba
3 f6 9a_corba3 f6 9a_corba
3 f6 9a_corba
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systems
 
Lecture 5 Software Engineering and Design Design Patterns
Lecture 5 Software Engineering and Design Design PatternsLecture 5 Software Engineering and Design Design Patterns
Lecture 5 Software Engineering and Design Design Patterns
 
Lecture 4 Software Engineering and Design Brief Introduction to Programming
Lecture 4 Software Engineering and Design Brief Introduction to ProgrammingLecture 4 Software Engineering and Design Brief Introduction to Programming
Lecture 4 Software Engineering and Design Brief Introduction to Programming
 
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...Lecture 2 Software Engineering and Design Object Oriented Programming, Design...
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...
 
Lecture 1 Software Engineering and Design Introduction
Lecture 1 Software Engineering and Design Introduction Lecture 1 Software Engineering and Design Introduction
Lecture 1 Software Engineering and Design Introduction
 
More on DFT
More on DFTMore on DFT
More on DFT
 
Digital Signal Processing Summary
Digital Signal Processing SummaryDigital Signal Processing Summary
Digital Signal Processing Summary
 
Implementation of Digital Filters
Implementation of Digital FiltersImplementation of Digital Filters
Implementation of Digital Filters
 
Basics of Analogue Filters
Basics of Analogue FiltersBasics of Analogue Filters
Basics of Analogue Filters
 
Design of IIR filters
Design of IIR filtersDesign of IIR filters
Design of IIR filters
 
Design of FIR filters
Design of FIR filtersDesign of FIR filters
Design of FIR filters
 
Basics of Digital Filters
Basics of Digital FiltersBasics of Digital Filters
Basics of Digital Filters
 
Introduction to Digital Signal Processing
Introduction to Digital Signal ProcessingIntroduction to Digital Signal Processing
Introduction to Digital Signal Processing
 
Fast Fourier Transform
Fast Fourier TransformFast Fourier Transform
Fast Fourier Transform
 
Brief Review of Fourier Analysis
Brief Review of Fourier AnalysisBrief Review of Fourier Analysis
Brief Review of Fourier Analysis
 

Último

How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 

Último (20)

How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 

Lecture 7 Software Engineering and Design User Interface Design

  • 1. User Interface Design Elena Punskaya, op205@cam.ac.uk 1
  • 2. UI Design “A user interface is well-designed when the program behaves exactly how the user thought it would.” • User familiarity: copy well-known features from other programs • Consistency: do similar operations in the same way • Choose default values carefully: minimise the number of choices novice users have to make • Use metaphors: to establish the user’s conceptual model • Recoverability: ensure UNDO works in every situation • Provide help: but (!) make it sparing and highly context specific • Sounds easy, however, there are some constraints © 2012 Elena Punskaya 2 Cambridge University Engineering Department 2
  • 3. Constraints • Users don’t read the manual © 2012 Elena Punskaya 3 Cambridge University Engineering Department 3
  • 4. Constraints • Users won’t read more than 2 or 3 words at a time © 2012 Elena Punskaya 4 Cambridge University Engineering Department 4
  • 5. Constraints • Users don’t like making choices © 2012 Elena Punskaya 5 Cambridge University Engineering Department 5
  • 6. Constraints • Users don’t like being frightened © 2012 Elena Punskaya 6 Cambridge University Engineering Department 6
  • 7. Constraints • Users don’t like being confused © 2012 Elena Punskaya 7 Cambridge University Engineering Department 7
  • 8. Constraints • Users ALWAYS click OK © 2012 Elena Punskaya 8 Cambridge University Engineering Department 8
  • 9. UI Design Process • Define a set of representative user types • Identify the most important activities, i.e. use cases • Assume some user model based on how you think each user will expect to accomplish each activity? • Design the UI based on the current user model - use metaphors to illuminate the user model - borrow familiar behaviours from other programs esp. controls - keep it very simple, users will always assume the simplest model • Implement a prototype • Test each use case with each user type and iterate - do not ignore the minority in favour of the majority - note areas where people have trouble. These are probably areas where the program model does not match the user model • Refine the user model and iterate © 2012 Elena Punskaya 9 Cambridge University Engineering Department 9
  • 10. User Types • User types are often application specific but common categories are - geeks - enjoy figuring out how things work - teenagers - like geeks but know no fear - experienced users - think they already know how everything works - naive users - often too timid to explore the interface • There is also a dichotomy between - People raised with computers - New users trying to use computers • For each user type selected as appropriate for testing an application, a profile should be created answering the following questions: - What are the user’s goals? - What are the user’s skills and experience? • The answers to these questions will help design a strategy which allows users to exploit their skills and experience to efficiently satisfy their goals • Ideally, a user interfaces should work well for all user types © 2012 Elena Punskaya 10 Cambridge University Engineering Department 10
  • 11. Donald A. Normal says • and then provokes http://www.nngroup.com/ © 2012 Elena Punskaya 11 Cambridge University Engineering Department 11
  • 12. Use Cases • A use case describes a typical user activity from start to end. A good set of use cases motivates a design, and provides a basis for testing. • A use case will consist of - Definition of the user’s goal - List of pre-conditions (e.g. information needed before the task can start) - Criteria for successful completion - List of main steps in the activity flow - Any extensions/alternatives to this use case • This is also called activity based planning • More generally, “Use cases are a technique for organizing and eliciting requirements” and “Use cases appear in the UML in the form of use case diagrams” [10] source: Wikipedia © 2012 Elena Punskaya 12 Cambridge University Engineering Department 12
  • 13. Designing Experiences • Storyboard – a sequence of images for the purpose of visualising the script in film production charlesratteraydesign.com/wp/project/storyboards-firefly-initial-pitch-boards-episode-one/ © 2012 Elena Punskaya 13 Cambridge University Engineering Department 13
  • 14. Designing Experiences • Service Blueprinting: When Customer Satisfaction Numbers are not enough - Susan L. Spraragen, IBM Watson Research and Carrie Chan, School of Design, MMC110 Appendix A: Enhanced Blueprint for complete call center episode Carnegie Mellon University © 2012 Elena Punskaya 14 Cambridge University Engineering Department 14
  • 15. Service blueprinting was introduced by Lynn Shostack [3] as a method to model the service fluctuation tha Designing Experiences: Emotions matter! processes from the customer perspective. She organized the service activity in a way that is similar to that the provider to of a theater production. The top section, labeled the “onstage” area, considers what the customer actually • Service Blueprinting: from traditional to sees, or is aware of, during their service experience. Here is where the customer’s journey is mapped out provider inter enhanced horizontally. The “backstage” area shows necessary and corresponding provider actions that the customer does not see. This area details the provider actions that they are trained or required to perform. The Throu separation of these two areas has traditionally been marked by the line of visibility (see figure 1). pronounced an emotion to mo used a dotted The larger the these frustrati circles. These providers will This i Figure 1: Traditional Blueprint Layout may not be br In this figure we show a traditional blueprint segment for the early steps of placing a call to a contact to show this m center. This scenario will be elaborated upon for the test case used with our enhanced blueprint. The line of visibility can be used as a conscious guide for determining which provider service When a bubbl actions the customer should see and be aware of during their service transaction. Care is taken not to hold, it occup burden the customer with unnecessary backstage actions or administrative details. At the same time, © 2012 Elena Punskaya address As we 15 Cambridge University Engineering Department scale. But 15 for
  • 16. Designing Experiences: overall exparience • IDEO project for Amtrack’s high-speed trains – Acela Express • Brief: design the interior of the cabin • Work: realised that the actual rail journey is only a part of the overall experience and the whole process needs to be designed together, including - passenger’s decision to travel by train - buying tickets - arriving at the station - waiting for the departure - travelling - arrival to the destination station - transfer to the final destination www.ideo.com/work/acela • Unfortunately, over time, the service has failed to live up to the standard (e.g. the speed limited by old tracks) – need to consider practical implications, especially over the long lifetime of the system - http://www.adobe.com/uk/designcenter/thinktank/greenfield_04.html © 2012 Elena Punskaya 16 Cambridge University Engineering Department 16
  • 17. Designing Experiences • Applied to software applications, there are the following stages of user experience • Discovery – a person is realising a need and finding the application to address it • Installation – obtaining a copy of the application and setting it up • First experience – “can I do what I downloaded it for or do I need to read instructions?”, being guided through the first use, building a conceptual model of the application • Repeat experience – “I know what it can do, can I do what do most often in the quickest possible way?” • Error handling – what went wrong, how to recover • Help reference – could facilitate the first use, help to discover advanced functionality or just serve as a reference for less common operations • Maintenance – updates: notifications about availability, applying updates • Support – if needed more help, user groups, support email/phone • Feedback – providing a back channel, identifying issues and features requests © 2012 Elena Punskaya 17 Cambridge University Engineering Department 17
  • 18. UI Flows • Need to capture a Screen and Actions possible from it • 37 Signals’ notation: - Screens (at the top) - Actions (under the solid line) - Alternative actions (under dotted lines) - Arrows indicate the flow • More details - 37signals.com/svn/posts/1926-a-shorthand-for-designing-ui-flows © 2012 Elena Punskaya 18 Cambridge University Engineering Department 18
  • 19. Example • Consider a program to make and send greetings cards • A simple functional approach would just define the functions that are needed: - Create a new blank card - Select a style from a library - Add/edit text to a card - Add a graphic to card - Email card or print it out • A UI to implement this might then consist of a few standard menus - An experienced user would have no problem with this. However, a naıve user faced with a blank screen and just a few generic menu commands such as the above would be lost - A tool bar with graphic icons might help but real novices need guidance. © 2012 Elena Punskaya 19 Cambridge University Engineering Department 19
  • 20. Wizards • Wizards guide a user through pre-stored use cases one step at a time • In case of the greeting card, the Wizard would lead the user through a sequence of steps • Step 1: What do you want to do? 1.Send a birthday card? 2.Send an anniversary card? 3.Send a party invitation? © New Line Cinema and Wingnut Studios 4.Start with a blank card? - User chooses (1) • Step 2: Select a background - User selects from a palette of birthday card designs • Step 3: Enter desired greeting - User types greeting into a text box • Etc. Apple Keynote 2009 © 2012 Elena Punskaya 20 Cambridge University Engineering Department 20
  • 21. Import Wizard • Allows to guide the user through a process with a multiple decision tree, to help the software do its job better © 2012 Elena Punskaya 21 Cambridge University Engineering Department 21
  • 22. Online Wizards • Hotel reservation process at Booking.com • Allows to guide the user throughout the room reservation process © 2012 Elena Punskaya 22 Cambridge University Engineering Department 22
  • 23. User Conceptual Model • User conceptual model is the user’s mental model of what is happening • Note that different users will have different mental models. A good UI design encourages every user to adopt www.videolan.org/vlc/ the same mental model • Eliciting user models: - usually 5-6 people is enough to gather a consensus - present each user with a scenario and a task to complete - use simple prototypes, screen mock-ups or just sketches to describe scenario - ask user questions to understand how they would set about the task - hence infer their mental model • Using a metaphor can help a user align their conceptual model with the way that the program actually works Amazon’s Kindle for iPad © 2012 Elena Punskaya 23 Cambridge University Engineering Department 23
  • 24. Complexity of Simple Things • Functional Requirement: copy of the computer screen Mac OS: Cmd-Shift-3 Windows: Print Screen © 2012 Elena Punskaya 24 Cambridge University Engineering Department 24
  • 25. User Input • Direct manipulation: typing, gestures, e.g. Media Players, Graphic programs - Fast, intuitive and easy to learn, but hard to implement and only suitable when there is an appropriate visual metaphor • Menu selection, e.g. Mobile phone - Avoids user error and needs little typing. Could be tedious for experienced users and is not suited to many complex options • Form fill-in, e.g. Stock control - Good for data entry, requires significant screen space • Command language, e.g. Travel booking system - Powerful and flexible for experienced users, hard to learn • Natural language, e.g. www.trueknowledge.com or Siri for iPhone stupidsiri.net - Accessible and easily extended, could be unreliable but will get better as the computing power and connectivity of the devices increase © 2012 Elena Punskaya 25 Cambridge University Engineering Department 25
  • 26. Information Presentation • All interactive systems need some way of presenting information to the user • It is good design practice to keep the presentation separate from the information itself; this is sometimes called the document-view architecture • The representation on the screen can be changed without having to change the underlying architecture • There is a vast choice of display styles: bar charts, thermometers, dials, as well as just displaying text and numbers. - In general, graphical display methods should be used as they can present trends and relative values. A digital display should only be used when precision is required, and even then graphical highlighting could be used to highlight changes • Colour is very useful for highlighting or increasing clarity - However, don’t use more than 4-5 colours, and be consistent with their use (e.g. red for danger) © 2012 Elena Punskaya 26 Cambridge University Engineering Department 26
  • 27. Model View Controller • Model View Controller (MVC) is the common pattern that separates the data, its presentation and the way it is manipulated by the user • Observer design pattern is a key part of MVC • Model – an abstraction of the data that provides ways of accessing and manipulating it • View – presents a specific purpose view onto the Model, captures User’s input and passes it on to the Controller • Controller – interprets User’s input and invokes corresponding actions on the Model developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CocoaFundamentals/ CocoaDesignPatterns/CocoaDesignPatterns.html#//apple_ref/doc/uid/TP40002974-CH6-SW1 © 2012 Elena Punskaya 27 Cambridge University Engineering Department 27
  • 28. Graphical User Interfaces Frameworks • GUIs are often implemented using application framework class libraries • Pioneered by Apple via “MacApp”, then by copied by Microsoft with the MFC (Microsoft Foundation Class) library • Basic functionality is coded in base classes e.g. windows, menus, scrollbars, buttons, etc • “Look and Feel” is then dictated by class library so all applications built using the library adopt similar devices and metaphors • Developer can customises base classes to achieve required functionality e.g. - decorator pattern used to add widgets to windows - observer pattern used for synchronising multiple views of an object - today there are literally hundreds of GUI toolkits available targeted at specific languages, operating systems, cross-platform, etc. Examples are Swing, TK, GTK+, OpenUI, Zinc, Motif, Qt, XVT, FLTK, Wx © 2012 Elena Punskaya 28 Cambridge University Engineering Department 28
  • 29. GUI Frameworks • GUI Frameworks could be provided by the target platform: Android, iOS or be a part of the language libraries: Java Swing • Each framework can have its own concepts and design principles that should be followed • Each framework allows to extend standard components (Views, Buttons, Lists) to implement custom behaviour https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/ developer.android.com/design/building-blocks/index.html GS_UserExperience_iPhone/_index.html#//apple_ref/doc/uid/TP40007296 © 2012 Elena Punskaya 29 Cambridge University Engineering Department 29
  • 30. Error Messages • Error messages should be there to help the user - polite - concise - consistent - constructive - appropriate to user’s skill level - accurate - informative - appropriate to setting • How NOT to do it: © 2012 Elena Punskaya 30 Cambridge University Engineering Department 30
  • 31. Progress Indicator / Waiting Screen • Waiting is the most frustrating part of any user experience • Providing a good progress indicator helps to elevate this pain and it should be: - dynamic: confirms that something is happening - informative: how much is remaining/ has been done MozyHome, © Decho Corp Metal Gear Solid 4, © Konami http://www.ign.com/blogs/tengu230/2011/07/14/the-unnoticed-video-game-loading-screens © 2012 Elena Punskaya 31 Cambridge University Engineering Department 31
  • 32. User Interface Summary • The key ingredient to a successful UI is to ensure that the user adopts a mental model which is consistent with the underlying program model • To achieve this a compromise is needed - use metaphors, wizards, etc to guide the user to the right model - modify the program model to match user expectations • Use cases help design the UI and guide testing • Many toolkits are available for rapid GUI construction • Good Designs make Winning Products and make Users Happy! www.spotify.com GoodReader by Good.iWare Instargram by Burbn www.goodiware.com instagr.am © 2012 Elena Punskaya 32 Cambridge University Engineering Department 32
  • 33. © 2012 Elena Punskaya 33 Cambridge University Engineering Department 33
  • 34. Good Design Is... by Dieter Rams • Good design is innovative - The possibilities for innovation are not, by any means, exhausted. Technological development is always offering new opportunities for innovative design. But innovative design always develops in tandem with innovative technology, and can never be an end in itself. • Good design makes a product useful - A product is bought to be used. It has to satisfy certain criteria, not only functional but also psychological and aesthetic. Good design emphasises the usefulness of a product while disregarding anything that could possibly detract from it. • Good design is aesthetic - The aesthetic quality of a product is integral to its usefulness because products are used every day and have an effect on people and their well-being. Only well-executed objects can be beautiful. • Good design makes a product understandable - It clarifies the product's structure. Better still, it can make the product clearly express its function by making use of the user's intuition. At best, it is self-explanatory. • Good design is unobtrusive - Products fulfilling a purpose are like tools. They are neither decorative objects nor works of art. Their design should therefore be both neutral and restrained, to leave room for the user's self-expression. © 2012 Elena Punskaya 34 Cambridge University Engineering Department 34
  • 35. Good Design Is... by Dieter Rams • Good design is honest - It does not make a product more innovative, powerful or valuable than it really is. It does not attempt to manipulate the consumer with promises that cannot be kept • Good design is long-lasting - It avoids being fashionable and therefore never appears antiquated. Unlike fashionable design, it lasts many years – even in today's throwaway society. • Good design is thorough down to the last detail - Nothing must be arbitrary or left to chance. Care and accuracy in the design process show respect towards the consumer. • Good design is environmentally friendly - Design makes an important contribution to the preservation of the environment. It conserves resources and minimises physical and visual pollution throughout the lifecycle of the product. • Good design is as little design as possible - Less, but better – because it concentrates on the essential aspects, and the products are not burdened with non-essentials. Back to purity, back to simplicity. © 2012 Elena Punskaya 35 Cambridge University Engineering Department 35
  • 36. UI Design “A user interface is well-designed when the program behaves exactly how the user thought it would.” • User familiarity: copy well-known features from other programs • Consistency: do similar operations in the same way • Choose default values carefully: minimise the number of choices novice users have to make • Use metaphors: to establish the user’s conceptual model • Recoverability: ensure UNDO works in every situation • Provide help: but (!) make it sparing and highly context specific • Sounds easy, however, there are some constraints © 2012 Elena Punskaya 36 Cambridge University Engineering Department 36
  • 37. User Types • User types are often application specific but common categories are - geeks - enjoy figuring out how things work - teenagers - like geeks but know no fear - experienced users - think they already know how everything works - naive users - often too timid to explore the interface • There is also a dichotomy between - People raised with computers - New users trying to use computers • For each user type selected as appropriate for testing an application, a profile should be created answering the following questions: - What are the user’s goals? - What are the user’s skills and experience? • The answers to these questions will help design a strategy which allows users to exploit their skills and experience to efficiently satisfy their goals • Ideally, a user interfaces should work well for all user types © 2012 Elena Punskaya 37 Cambridge University Engineering Department 37
  • 38. UI Design Process • Define a set of representative user types • Identify the most important activities, i.e. use cases • Assume some user model based on how you think each user will expect to accomplish each activity? • Design the UI based on the current user model - use metaphors to illuminate the user model - borrow familiar behaviours from other programs esp. controls - keep it very simple, users will always assume the simplest model • Implement a prototype • Test each use case with each user type and iterate - do not ignore the minority in favour of the majority - note areas where people have trouble. These are probably areas where the program model does not match the user model • Refine the user model and iterate © 2012 Elena Punskaya 38 Cambridge University Engineering Department 38
  • 39. Designing Experiences • Applied to software applications, there are the following stages of user experience • Discovery – a person is realising a need and finding the application to address it • Installation – obtaining a copy of the application and setting it up • First experience – “can I do what I downloaded it for or do I need to read instructions?”, being guided through the first use, building a conceptual model of the application • Repeat experience – “I know what it can do, can I do what do most often in the quickest possible way?” • Error handling – what went wrong, how to recover • Help reference – could facilitate the first use, help to discover advanced functionality or just serve as a reference for less common operations • Maintenance – updates: notifications about availability, applying updates • Support – if needed more help, user groups, support email/phone • Feedback – providing a back channel, identifying issues and features requests © 2012 Elena Punskaya 39 Cambridge University Engineering Department 39
  • 40. to view the information in various ways. The UI Design Example • Mobile App Sales Analytics Examples 4.2.5 Settings View The Settings View displays the iTunes Connect username, Company Number (identifies the entity), the iTunes Connect Mobile app version, and options to Autofill Account and Auto Sign Out. iPhone/iPod touch Andlytics, © Timelappse iTunes Connect Mobile, © Apple or developers in the Products, Markets and ummarized. For publishers, the Category © 2012 Elena Punskaya 40 Cambridge University Engineering Department If multiple legal entities are associated with your iTunes Connect account, which is a very rare condition that 40