Introduction to Interactive Systems. Overview. What Is an Interactive System? SMD158 Interactive Systems Spring 2005

Similar documents
Design Principles. Overview. User-Center Design. SMD157 Human-Computer Interaction Fall User-center design Guidelines

Design Principles. Overview. User-Center Design. SMD157 Human-Computer Interaction Fall User-center design Guidelines

Usability Inspection Methods. Overview. Usability Measures. SMD157 Human-Computer Interaction Fall 2003

Introduction to Computer Graphics. Overview. What is Computer Graphics?

User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1

Modeling Issues Modeling Enterprises. Modeling

Interaction Design. Task Analysis & Modelling

SE 2730 Final Review

UNIVERSITY OF CALIFORNIA AT BERKELEY. Name:

Review. Designing Interactive Systems II. Review. Base Window System. Apps UITK BWS GEL. 4-Layer Model Graphics and Event Library BWS GEL

Software Design. Levels in Design Process. Design Methodologies. Levels..

CHAPTER 9 DESIGN ENGINEERING. Overview

Interaction Style Categories. COSC 3461 User Interfaces. Windows. Window Manager

2/18/2009. Introducing Interactive Systems Design and Evaluation: Usability and Users First. Outlines. What is an interactive system

VANCOUVER Chapter Study Group. BABOK Chapter 9 Techniques

Information Visualization. Overview. What is Information Visualization? SMD157 Human-Computer Interaction Fall 2003

Theories of User Interface Design

Organization of User Interface Software

Process of Interaction Design and Design Languages

M150 -B / Unit 12. By Wawi. A good user interface design enables the user to effectively interact with the system and perform his tasks.

Product Requirements Document Boundless Workspace

Page 1. Ideas to windows. Lecture 7: Prototyping & Evaluation. Levels of prototyping. Progressive refinement

User Interface Overview. What is Usability Engineering?

User Interface Design

Usability and User Interface Design

Questionnaire Specification Database for Blaise Surveys

Seng310 Lecture 8. Prototyping

Requirement Analysis

Working with Apple Loops

New Approaches to Help Users Get Started with Visual Interfaces: Multi-Layered Interfaces and Integrated Initial Guidance

Chapter 9. Introduction to High-Level Language Programming. INVITATION TO Computer Science

Announcements. Usability. Based on material by Michael Ernst, University of Washington. Outline. User Interface Hall of Shame

SBD:Interaction Design

Lesson 06. Requirement Engineering Processes

An Introduction to Human Computer Interaction

CS3205: Task Analysis and Techniques

Renderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005

Usability Testing CS 4501 / 6501 Software Testing

What is a Data Model?

Educational Fusion. Implementing a Production Quality User Interface With JFC

Welcome to our Moodle site! What is Moodle?

Lecture 6. Design (3) CENG 412-Human Factors in Engineering May

How to Use ServiceNow

Open Book Format.docx. Headers and Footers. Microsoft Word Part 3 Office 2016

Impress Guide. Chapter 1 Introducing Impress

We will talk about Alt-Tab from the usability perspective. Think about: - Is it learnable? - Is it efficient? - What about errors and safety?

Interface Design Issues Lecture 8

Fall UI Design and Implementation 1

MIT GSL week 4 Wednesday. User Interfaces II

Specifying and Prototyping

Designing the User Interface

Accessibility Tips for Teams

CS 370 The Pseudocode Programming Process D R. M I C H A E L J. R E A L E F A L L

Content Author's Reference and Cookbook

How do we increase software and design reusability?

UNIT-V SOFTWARE QUALITY AND USABILITY CHAPTER 12. VIEW LAYER: Designing Interface Objects. At the end of this chapter, students should be able to

User Interface Design

COMP 388/441 HCI: 09 - Balancing Function and Fashion Balancing Function and Fashion

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

Architectural Decomposition Mei Nagappan

Usability. CSE 331 Spring Slides originally from Robert Miller

The LUCID Design Framework (Logical User Centered Interaction Design)

A short introduction to. designing user-friendly interfaces

