34
Prof. Dr. Jan Borchers Media Computing Group RWTH Aachen University hci.rwth-aachen.de/dis2 Lecture 1: Introduction, History, Design Space of Input Devices Designing Interactive Systems 2

Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Prof. Dr. Jan Borchers Media Computing Group RWTH Aachen University

hci.rwth-aachen.de/dis2

Lecture 1: Introduction, History, Design Space of Input Devices

Designing Interactive Systems 2

Page 2: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Video Conferencing Etiquette• We would like to have an interactive class

• Please turn on your video so we can see each other

• Your video will not be in the lecture recording

• Please ask questions (only your voice will be in the recording)

• Use Zoom’s ‘Raise Hand’ function so we don’t talk over each other

• Otherwise, please Mute yourself to avoid echos(we may do this for you if you forget)

• In Audio settings, turn on “press Space to temporarily unmute”

• Turn on your lights so you don’t look like a zombie :)

Prof. Dr. Jan Borchers: Designing Interactive Systems 22

Page 3: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Class Syllabus• Part 1

Key Concepts

• Part 2Usage and Design of UI Toolkits and Design Systems

• Part 3UIs Beyond the Desktop

• Part 4Prototyping Process

Prof. Dr. Jan Borchers: Designing Interactive Systems 23

Page 4: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Administrivia• Format: V3/Ü2

• 6 Credit points

• Class times

• Lecture on Wednesdays (9:30 — 12:00),Room 2222

• Lab on Mondays (14:30 — 16:00),Room 2222

Prof. Dr. Jan Borchers: Designing Interactive Systems 24

Zoom Meetings until further notice!

Page 5: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Team

Prof. Dr. Jan Borchers: Designing Interactive Systems 25

Prof. Dr. Jan Borchers

Sebastian Hueber

[email protected] E-Mail Subject: [DIS 2]

Page 6: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Your Final Grade

Prof. Dr. Jan Borchers: Designing Interactive Systems 26

35%

40%

25%

Weekly Assignments

Midterm Exam (60 min)June, 9thFinal Exam (60 min)

July, 22ndor August, 15th

Page 7: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Weekly Assignments• We have a strict grading policy:

• Late submissions will be graded 5.0 without feedback

• Team size is 2 students (other only by permission). If you hand in a solution without a team partner: 5.0 without feedback

• If your code does not compile: 5.0 without feedback

• For some assignments you will need a Mac

• No Mac? Visit http://www-rbi.informatik.rwth-aachen.de/Pool+Helpdesk/

• Submission via Moodle

Prof. Dr. Jan Borchers: Designing Interactive Systems 27

Page 8: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Website• All information about this course can be

found online

• hci.rwth-aachen.de/dis2

Prof. Dr. Jan Borchers: Designing Interactive Systems 28

Page 9: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

How DIS1 and DIS2 Cover HCI

Prof. Dr. Jan Borchers: Designing Interactive Systems 29

DIS 1

DIS 2

Use and Context

U1 Social Organization and Work

U2 Application Areas

U3 Human-Machine Fit and Adaptation

Human

H1 HumanInformationProcessing

H2 Language,Communicationand Interaction

H3Ergonomics

C1 Input andOutput Devices

ComputerC2 DialogueTechniques

C4 ComputerGraphics

C5 DialogueArchitecture

C3 DialogueGenre

Development Process

D4 Example Systemsand Case Studies

D1 DesignApproaches

D3 EvaluationTechniques

D2 ImplementationTechniques and Tools

Page 10: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

DIA Cycle

Prof. Dr. Jan Borchers: Designing Interactive Systems 210

Design

Implement

Analyze

Page 11: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Prof. Dr. Jan Borchers: Designing Interactive Systems 211

CHAPTER 1

History of User Interface Programming Paradigms

Page 12: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Batch Processing• Prepare data on punch cards

• Wait for result as printout offline

Prof. Dr. Jan Borchers: Designing Interactive Systems 212

Program Execution

▍▍▍▍▍▍▍▍▍▍▍▍▍ ▍▍▍▍▍▍▍▍▍▍▍▍▍ ▍▍▍▍▍▍▍▍▍▍▍▍▍▍▍ ▍▍▍▍▍▍▍▍▍▍▍▍▍▍

Page 13: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Time-sharing Systems• Command-line based interaction

• Shorter turnaround (per-line)

Prof. Dr. Jan Borchers: Designing Interactive Systems 213

args

Page 14: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Full-screen textual UIs• Turnaround per character

• Interaction starts to feel “real-time”

Prof. Dr. Jan Borchers: Designing Interactive Systems 214

WQ ⨯

Page 15: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Menu-based Systems• Discover functionalities instead of

memorizing them

• Threading becomes important

Prof. Dr. Jan Borchers: Designing Interactive Systems 215

WQ ⨯

Page 16: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Graphical User Interface• Event-based program structure

