Collected Concepts Flashcards
Human Computer Interaction (HCI)
- Researches the design and use of computer technology, focusing particularly on the interfaces between people (users) and computers.
- Objectives
- Creation of principles theories and methodologies
- Applying them to development
- Testing the outcome of the development
- Key Focus is objective metrics
Purpose of UX specialist
- Inform the design
- Evaluate the build
- Make sure the user is taken into account at all stages of the development
- Software produced is “what the user wanted”.
User Experience (UX)
- Broad term used to describe all the factors that contribute to the quality of experience a person has when interacting with a specific software artefact, or system.
- Focuses on the practice of user-centered:
- Design, creation, and testing
- The outcomes can be qualitatively evaluated using small numbers of users.
UX key properties
- Utility (creates value)
- The software must be useful, profitable, or beneficial
- Effective in Use
- The software must be successful in producing a desired result
- Efficient in Use
- The software must achieve maximum productivity with minimum wasted effort or expense
- Affective in Use (Emotional)
- The software must support the emotional dimensions of the experiences of the user
- Engaging in Use (Dynamic)
- Fun to use, users may experience delight
Waterfall
- sequential design process which progress is seen as flowing steadily downwards
- the worst way of doing human factors work since it’s difficult to feedback and change the requirements.
Spiral
- Emphasis placed on risk analysis.
- Four phases:
- Planning, Risk Analysis, Engineering and Evaluation.
- Repeatedly passes through phases in iterations, called Spirals. The baseline spiral, starting in the planning phase, requirements are gathered and risk is assessed. Each subsequent spirals builds on the baseline spiral.
- Acceptable for UX, because it acknowledges that a number of iterations will be required for each of the phases which may need to be redeveloped based on new information.
Iterative
- Takes into account the impact that the user testing will have on the next iteration of development and planning
- The endpoint can sometimes become lost
Structured Systems Analysis and Design Method (SSADM)
- divides an application development project into modules, stages, steps, and tasks
- Provides a framework for describing projects in a fashion suited to managing the project
- based on waterfall
- not great, but better than waterfall as more time spent understanding the users, envoronment, etc.
Rational Unified Process
- object-oriented and Web-enabled program development methodology
- establishes four phases of development, each of which is organized into a number of separate iterations that must satisfy defined criteria before the next phase is undertaken
- Flexible process which can be modified to suit development needs
- for UX it is better to use Agile Unified Process.
Scrum
- Create backlog -> choose tasks for sprint (2-4 weeks) -> product is usable at the end
- enables aspects of the software to be released to the user in a fast incremental manner.
- All changes requested by users can be integrated in the next sprint.
Rapid Application Development (RAD)
- Rapidly created models of software are tested with users before the main functionality and interaction design are fixed
eXtreme Programming
- rapid application development which requires developers to work in pairs without a detailed design
- lifecycle is cyclical and involves frequent small (point) releases of the software for consumption by the users
- user comments can be accommodated very quickly, minimises the ability to miss undocumented user requirements and specs.
Cowboy coding
- Used to describe software development whereby the developers have autonomy over the process.
- Best for UX
- Development is purely focused on research
- No plans, schedule and timeline
- Used for experimental work and prototyping
- But doesn’t work with commercial projects as will lead to unorganised development and messy work.
Agile Development
- Methodology that is aimed at unpredictability and ability to change direction at any point in development
- Scrum is prime example
- More useful and flexible with regard to the human facing aspects of the development
- User-centric
Separation of Concerns
- Separating the presentational concerns from the other logical components of the system has a high degree of utility.
- UI can then be created in isolation from the other components.
Model View Controller (MVC)
- Controller are based on behaviors and can be shared across views.
- Can be responsible for determining which view to display
Model View Presenter (MVP)
- View is more loosely coupled to the model.
- The presenter is responsible for binding the model to the view.
- Easier to unit test because interaction with the view is through an interface.
- Usually, view to presenter map one to one.
- Complex views may have multi-presenters.
Presentation Abstraction Control (PAC)
- Similar to MVC, but occurs in layers.
- Layers consist of agents which communicate with each other through the control element.
- Each agent completely isolates both the presentation and abstraction elements.
Multilayered Architecture
- Breaks each aspect of the system into a separate layer running from the user interface layer at the top to infrastructure at the bottom.
- For UX, the most important aspect is the division of the UI from the other layers.
- Separation of concerns can still be maintained as long as the application interfaces between the different layers are well defined, isolation between the components can still be maintained
Model-based approaches
- Enable the interface to be directly generated, but additional functionality is required for this.
- Examples
- MVC
- MVP
Layered approaches
- Very practical and describe the system as it is actually developed.
- Separation of concerns is not as high as model-based approaches, so there is always the possibility of functionality drifted between the different layers.
Service Oriented Architecture (SOA)
- Network architecture which requires a high degree of loose coupling of the services provided, to such a degree that these architectures are mainly enacted over the entire networks
- Separates the functionality of the application into distinct uses and isolates that functionality from the operating system.
- Persistence and accuracy cannot be guaranteed if the system developer does not have full control over those services
How can you more efficiently design for multiple Windows Managers?
- Use abstract (multi-platform) windowing toolkits which will compile for many platforms.
- But only if you can guarantee that the result will conform the look and feel of the underlying OS or platform, otherwise you can use skins.
Visual channel (seeing)
- One of main sensory channels
- Visual attention processes:
- Bottom-up
- contrast, size, shape and colour correlate well with visual interest.
- Allows quickly detect items such as bold text and images, and also help to group information into ‘sections’.
- Top-down
- driven by semantics or knowledge about the environment.
- Enable people to interpret the information using prior knowledge and heuristics.
- Bottom-up
Auditory channel (hearing)
- We hear the sounds by the help of our ears
- Highly interrelated with the visual channel.
- Reaction to auditory stimuli is faster than reaction to visual stimuli.
- Restricted to certain frequency and distance
Olfactory channel (smelling)
- Smell has close link with memory, and can be used to assist the user in finding or recognising locations that have already visited.
- Smell and taste is particularly effective when associated with image recognition.
- It is useful to keep smell in mind if you are having particular problems with users forgetting aspects of previously learnt interaction.
Somatic/haptic channel (touching)
- Describe how the user experiences force or dermatic feedback when they touch objects or other users.
- Use of the haptic channel for both control and feedback can be important especially as an aid to other sensory input or output.
- Tactility and haptics have the advantage of making interaction seem more real.
UX relations to previous Human Factors work
- Key aspect of Human Factors and it’s application as user experience engineering is the focus on making a system more humane.
- UX is richer and qualitative whereas previous human factors work is quantitative
Implicit communication
Aesthetics and emotional responses to aspects of the communication
Explicit communication
- Well understood
- Centres on the visual or auditory transmission of both text and images (or sounds) for consumption by user.
Affective/Emotional computing
- Study and development of systems and devices that can recognise, interpret, process, and simulate human emotional changes
- Centres around:
- the detection of emotion
- the ability for computers to express emotion
- in some cases the ability of computers to actually have emotions (in some form).
Input and Control
- Text entry (keyboard)
- Pointing devices
- Speech input
- Touch interfaces
- Gesture recognition
Difference between Gestural interfaces and Touch Gestures
- Touch Gestures in 2D, Gesture recognition in 3D:
- Touchscreen gestures are about the two-dimensional movement of the user’s fingers,
- Gesture recognition is about the position and orientation of a device within three-dimensional space (often using accelerometers, optical sensing, gyroscopic systems).
User Centered Design (UCD) / Co-operative evaluation
- Place user in the center of the development process and allow to criticise the proposed system to gather ‘real’ requirements
- Analyse them using iterative looping methodology which enable the UX’er to understand the requirements of the user and to understand how to service the tasks required by those users.
- Also interested in making sure the functionality defined in the requirement gathering is the ‘right’ functionality for the users - it is ‘what people want’.
Requirements gathering (capture)
- The most used methods for requirements capture:
- participant observation
- interviewing
- archival and unobtrusive methods (collecting data that don’t interfere with the subjects under study).
- Better outcome could be achieved if a variety of methods are used in combination - however, in reality you will mostly be limited by time.
Participant observation
- Gathered by participating in the daily life of the group or organisation under study.
- UX’er watch people to see what situations they normally meet and how they behave in them.
- Then they enter into discussions with participants in the situations to discover their interpretations of the event that have been observed (called ‘conversations with a purpose’), and are usually very informal interviews.
Informant
- Special classes of participants, ‘people-in-the-know’, have a broad knowledge of organisation and can provide clarifications for data collected.
- Key informant
- have extensive knowledge of the user roles, the actions they perform, or the objects on which these action were performed.
- They are an excellent way to recover information about the past events.