HCI in the software process

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

A new interaction evaluation framework for digital libraries

Object-Oriented Design גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון

Site Design. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Plenty to choose from. Help designers choose design alternatives Help evaluators find problems in interfaces (heuristic evaluation)

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

Welcome Application. Introducing the Visual Studio.NET IDE. Objectives. Outline

The Business Case for Usability. Why do IT Projects Fail? Why Most Websites Fail? Forrester Research. The Cost of Change

Module 9: Audience Analysis, Usability, and Information Architecture COM 420

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV

CSE111 Introduction to Computer Applications

Powerful presentation solutions from Microsoft Improve the way you create, present, and collaborate on presentations. Use enhanced multimedia

User Experience Research Report: Heuristic Evaluation

Object Oriented Programming

Ch 1: The Architecture Business Cycle

Impress Guide Chapter 1 Introducing Impress

Document Clustering for Mediated Information Access The WebCluster Project

Setting up the latest Java Baby Simulator

Managing Design Processes

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process

Computer Viewing and Projection. Overview. Computer Viewing. David Carr Fundamentals of Computer Graphics Spring 2004 Based on Slides by E.

Mensch-Maschine-Interaktion 1. Chapter 2 (May 12th, 2011, 9am-12pm): Basic HCI principles 1

Software Architectures

CS 349 / SE 382 Custom Components. Professor Michael Terry February 6, 2009

Understanding prototype fidelity What is Digital Prototyping? Introduction to various digital prototyping tools

Interaction Techniques. SWE 432, Fall 2016 Design and Implementation of Software for the Web

User interface design. Software Engineering Slide 1

Interaction design. The process of interaction design. Requirements. Data gathering. Interpretation and data analysis. Conceptual design.

CSCU9T4: Managing Information

Buffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E.

Specifying Usability Features with Patterns and Templates

System Configuration. Paul Anderson. publications/oslo-2008a-talk.pdf I V E R S I U N T Y T H

Data Virtualization Implementation Methodology and Best Practices

Copyright and Trademark Information Trademarks Disclaimer; No Warranty

needs, wants, and limitations

WIMP Elements. GUI goo. What is WIMP?

Transcription:

INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Introduction to Interactive Systems SMD158 Interactive Systems Spring 2005 Jan-14-05 1997-2005 by David A. Carr 1 L Overview What is an interactive system? Software lifecycle Layers of an interactive system Interactive systems design Jan-14-05 1997-2005 by David A. Carr 2 L INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET What Is an Interactive System? Jan-14-05 1997-2005 by David A. Carr 3 L

What is an Interactive System? Any system that accepts input from the user and provides information as output to the user. Note,we will concentrate on window-based systems, but the vast majority of interactive systems are not window-based. Examples: - Microwave ovens - Mobil telephones - Pocket calculators - Airliners Jan-14-05 1997-2005 by David A. Carr 4 L Two Points-of-View Interactive systems can be viewed from: - The user perspective, - The system perspective This course will concentrate on the system point-ofview. However, the user point-of-view is still important. Jan-14-05 1997-2005 by David A. Carr 5 L Two Points-of-View To the user the system is: - A tool for accomplishing tasks - Something that receives input - And hopefully, displays output - All too often, a source of frustration To the system the user is: - A source of asynchronous input - An indirect target for output through various devices (display, speaker, lights,...) Jan-14-05 1997-2005 by David A. Carr 6 L

Ignoring the User Ignoring the user, can have serious consequences Examples: - The Pollack s election documents and a poorly designed text editor - The Vincennes Jan-14-05 1997-2005 by David A. Carr 7 L INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Software Life Cycle Jan-14-05 1997-2005 by David A. Carr 8 L The Software Engineering Life Cycle Six phases: - Requirements definition - Specification - Implementation - Testing - Installation - Maintenance Always presented as a linear progression, but in reality things are not so. Jan-14-05 1997-2005 by David A. Carr 9 L