• Pointing devices in addition to keyboard

Prof. Dr. Jan Borchers: Designing Interactive Systems 216

Q ⨯

Page 17: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Prof. Dr. Jan Borchers: Designing Interactive Systems 217

CHAPTER 2

Design Space of Input Devices

Page 18: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Design Space of Input Devices• Card, Mackinlay, Robertson 1991

• Categorization of input devices according tophysical, mechanical and spatial properties

• Why?

• Compare input devices

• Identify new input modalities

Prof. Dr. Jan Borchers: Designing Interactive Systems 218

Reading assignment in Moodle

Page 19: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Movement Primitives

Prof. Dr. Jan Borchers: Designing Interactive Systems 219

Input device ≔ <M, In, S, R, Out, W>

Manipulation operator

Input domain

Device state Output domain

Resolution function Work properties

Page 20: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Example

Prof. Dr. Jan Borchers: Designing Interactive Systems 220

Page 21: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Compositions

Prof. Dr. Jan Borchers: Designing Interactive Systems 221

Layout

Connect

Merge

Page 22: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Prof. Dr. Jan Borchers: Designing Interactive Systems 222

Page 23: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

In-Class Exercise

Prof. Dr. Jan Borchers: Designing Interactive Systems 223

• Plot out the input capabilities of the Ferrari Racing Controller on the Card Design Space of Input Devices.

• The controller consists of a steering wheel with 8 buttons and a rotary switch with 5 states, as well as 2 pedals.

• Assume that the steering wheel can only have one full rotation.

buttons (8 in total)

steering wheel

rotary switch (5 states)

pedals

Page 24: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

In-Class Exercise

Prof. Dr. Jan Borchers: Designing Interactive Systems 224

Linear Rotary

X Y Z rX rY rZ

P R

dP dR

F T

dF dT

1 Inf 1 Inf 1 Inf 1 Inf 1 Inf 1 Inf

82

8 buttons

2 pedals with an infinite number of states each

1 switch with 5 states

1 steering wheel with an infinite number of states

- - - Layout

buttons (8 in total)

steering wheel

rotary switch (5 states)

pedals

Page 25: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Is This Space Complete?

Prof. Dr. Jan Borchers: Designing Interactive Systems 225

Page 26: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Testing Points• Expressiveness describes how precisely the meaning is conveyed

• For input devices, expressiveness suffers if |In| ≠ |Out|

• |In| < |Out|: Cannot specify all legal values

• |In| > |Out|: Can specify illegal values

Prof. Dr. Jan Borchers: Designing Interactive Systems 226

Page 27: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Testing Points• Effectiveness describes how well the intention can be communicated

Prof. Dr. Jan Borchers: Designing Interactive Systems 227

Page 28: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Prof. Dr. Jan Borchers: Designing Interactive Systems 228

CHAPTER 3

Window System Architecture

Page 29: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Window Systems: Basic Tasks• Input handling

Pass user input to appropriate application

• Output handlingVisualize application output in windows

• Window managementManage and provide user controls for windows

Prof. Dr. Jan Borchers: Designing Interactive Systems 229

Page 30: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Window Systems: Requirements• Independent of hardware and operating system

• No noticeable delays (few ms) for basic operations,e.g. moving window, redrawing cursor

• Customizable look&feel for user preferences

• Input & Output in parallel

• Multimedia support: Graphics, audio, …

• Support for various input devices and modalities

Prof. Dr. Jan Borchers: Designing Interactive Systems 230

Page 31: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Window Systems: Evaluation Criteria• Availability

Platforms supported

• Productivity For application development

• Parallelism External and internal

• PerformanceUsage of resources and latency

• Graphics modelRasterOp vs. vector

• AppearanceLook & Feel, exchangeable?

Prof. Dr. Jan Borchers: Designing Interactive Systems 231

Page 32: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Window Systems: Evaluation Criteria• Extensibility

In source code or at runtime

• Adaptability Localization and customization at runtime

• Resource sharingE.g., fonts

• DistributionOver network

• APIStructure and comfort

• IndependenceOf application and interaction logic inside programs written for the WS

• Inter-Application CommunicationCopy & Paste, Drag & Drop

Prof. Dr. Jan Borchers: Designing Interactive Systems 232

Page 33: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Window Systems: Conflict

Prof. Dr. Jan Borchers: Designing Interactive Systems 233

WS developer

App developer

User

Page 34: Designing Interactive Systems 2 · In-Class Exercise 23 Prof. Dr. Jan Borchers: Designing Interactive Systems 2 • Plot out the input capabilities of the Ferrari Racing Controller

Window System Architecture

Prof. Dr. Jan Borchers: Designing Interactive Systems 234

Graphics & Event Library

Base Window System

Window Manager

User Interface Toolkit

Apps

Hardware

Mor

e ab

stra

ct, u

ser-o

rient

ed