1
Design Patterns
UbiComp Patterns
Evaluations
Design Patterns in Ubiquitous Computing
Eric Chung
Jason I. Hong
Jimmy Lin
James A. Landay
2
Introduction to Design Patterns
• Patterns are developed to communicate common problems and solutions for designers in a discipline
• First introduced by Christopher Alexander and his colleagues in the field of architecture
Design Patterns
UbiComp Patterns
Evaluations
3
Beer Hall Example• Problem:
– Where can peoplesing and drink, andshout and drink,and let go of their sorrows?
• Solution:– Somewhere in the community at least one big place
where a few hundred people can gather, with beer and wine, music, and perhaps a half-dozen activities, so that people are continuously crisscrossing from one to another.
Design Patterns
UbiComp Patterns
Evaluations
4
Design Patterns for Ubiquitous Computing
• Help designers create higher-quality designs faster by developing a pattern language for UbiComp
• Difficult to identify patterns because many design issues are still active areas of research
• Difficult because certain problems do not have common solutions (have to resort to predictive patterns rather than descriptive)
Design Patterns
UbiComp Patterns
Evaluations
5
Identifying Patterns• We developed a criteria for identifying patterns:
– Pattern should have at least one example in research and one example in industry
• A list of over 60 UbiComp patterns have been identified
• Patterns are grouped into several important UbiComp themes (e.g., privacy)
• A taxonomy of UbiComp applications is also important to consider
Design Patterns
UbiComp Patterns
Evaluations
6
Chart of UbiComp Patterns
Design Patterns
UbiComp Patterns
Evaluations
Themes Infrastructure Privacy Identification Manageability PersonalizationHigh-level
PatternsProxies for devices
Service Handoff
Negotiation & Resolution
Relying on Multiple
Sources
Connections
Effective Deployment
Balance of Power
Building Trust and
Credibility
Social Situation
Purpose
Appropriate Scope
of Access
Scope of Control
Appropriate Scope
of Locality
Scope of Time
Partial Identification
User Identity
Anonymous
Pseudo-Identity
Bootstrap
Information Base
Ambiguity
Learning &Remembering Users
Medium-level Patterns
Privacy Zones
Data access via personalized devices
Choice
Access
Notice
Active/Smart Floor
Active Badge
Defaulting
Fault Detection
Bookmarks
Low-Level Patterns
AppropriateRetention Time
Global Positioning
RFID
7
Chart of UbiComp Patterns
Design Patterns
UbiComp Patterns
Evaluations
Appropriate Levels of Attention
Anticipation Global Data Discoverability Capture and Access
Physical Space Location-based Services
Natural Interfaces
Unobtrusive Prompting
Subtle Reminders
Context-Sensitive I/O
Active Teaching
Point of Action
Physical-Virtual Associations
Point of Information
Appropriate Rate of Update
Teleporting
Ambiguity
Learnability
Acceptance
Practices &Etiquettes
Experience Capture
Information Capture
Weiser’s Devices (inch, foot, yard)
Touring
Finding Locations
Tracking Users
Follow-me Display
Proximity-Based Tracking
World Model
Active Map
Proximity-Based Tracking
Wearable Computer
Accelerators
8
Applying Patterns• Exercise: Apply patterns to In/Out Board
Design Patterns
UbiComp Patterns
Evaluations
9
Applying Patterns• Exercise: Apply patterns to In/Out Board• Identify some relevant themes and their
patterns:– Privacy: Appropriate Scope of Locality, Partial
Identification (might only show first names), Choice, Access, Appropriate Retention Time
– Identification: Active Badge, Smart Floor– Global Data: Active Map
Design Patterns
UbiComp Patterns
Evaluations
10
Evaluating the Patterns• Perform an experiment
– Conditions: create two groups, one with patterns, one without
– Task #1: ask the groups to evaluate an existing design
– Task #2: ask the groups to prototype a lo-fi UbiComp app
– Independent judges rate the quality of designs– Identify “shared language” used– Questionnaire on usefulness of patterns
Design Patterns
UbiComp Patterns
Evaluations
11
Take-Away Ideas• Goal: identify design patterns for UbiComp in order
to help designers form higher-quality designs faster and to develop a “shared language”
• Design patterns for UbiComp are categorized at varying levels of abstraction underneath a set of main themes
• Design patterns should be evaluated rigorously• The community is welcome to submit patterns to
http://kettle.cs.berkeley.edu/ubicomp
Design Patterns
UbiComp Patterns
Evaluations
12
Thanks!Any questions or comments?
http://kettle.cs.berkeley.edu/ubicomp
13
What does a pattern look like?
• Design patterns typically range from 3-5 pages and provide general but descriptive methods for solving a particular problem
• A sensitizing image is useful for easy identification of the pattern
• Problems encountered may never be solved in an exact way and therefore design patterns are never too specific
• A Background suggests how the pattern is useful and how it can be combined with other patterns
• The Problem statement identifies a recurring problem in the discipline
• The Solution statement identifies the common solutions and provides details, suggestions, and tradeoffs
Design Patterns
UbiComp Patterns
Evaluations
14
Patterns in other Disciplines• In the mid-1990s, patterns became
popularized in other disciplines such as Software Engineering, Web Site Design, and UI Design.
– Design of Sites, Douglas K. van Duyne, James A. Landay, Jason I. Hong
– Design Patterns, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Design Patterns
UbiComp Patterns
Evaluations
15
UbiComp Genres
• Most UbiComp applications can be classified under the following application genres:
– Business (i.e. ParcTab)– Care and Maintenance (i.e. Context-Aware Clinics)– Collaboration (i.e. BlueBoard)– Education (i.e. Classroom 2000)– Emergency Response (i.e. Siren)– Fieldwork (i.e. FieldNote)– Guides (i.e. CyberGuide)– Laboratory (i.e. PlantCare)– Memory Aids (i.e. Personal Audio Loop)– Smart Homes (i.e. Georgia Tech’s Aware Home)– Smart Vehicles (i.e. Context-Aware GM)
Design Patterns
UbiComp Patterns
Evaluations