Requirements Definition Semi-formal description of the system Specifies the properties and services that the system must perform - Usually prioritized Often specifies the execution environment Usually provided by the customer, but: - The customer is not always the user - The customer does not always know exactly what is wanted - It usually changes during the development cycle The designer must resolve incomplete and/or conflicting requirements Jan-14-05 1997-2005 by David A. Carr 10 L Specification Two phases, functional and internal Functional phase - Describes the functions that the system will have - Divides them between the operator and the system Internal phase - Maps the functions to software - Relates the functions to specific software components - Defines: data structures, modules, algorithms,... Jan-14-05 1997-2005 by David A. Carr 11 L Implementation & Testing Overlap Implementation - Development of components - Integration (Very time consuming if the internal design is not done well.) Testing - Module testing - Systems testing - Acceptance testing Jan-14-05 1997-2005 by David A. Carr 12 L

Installation & Maintenance Students always escape these, but maintenance is typically more than half of the effort. Installation usually proceeds acceptance testing. Installation is time consuming and usually requires significant user support. Maintenance is usually the largest part of any system s life. Revision follows the same SE model, although it is maintenance. Jan-14-05 1997-2005 by David A. Carr 13 L The Spiral Model Jan-14-05 1997-2005 by David A. Carr 14 L Software Engineering and the User Interface Iterative design of the user interface tends to blend specification, implementation, and testing. User involvement can result in changes to the requirements after they are complete. Failure to test early with real users can result in: - System failure - An immediate demand for a new version Jan-14-05 1997-2005 by David A. Carr 15 L

INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Layers of an Interactive System Jan-14-05 1997-2005 by David A. Carr 16 L An Interactive Systems View of the Software Functional Core Dialog Control Interaction Objects Window System Device Drivers We concentrate here Jan-14-05 1997-2005 by David A. Carr 17 L Functional Core A.k.a., the application, the backend Implements domain knowledge (e.g. IOGs) Logically separated from all user interface objects - Independent of input and output types (pen vs. keyboard, or display vs. audio) - But, still aware that there is a user Jan-14-05 1997-2005 by David A. Carr 18 L

Dialog Control Controls sequencing Function availability at a specific time Interaction style (e.g., menu vs. command line) Jan-14-05 1997-2005 by David A. Carr 19 L Interaction Objects A.k.a. widgets, interactors Logical devices which the user manipulates with the input devices Includes: - Presentation (output) - Interaction (input) - Miniature dialog (sequencing) Jan-14-05 1997-2005 by David A. Carr 20 L Window System & Device Drivers Window System - Interface between the interactors and the device drivers. - Provides a logical device that hides machine dependent details. - Provides for sharing of physical devices (e.g., mouse & display). Device Drivers - Map from an abstract device to a physical. - Direct interface to the hardware. Jan-14-05 1997-2005 by David A. Carr 21 L

This Is Only One Model Note, not everyone agrees that the functional core can be separated from the interface. - Interaction often needs data that is in the functional core. + Runtime generated lists + Status of real-time equipment that is being monitored + User input while running IOGs in debug mode. - Separation can lead to time lags between actions and events + E.g., mouse events winding up in the wrong window Jan-14-05 1997-2005 by David A. Carr 22 L INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Interactive Systems Design Jan-14-05 1997-2005 by David A. Carr 23 L The Design Phases Remember the six phases of the software engineering life cycle : - Requirements definition - Specification - Implementation - Testing - Installation - Maintenance Design encompasses the first two. Jan-14-05 1997-2005 by David A. Carr 24 L

Another View of the Process Define the problem Model the operator Perform a task analysis Define computer objects and functions Design the appearance and behavior of the user interface Evaluate the design Jan-14-05 1997-2005 by David A. Carr 25 L View Overlap Requirements Define the problem Analysis Model the operator Perform a task analysis Internal Define objects and functions Design Design the user interface Evaluate Functional Design All Jan-14-05 1997-2005 by David A. Carr 26 L Define the Problem Begin with a one-sentence problem-statement. - This system will allow a systems developer to design widgets using Interaction Object Graphs and edit the graphs on a workstation. The statement should include four elements: - Performers of the activity, a.k.a. the users (system developers) - Supported activity (widget design) - Form of solution (any workstation on the Internet) - Level of support (edit) Next, expand the four elements. Jan-14-05 1997-2005 by David A. Carr 27 L

The Performers of the Activity Who are they? What is their training? Why are they going to use the new system? How are they doing things now? What general needs do they have? What specific needs do they have? Jan-14-05 1997-2005 by David A. Carr 28 L Usability Criteria Speed of performance Incidence of errors Recoverability from errors Speed of learning to use the system Retention of operation skill Flexibility of the system with respect to the users way of working Ease with which users can reorganize activities supported by the system User Satisfaction Jan-14-05 1997-2005 by David A. Carr 29 L Support for: - Logical correctness - Readability - Storage and retrieval - Interface to other software Solutions? Specific Needs Jan-14-05 1997-2005 by David A. Carr 30 L

Supported Activity What type of widget? - Needs further refinement - State based?, continuous What level of editing? - Diagram itself - Logical function - Widget appearance? Interfaces to which systems? Jan-14-05 1997-2005 by David A. Carr 31 L Form of Solution Workstation - Java capable (applet or application?) - Other requirements? Target environment? - Workstation itself - Embedded devices Jan-14-05 1997-2005 by David A. Carr 32 L Level of Support Easy isn t very descriptive. Better parameters - Accuracy - Time to accomplish a task - Few errors - Quick discovery and recovery from errors - Satisfaction - Flexibility with different instruments - Flexibility with different tasks Jan-14-05 1997-2005 by David A. Carr 33 L

Model the Operators Remember the questions - Who are they? - What is their training? - Why are they going to use the new system? - How are they doing things now? - What general needs do they have? - What specific needs do they have? How do we answer them? - Interviews - Questionnaires - Observation in the workplace Jan-14-05 1997-2005 by David A. Carr 34 L Perform a Task Analysis State broad tasks and decompose them Analyze the decomposition - Semantic inconsistencies - Parallel tasks - Identify special tasks + Frequent + Common + Complex Partition tasks between users and the system Jan-14-05 1997-2005 by David A. Carr 35 L Broad Tasks for the IOG Editor Operator Goals - Add and define states - Connect states with arcs, define arcs - Test IOG execution - Save work - Browse IOG - Test IOG - Create widget Jan-14-05 1997-2005 by David A. Carr 36 L

Decomposition Add and Define States Select state type Place on work surface Insert state specific data - Name - States for meta states - Pictures for display states - Annotations in standard states Jan-14-05 1997-2005 by David A. Carr 37 L Define Objects and Functions Make semantic objects in the functional core correspond to task objects - Each widget, state, arc,... Implement syntax in the UI to facilitate task accomplishment - Multiple views - Status indicators Define commands based on task decomposition Jan-14-05 1997-2005 by David A. Carr 38 L Define Objects and Functions Provide general services - Macros - Undo/redo - Cut/copy/paste - On-line help - Defaults Determine who controls the interaction - User or system - Stress collaboration Jan-14-05 1997-2005 by David A. Carr 39 L

Design the UI Details Interaction objects should map syntax to semantics Keep appearance and behavior consistent - Choose an appropriate metaphor - Use a UI toolkit (Swing/Jazz) Use forms and menus - Specify actions - Display units on forms - Chose good defaults and display them Jan-14-05 1997-2005 by David A. Carr 40 L Design the UI Details Support semantic distance (making things distinct and separate) by using - prefix or postfix syntax - precise and consistent naming - consistent spatial layout Provide informative feedback - Show the interaction objects useful in a task context - Indicate forbidden actions - Display the current system mode (NO HIDDEN MODES!) - Inform the operator of long response times - Map movements of pointers on the screen Jan-14-05 1997-2005 by David A. Carr 41 L Evaluation Simulations Mock-ups Scenarios Test with a representative operator Jan-14-05 1997-2005 by David A. Carr 42 L

Questions? Jan-14-05 1997-2005 by David A. Carr 43 L