72
Hugh Dubberly Dubberly Design Office How Do You Design the Future? 2012–2013 Lecture Series CMU School of Design / HCI 3 October 2012, Pittsburgh A Systems Perspective on Design Practice

How Do You Design the Future? 2012–2013 Lecture Series …presentations.dubberly.com/cmu_systems.pdf · How Do You Design the Future? 2012–2013 Lecture Series CMU School of Design

  • Upload
    haduong

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Hugh DubberlyDubberly Design Office

How Do You Design the Future? 2012–2013 Lecture SeriesCMU School of Design / HCI3 October 2012, Pittsburgh

A Systems Perspective on Design Practice

2Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Main PointsThe future of design involves systemsDesigning systems involves models

What models are necessary + sufficient?

Concept maps can describe many systemsConceptual models aid software design

3Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

We are in the midst of a fundamental shiftin how we view the world.

4Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

from

Mechanicalto

Biological

5Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

from

Newtonto

Darwin

6Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

from

Industrial age

to

Information age

7Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

The shift in world viewcoincides with a shiftin our view of products.

8Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

“... commercial products are best treated as though they were services.

It’s not what you sell a customer, it’s what you do for them.

It’s not what something is, it’s what it’s connected to, what it does.

Flows become more important than resources. Behavior counts.”

— Kevin Kelley, Out of Control

9Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Thinking in terms of whole systems means

Building relationships between productse.g. roadmaps, product lines, platforms, APIs

Continuous change + dynamic development e.g. stocks, flows, lags, oscilation

Enabling feedbacke.g. goal-action-measure-compare loops

Adopting metaphors from naturee.g. ecology, evolution, emergence

-

-

-

-

10Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Systems affect many dimensions of design.

Creating and managing (networked) services

Connecting products + services

Integrating across products

Building a seamless brand experience

Communicating with consistency

Creating a sustainable business (green design)

-

-

-

-

-

-

11Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Hardware products are increasingly tied to:

embedded software

the internet and web-based applications

human services

the organizations which develop and deliver the products and services

communities for which they provide infrastructure

the ecologies in which they cooperate and compete

-

-

-

-

-

-

12Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

— John Rheinfrank & Fred Murrell

Motor

Components Tools System Experience

Appliance Kitchen Cooking

Value comes from interacting with larger systems— enabling an ecology.

13Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

iPod is an integrated system.

DRAM > mp3 player > music sharing service > my music

Music Listener iPod

Hardware Software Networked Service Marketplace

iTunes iTunes Store Record Companies Artists

MENU

14Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

In just a few years, iPhone and other smartphones will become hubs of body-area networks.

New/Additional sensorsand actuators

Reinvent meteras health status tracker

Networked enabled servicessupported by subscription

Connecting with caregivers(e.g., Family, Physician)

Joining communitiesfor support and learning

Engaging with wellness coachfor behavior change

Blood glucose

Blood pressure

Cholesterol

Heart rate

Hydration

Weight

Medication dosingand monitoringe.g., insulin pump

Body AreaNetwork Hub

Personal Computer

15Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Amazon’s Kindle-Reader-WisperNet-Store systemis another networked-services ecology.

Reader Kindle Reader

Hardware Software Networked Service Marketplace

Amazon Store Publishers Authors

“I think of [the Kindle] as a service. Part of [it] is of course the hardware, but really, it’s the software, the content, it’s the seamless integration of those things.”— Jeff Bezos

16Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

The shift in the nature of productsrequires a shiftin the way we design.

17Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Focus Objects/Things Systems/Behaviors

Construction Direct Mediated

Values Seek simplicity Embrace complexity

Stopping condition Almost perfect Good enough for now

Designer’s role Expert/Deciding Collaborator/Facilitating

Result More deterministic Less predictable

End state Completed Adapting continuously

From ...escaping the past

Manufacturing Age

To ...inventing the future

Age of Biology

18Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Design education focuses on the form of objects;much of practice does likewise.

ObjectComponent

How are we making it?Form/GrammarSyntactic

19Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Form is governed by meaning and structure,though they are also affected by form.

ObjectComponent

What are we making?Meaning/DefinitionSemantic

How are we making it?Form/GrammarSyntactic

20Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Meaning + structure are governed by context;context is also affected by meaning + structure.

ObjectComponent

Why are we making this?Context/NeedPragmatic

What are we making?Meaning/DefinitionSemantic

How are we making it?Form/GrammarSyntactic

21Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Objects are often embedded in systems.

ObjectComponent

Why are we making this?Context/NeedPragmatic

What are we making?Meaning/DefinitionSemantic

How are we making it?Form/GrammarSyntactic

SystemSystems of components Organism

22Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Systems are often embedded in ecologies—communities of systems.

ObjectComponent

Why are we making this?Context/NeedPragmatic

What are we making?Meaning/DefinitionSemantic

How are we making it?Form/GrammarSyntactic

SystemSystems of components Organism

EcosystemSystems of systemsCommunityMarket

23Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Practice focused on the form of objectscan be direct and unmediated.

ObjectComponent

Why are we making this?Context/NeedPragmatic

What are we making?Meaning/DefinitionSemantic

How are we making it?Form/GrammarSyntactic

SystemSystems of components Organism

EcosystemSystems of systemsCommunityMarket

IndividualIntuitive

Idiosyncratic

24Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

As practice expands, it becomes more complex.

ObjectComponent

Why are we making this?Context/NeedPragmatic

What are we making?Meaning/DefinitionSemantic

How are we making it?Form/GrammarSyntactic

SystemSystems of components Organism

EcosystemSystems of systemsCommunityMarket

IndividualIntuitive

Idiosyncratic

25Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

When practice also concerns context + ecologies, project teams require many disciplines.

ObjectComponent

Why are we making this?Context/NeedPragmatic

What are we making?Meaning/DefinitionSemantic

How are we making it?Form/GrammarSyntactic

SystemSystems of components Organism

EcosystemSystems of systemsCommunityMarket

TeamExplicitShared

IndividualIntuitive

Idiosyncratic

26Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Users

ResearchersManagers

EngineersDesigners

Models

For team members to understand each other,they need shared representations—boundary objects.

27Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

— Susan Leigh Star and James R. Griesemer, “Institutional Ecology, ‘Translations’ and Boundary Objects”

“Most scientific work is conducted by extremely diverse groups of actors . . . Simply put, scientific work is heterogeneous.At the same time, science requires cooperation—to create common understandings, to ensure reliability across domains and to gather information which retains its integrity across time, space, and local contingencies.”

28Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

— Susan Leigh Star and James R. Griesemer, “Institutional Ecology, ‘Translations’ and Boundary Objects”

“. . . boundary objects are produced when sponsors, theorists and amateurs collaborate to produce representations of nature. Among these objects are specimens, field notes, museums and maps of particular territories. Their boundary nature is reflected by the fact that they are simultaneously concrete and abstract, specific and general, conventionalized and customized.”

29Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

ResearchersManagers

EngineersDesigners

Models

What models are necessary + sufficientto create a new service or business?

- Business model- Organizational structure- Product development process- Manufacturing process- Release process- Marketing plan- Distribution process

30Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

ResearchersManagers

EngineersDesigners

Models- Terrain map- User opportunity/need model- Primary user tasks- Solution space- Competitive space/positioning- Service/system model- Conceptual model - Data model- Information architecture- Application architecture- Network configuration

What models are necessary + sufficientto design a new software application?

31Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

In order to design a software application, I need to understand the data model.

At their core, all applications have a main data type,and tools for selecting and changing data.

If you understand the main data typeand the tools for selecting and changing data,then you understand the application—or at least much of what it can do.

32Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

What defines a spreadsheet? Spreadsheets are grids of cells,containing text, numbers, and functions that operate on a range of cellsThis is what makes VisiCalc similar to Excel.

33Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

What defines an image editor?Images are grids of cells,containing numbers (that represent colors).You edit an image by selecting a range of cells and applying a transform function.This is what makes MacPaint similar to Photoshop.

34Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

35Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

The data model is problematic for design.

Difficult to teach + learn

More about how than what or why

Focuses on technology

Doesn’t focus on users

-

-

-

-

Don Norman talks about a similar idea: The system image

“For people to use a product successfully, they must have the same mental model (the user’s model) as that of the designer (the designer’s model). But the designer only talks to the user via the product itself, so the entire communication must take place through the ‘system image’: the information conveyed by the physical product itself.”

— Don Norman, The Design of Everyday Things, 1988

36Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

37Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

The system image is a nice idea,but it doesn’t help us design.

But what if we made diagramsof the mental models we haveor models we want users to have?

38Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

— Joseph D. Novak + D. Bob Gowin, Learning How to Learn

“Concept maps … represent meaningful relationshipsbetween concepts in the form of propositions.Propositions are two or more concept labels linked by words in a semantic unit.”

We have a tool for that—concept mapping.

water

made of changesneeded by

are in can bedeterminescan be

as in

as in

as in

as in

as in

in a

can be

from

from

my stove

moleculeslivingthings

plants

e.g.

an oak

animals

e.g.

e.g.

my dog

e.g.

solid

ice

snow

fog

lake

e.g. e.g.

more falling Cayuga

gas liquid

heat steam

boiler

states

motion

39Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

A proposition is a sentence.Subject – verb – objectNode – link – node

40Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Goals

Actions

Information

People

Representations

Goals

Indexers

Sensors Analyzers

Questions

Interpreters

Indexes

Source Answers

Articulators

Synthesizers

Results Setsare examined by and sorted by and stored in

to create

to produce

understood by

are lookedup in

that mayreference

that aresummarized by

that may produce

combined by

and made clear by

to produce

that should supply

enabling

toward

require

ask of a to get

that consists ofmake

to achieve

Databases

Kn

ow

ledg

e Acq

uisitio

n C

on

text

Info

rmat

ion

Cre

atio

n

Information Storage

Information Retrieval

Query Formation

Understanding Internet Search26 January 2000Designed by Matt LeacockSearch Core Concept Map, version 1.5

41Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

People

Active Searchers

Results Pages

Metadata andData

Results Data

Aggregator

Templates

Scraper

Raw Data

Views

CustomizationSettings

WWW Pages

WWW Sites Submissions

WWW Users

Crawlers

3rd Parties

Editors

Metadata

Algorithms

HierarchicalTaxonomies

Sorted Lists

OrganizingPrinciple

WWW DocumentDatabases

WWW SiteDirectoryDatabases

DatabasesTablesFeeds

PageDatabases

WWW Objects

Data Objects

Descriptions

Attributes

Keywords

PersonalizationProfiles

Options

BehavioralHistory

EnvironmentalState

Passive Searchers Group Profiles

Information

Actions

Goals

Queries Source

Interpreter

RelevanceRanking

Post ProcessorsIndexersAnalyzersSensors Index

Graph

Representations

Articulator

Output DeviceInput Device

Answers

Persons, PlacesThings, Ideas

Physical World

UserContext

Data/DocumentCreation Process

Understanding Internet SearchConcepts, Systems and Processes8 August 1999

Data/DocumentStorage System

Data/DocumentRetrieval System

Data/DocumentRetrieval Process

requireto enable

toward

exis

t in

the

invo

lve

is m

ade

up o

f

describe

represent

such assu

ch as su

ch a

s

such

as

repr

esen

t

desc

ribe

that

exi

st in

the

ofcr

eate

make of a

mad

e us

ing

ase

nt t

o an

send

s dat

a to a

n

sends data to aare “sensed” by send data to send data to create ansends data to an

sends data to adisplays

in order to get

generatesgenerates

is referenced by an

could be contained in aare indexed by

are indexed by

are indexed by

used by

used by

could be contained in a

If a graph is in place, the index functionsas a lightweight lookup table.

If no graph is used, the index containsall of the data in addition to the lookup table,in a list format.

Turns the user’s query into something readable by the index. Could handle:boolean operatorsspell checkingword stemmingcase foldinginternationalizationthesauriphrase searchingrelated terms

Any processes done on the data returned from the index. Could involvesorting, ordering, or compiling the dataretrieved from the index.

Provides the architecture,or “form” of the data for thecreation of the results page.The templates can exist in multiple, localized formats.

A collection of technologies that attemptto rank the relative value of a set of results.

Google ranks results during the indexing processby examining the relationships created by the hyperlinksin the documents. More popular sites score higher.

Clever does the ranking during post processing. It usesan iterative process that looks at the popularity of asite (much like Google) but does so in regard to the keywords used in the search.

such as keyverbs, boolean operators,data type, media type, language or domain

Scope is reduced by specifyingadditional restrictions upfront.Best for data retrieval.

Scope is reduced by reducingchoices from a found set, in asequence of ever smaller sets.Best for document retrieval.

... can be described by theirgoals, age, gender, income,geographic location, education, hardware and software, connection speed, member status

The suggested starting point for reading is “People”.I would like to acknowledge Hugh Dubberly for his many suggestions,and Ken Hickman and Paul Pangaro for their contributions.

Designed by Matt LeacockSearch Concept Map, version 1.2

Could be organized ascultural responses to human needs(Malinowski) roughly,FoodKinshipShelterProtectionActivitiesTrainingHygiene

options that arestored either locallyor on a server

behaviors andstates that are storedeither locally oron a server

large collections of profiles that can be analyzed to produce trend information

click paths,session tracking,decision tracking

browser type and version,language setting, IP address,current page, monitor size,color settings, javascriptcapability

such asHTML streamsForm and contentare merged.

Scrapes unwantedform informationfrom the datastream. Classifiesremaining data.

Combines or interleavesdata from multiplesources.

such asXML, XUL, or RDFData is self-describingand separate from theform it will eventually take.

coul

d co

ntai

n an

coul

d co

ntai

n a

coul

d co

ntai

n a

coul

d co

ntai

n an

A repository of data that could be stored in RDF format.

Can be updated independently of the index that references it.

Entries in the graph can reference each other. For instance,a request for a stock quote of an entry could point to thesymbol, the symbol could point to the company name and thecurrent quote, the current quote could point to the quote history,and the quote history could point to a quote histogram.

Creates a lookup table from all of thedata fed into it. If a graph is not in useall of the data fed into it is stored as entries in the lookup table.

I-search and PLS are existing technologies.

... are the input devices of the data/document storage system

Stored proxies of physical world objects and ideas

Groups of WWWObjects in context

Objects referenceableby a URI such ashtml, text, gif, jpeg, png,avi, mpeg, real, quicktime,wav, pdf, rss, xml, xul files

Objects residing in databases thatare not referenceable by a simpleURI such ascompany names, addresses, phonenumbers, names of people,personal profiles, horoscopes,credit card numbers, productnames, prices, maps, eventlistings, news clips, weather

Groups of WWWPages in context

describe

make up

make up organized into provide structure to

are organized into provide structure to

can be

generate

can act as

are organized into provide structure tomake up

make up

are gathered by

are gathered by

generate

generate

generate

are gathered by

are an

are an

are an

mak

e up

describedescribe

are represented by

alphabeticallyby relevanceby modification date

UsenetYahoo!Open DirectoryDewey DecimalLibrary of Congress

providemultipleviews ofdata in adatabase

AlexaBigfootAt Hand

paidvolunteer

data that containsinformation about its format

text analysislink analysismeta data analysis

... gather all of the text on a given web page, then continue gathering text on all of the pages linked to the given page, then follow the links on those pages, and so on.

InktomiGoogleAlta VistaLycos

Yahoo!Open DirectoryInfoseek

News,Products,Related Links,Trademarks,Recirculation,Stocks

areare

are

are used to create

create and maintain

is used to cre

ate

organized by

later organized by

later organized by

are

act as

can assign quality ratingssuch as editor’s choiceor cool site of the day

cont

ains

an

could be contained in

renderscontrol the display order of

could be redrawn by an

could be the same as the

could be redrawn by the

or ‘Layout Engine’Combines form and content.

Any device that canreceive data andrender it for the user.

Could be by relevance,creation date, modificationdate, alphabetical,by source, by media type,involve progressive disclosure,pagination, or custom look andfeel (themes)

Any UI page or widget that displays the results data

could

rece

ive data

directl

y from anco

uld

rece

ive d

ata d

irect

ly fro

m anco

uld

dire

ctly

rece

ive

coul

d di

rect

ly re

ceiv

e

coul

d re

ceiv

e

could receive data from an

sends data to ancould be sent to a

makes use of

such as

such as

should provide the required

should help people attain their

should empower

collect data for can p

air da

ta m

etad

ata f

rom

can

influ

ence

can

influ

ence

can

influ

ence

can be collected and stored into

can be stored in

can be stored in

can be stored in

contain data that can improve the specification of

contains data that can improve the specification of

contain data that can improve the specification of

can contribute to the specification of

can contribute to the specification of

can be stored in

can specify

can specify

rely on

rely on

Or more simply,Work, Play, Learn

andFood, Clothing, Shelter, Love

organize the form of

could be

could be

could specify

can be done by

Amazon ranks related books and CDs by keeping trackof the purchasing habits of groups (group profiles).

Grapevine allows users to actively rank results (a customization process) but then attempts to guesswhat the user will want based on what it has learned(a personalization process).

Direct Hit analyzes the time spent by users on a givenresult. It also keeps track of whether or not a user returnsto the results page after viewing a result. If the userreturns, the result receives a lower score.

could be contained in a

Java devices

that mak

e use

ful for people lea

rn and use

Developers programs

to create and run and the

internet

What is Java Technology? This diagram is a model of Java™ technology. The diagram explains Java technology by placing it in the context of related concepts and examples, and by defining its major components and the connections between them. It shows how developers use Java technology to create programs that benefit people everywhere, and explains how computers and networks relate to Java technology. The diagram is intended to help developers who are familiar with one part of the Java platform understand other parts. It relates unfamiliar technologies to ones with which developers may already be familiar. The diagram also provides an overview for developers who are new to Java technology and an introduction for non-programmers who want to improve their ability to converse with developers. For more information, visit the web site at http://java.sun.com. Concept Maps The diagram takes the form of a concept map – a web of linked terms showing both overall structure and details. By showing everything – the forest and the trees – in a single view, concept maps help people visualize mental models and clarify thoughts. In concept maps, verbs connect nouns to form propositions. Examples and details accompany the terms. More important terms receive visual emphasis; less important terms and examples are in gray. Purple terms and purple lines indicate a process. Terms followed by a number link to terms preceded by the same number.

Trademarks © 2002 Sun Microsystems, Inc. All rights reserved. Sun, Sun Microsystems, the Sun logo, Java, the Java coffee cup logo, J2EE, J2SE, J2ME, Enterprise JavaBeans, EJB, JavaBeans, Java Card, Java Community Process, JCP, Javadoc, Java Embedded Server, JavaHelp, JavaServer Pages, JSP, Java TV, Java 3D, Jini, JVM, PersonalJava, Solaris, and SunOS are registered trademarks of Sun Microsystems, Inc. Any errors or omissions are the responsibility of the authors. Comments are welcome; contact Audrey Crane at [email protected]. February 14, 2003

Acknowledgements Prepared for the Sun Developer Web Services Group by Dubberly Design Office/Devine/Faris/Saddler. Significant contributions from the following people made this map possible: Josh Bloch, Lisa Friendly, Doug Kramer, Paul Pangaro, Robert Patten, Monica Pawlan, Carla Schroer, Leigh Shevchik, Alan Sommerer, Ken Tallman, and James Urquhart. Thanks also to Cindy Bloch, Adam Cohn, Andrey Dikanskiy, Larry Freeman, Dale Green, Joann Gray, Cori Kaylor, Onno Kluyt, Stuart Marks, Shawn Moore, Chuck Mosher, Shaler Ney, Eduardo Pelegri-Llopart, Lori Uzzo, Brad Wetmore, and Hinkmond Wong.

Java object model

Java virtual machine (JVM

TM

)

Programming language

Development process

Java Community ProcessSM

JavaTM2 Platform: end-to-end solutions Documentation for enterprise servers and applications for desktop servers and applications for consumer and embedded servers and applications

is a name for a ... programming language is also a name for ... SDKs and JREs defines a set of ... APIs 13 is implemented as a set of ... platforms 27 can be used to write ... programs 24

such as ... applications 28 enable ... services 26 run on and connect ... devices 25

define m

ay contain m

ultiple

may contain

multiple

implement

implem

ent

or

refer to ... objects 15

are constrained by

are constrained by

are invoked by

may define required or on ... objects 15

define a location to store

can be

are processed by the to create

has

have

may be an

may override existing

may define new

may rely on parent's

contain multiple

are ratified by... the JCP 2

serve

s as t

he defines the behavior of ... APIs 13

define

can be used through

inherits methods and properties from a may also be a

field types can be field or class types can be... classes 12

may implement are runtime instances of ... classes 12 have are created by

implement running in RAM are may be categorized as are constrained by are distinguished by

manipulate

enforces a

is defined by the

enables

improves can be improved by

can be improved by

implements

implements

controls access to

enable

defines

that is an is organized by

provide

such as

is defined by the ... Java Language Specification 43

is used to write ... programs 24 is used to write ... class libraries 10

is based on the

outline

lay out contribute to the generation of

contribute to the generation of

testing m

ay find a

may be thought of

as running ... objects 15

such as

allows adjustm

ent of ... objects 15

may include

are used to write, test, and debug

is trapped by a

are examples

of ... classes 12

may consist of

often discuss Java in

draft

are led by

consist of members of and do the work of the

overseen by the

are represented on the

is submitted to

administers the chairs the exists within

has a w

hich is

comments on

may request major revisions via may revise

develops

works with supports the development of ... Java 0 provides ... documentation 42 owns the ... Java trademark 1 make(s) ... SDKs 29 makes versions of a ... JVM 18 provides is represented on

champion

is added to the definition of ... Java 0

become members of the JCP by signing within the context of the Java Community Process, may function as ... developers 23 support the development of ... Java 0 make ... SDKs 29 make versions of a ... JVM 18 certify Java applications using

provide building blocks for run on

are composed of

are composed of

are contained in include

run on run on

are composed of

read

con

figur

atio

ns fr

om a

are configured by is described by have interfaces provided by can call other

always have can be ... J2SE applets 36 can be ... J2SE applications 38 can be ... J2ME applets 40 can be ... MIDlets 41

have

such as and

is used to build and run

can be a

run inside a

include

can be created by runs on

runs on

run on

are ... class libraries 10

may include ... tools 17 are used in ... development environments 16 include ... class libraries 10 are used to create ... programs 24

include a include ... packages 11 are used to run ... programs 24

always directly build embed programming code in a

depends upon

such as

are

may utilize the

are run in

are configured by a is housed in

are built using

run inside an

run inside a

are built using

are built using

run inside a

is created by a

is contained in

never directly build may directly build

include ... platform packages 37

contains

runs on

may be enabled by are enabled by

provides a

is o

ne ty

pe o

f

is used to build and run

is used to build and run

are

are

are built using

are built using

may run inside a

run inside an

for example

are contained in the

are built with

may be enabled by an may be enabled by a

are built using

are built using

run in a

are built using

runs on run on

contains a subset of a

include a

includes a depends on

depends on

such as are

are built with

is used to build and run are built using a

are built w

ith

may be

built with

may be

built with

may be

are built w

ith

is contained in the

defines a runs on

run on

is used to build and run are built w

ith are built using

run on run on

runs on runs on a

is used to build and run

are built with the

runs on a runs on

run on

is instantiated by runs on

runs on

run on

run on

is based on subsets of

for example

such as

such as such as

run in a

may

be

inte

rpre

ted

by a

such as

such as

such as

such as

specifies and docum

ents ... J2EE 32

specifies and docum

ents ... J2SE 35

specifies and docum

ents ... J2ME 39

such as

are contained in

depend on

are contained in

runs on

are

is used to create are read by a

run on a

defines are stored in

compiles source code into

is stored in

translates byte code into

constitute a

when debugged,

contributes to

is edited in the

begins with

are used to build the

begins with

if accepted becomes a may become a may become a

is added to the definition of ... Java 0 may be implemented in

is instantiated in a

12

... interfaces 14

connects ... devices 25 supports supports ... web services 33

engage in

are facilitated by are instantiated in

features and benefits

has

a w

hich

is

is dist

inguished

by

may download and install ... JREs 30 often own ... hardware 31 some of whom are ... developers 23

is developed with ... platforms

are used by support ... services 26 such as ... hardware 31

object-oriented programming language 9 explicit error handling 22 garbage collection 21 security model 20 architecturally independent applications 19 Java virtual machine 18

hosts

is the foundation for the completed

helps identify problem

s with

such

as

is a

runs inside a ... web brow

ser 34

run inside a ... web browser 34

members join the JCP by signing the

incl

udes

mem

bers

from

is u

sed

to b

uild

app

licat

ions

an

d se

rvic

es b

ased

on

may becom

e platform packages via the ... JCP 2

may submit or comment on a ... Java Specification Request 3 who are members of the Java Community Process serve on ... expert groups 5 form ... Java developer communities 4 comment on a ... public draft 6 participate in the ... Java Community Process 2 may request revisions from the ... maintenance lead 7 who are members of the JCP elect the ... executive committee 8 often use ... development environments 16 participate in the ... development process

consist of

J2ME Tutorials

Java Series

Mobile Information Device Profile (MIDP) API Documents

Connected Limited Device Configuration (CLDC) API Documents

Connected Device Configuration (CDC) API Documents

J2ME API Specification

Connected Device Configuration (CDC) Specification

Connected Limited Device Configuration (CLDC) Specification

Foundation Profile Specification

J2SE Platform Specification

J2EE Platform Specification

J2EE Connector Specification

J2EE API Specification

Java Series

J2EE Tutorials

PersonalJava Specification

Personal Basis Profile Specification

Personal Profile Specification

J2SE API Specification

Java Series

tutorials

Java Language Specification (JLS)

J2SE Tutorials

J2ME Platform Specification

Mobile Information Device Profile (MIDP) Specification

point-of-sale (POS) systems, pagers, cell phones, and personal digital assistants (PDAs)

Java Card, subscriber identity module (SIM) phones, and multi-application smart cards

network-aware appliances, automobiles, and Telematic networks

Windows Mac OS Unix Linux Irix SolarisTM

SunOSTM AIX Alpha RS6000 FreeBSD NeXT

HP-UX Compaq Tru64 beOS VMS

Solaris, Linux, Windows, HP-UX, AIX, FreeBSD

Windows SolarisTM proprietary systems

Palm OS, Windows CE, RTOS, Linux, Symbian OS, proprietary systems

Java forums

Java developer communities

specification leads (spec leads)

Java Community ProcessSM(JCP)

Executive Committee

alternate implementations

Sun companies

Java Specification Request (JSR)

community draft

public draft

new Java specification Reference Implementation & Technology Compatibility Kit (TCK)

Program Management Office

maintenance lead

visual programming tools

class structures

user interface frameworks

bug

development environments tools

expert groups

logo

source code framework

source code

text editor

classes

text files

compiler

byte code

binary files

virtual machine

machine instructions

fragment or application

debugger

J2EE documentation

J2SE documentation

J2ME documentation

other documentation

J2METM

J2ME applets

J2ME applications

MIDlets

Personal Profile (PP)

Profiles

CDC configurations CLDC

J2ME Wireless Toolkit

Java virtual machine

specialized embedded applications

PDA applications

cell phone applications

MIDP

Java CardTM Java TVTM Java Embedded ServerTM(JES)

applications for use with Smart Cards

Java Card applets

Java Card API

Java Card virtual machine

interactive television applications

Java TV Xlets

Java TV APIs

PersonalJavaTM

Java virtual machine

televisions

embedded applications

Java Embedded Server framework

Java virtual machine

proprietary systems

real-time operating systems (RTOS)

Java Card Development Kit

platforms

applications

runnable components

components

packages or libraries

Software Development Kits (SDKs)

Java runtime environments (JREs)

operating systems

specific devices (hardware)

deployment descriptor

EJB container

Enterprise JavaBeansTM(EJB)

servlets JavaServer PagesTM(JSPTM)

web container connector architecture

business logic server components client components user interfaces

web-based applications

J2EE platform packages

J2EE specific packages

Java virtual machine

Java-enabled web server

J2EE application server

Java Web Services Developer Pack

servers

J2EE Software Development Kit

web services

web browser

markup language

Extensible Markup Language (XML)

Simple Object Access Protocol (SOAP)

UDDI

J2SE applications

platform packages

Java regular expressions

J2SE Software Development Kit

Java Plug-In Java-enabled browser or viewer

operating system-based Java virtual machine

J2SE optional packages

desktop applications

Java 3DTM JavaHelpTM

optional packages

J2ME optional packages

J2SETM

Swing

containers

enterprise applications client/server applications

J2EETM

applications embedded in a web page

J2SE applets

JavaBeansTM

Beans

personal computers

workstations

portability

Java virtual machine specification

critical resources

explicit error handling

garbage collection

security model

architecturally independent applications

Just-In-Time compilation

dynamic compilation

performance

syntax and keywords object-oriented programming language

benefits and advantages

reduced development time ability to write higher-quality code more maintainable code ability to call non-Java functions

principles

objects

serialization

class libraries

packages

classes

methods constructors inner classes

superclass (parent class) abstract class

APIs subclass (child class)

fields

types

scope

comments declarations statements

data

primitives object references

JavadocTM comments

Javadoc tool

interfaces

methods and fields

browsable documentation

API spec

activities

services

software

trademark

logo

JiniTM

Provides a complete specification for the syntax and semantics of the Java programming language.

11

10 13

14

15

12

18

25

9

22

21

20

19

16 17

32 35

36

37

38

39

40 41

43

42

2

3

0

5

4

6

8

7

33

34

24 26

27

23

28

31

30

29

1

Application programming interface specification.

Runtime instances of classes.

In runtime, refers to the process of turning an object into a data stream for purposes of transmission or storage.

Classes are source code files that describe a unit of programming. A class relates a set of data (fields) and functions (methods) that use the data.

Class libraries are organized collections of prebuilt classes and functions used to create other classes. Class libraries can be part of the Java standard – meaning they have been ratified by the Java Community Process – or created by individual developers for their own or their company's use.

An application programming interface is the written or understood specification of how a piece of software interacts with the outside world. It specifies what input the application or application component accepts, how the software will behave, and what output it will provide. All computer software relies on a variety of APIs to achieve tasks such as writing a file or displaying text. APIs often depend on other APIs.

Particular to Java, interfaces are source code files that define a set of functions (methods) that are required by a class. Interfaces name methods and set an expectation for each method's behavior, but do not implement the methods. Interfaces allow a piece of code to be written in such a way that the code can work with any type of class that supports the interface.

Abstract classes permit child classes to inherit a defined method or to create groups of related classes for polymorphic behavior.

Primitives generally enable basic math or comparison operations.

Inner classes reside inside another class, allowing for better organization. Should not be confused with subclasses.

In running programs, statements prescribe actions or a sequence of actions.

Scope limits access to methods and properties. Levels include: • public: can be called or manipulated freely • protected: can be called or manipulated by a class in the same package • private: can be called or manipulated only by the same class.

Comments specifically formatted to be processed by the Javadoc tool.

In running programs, declarations define a variable's existence and determine scope.

Notes that developers include to explain source code to themselves and others.

Methods are detailed instructions that cause a running object to take action or manipulate data.

Fields are sometimes referred to as properties.

The virtual machine may encounter a problem, or exception, while a program is running. The Java language requires that pieces of code which are likely to encounter a particular error offer a mechanism for handling the exception at runtime. When an error is encountered, the virtual machine executes the code designed to respond to the error.

Watching for data in memory that is no longer needed and freeing the memory for reuse. Other programming languages require programmers to free memory explicitly when a piece of data is no longer needed, which can increase the development effort.

Architecturally dependent machines that are available for nearly every contemporary operating system.

Significantly improves virtual machine performance by translating groups of instructions from byte code to machine code rather than one instruction at a time.

Goes beyond Just-in-Time compilation by examining the code as it runs and focusing optimization efforts on the most critical pieces of code as it executes. Dynamic compilation is enacted by the Java HotSpotTM virtual machine.

One application can run in multiple environments without being rewritten or recompiled.

Including memory and hard drive.

Such as the object model, inheritance, modularity, abstraction, hierarchy, implementation hiding, information hiding, encapsulation, and polymorphism.

Java Native Interface (JNI) provides a method for calling native functions such as operating system or legacy library functions.

As opposed to a purely procedural programming language.

The Java language has roots in C, Objective C, SmallTalk, and LISP.

Class structures are basic source code that provides a framework for the classes, describes the class hierarchy, and provides the names of the class methods and properties. Does not include implementation details (method definitions).

Downloads and documentation are available at http://java.sun.com.

Selected Java products have been localized into many languages. This localization is one of the key factors for adoption of Java technology worldwide.

The combination of the class structures and the user interface framework into a skeleton of the application's overall source code. Does not include implementation details.

Basic source code that describes the graphical user interface. Does not include implementation details.

The software development process is iterative, with several rounds of designing, writing, compiling, running, and testing before software is deployed.

A software utility that turns human-readable text files into machine- friendly byte code.

Are computer- readable. Binary files usually have the suffixes .jar, .jcm, .class, .ear, or .war.

Is platform independent. It almost never can be read by the processor directly.

Is human readable.

Are processor dependent. They can be read by the processor directly.

Java developers often use specific development environments called Integrated Development Environments, or IDEs.

Are human-readable. Usually have the suffixes .java or .jav.

A Reference Implementation is a working example of the JSR. Other companies will produce their own implementations. The TCK is a suite of tests, tools, and documentation that provides a standard way of testing an implementation for compliance with a Java specification.

A proposal to develop a new specification or significant revision to an existing spec.

Companies include IBM, Motorola, Nokia, Oracle, Novell, Netscape, Hewlett-Packard, Apple, and BEA.

There are two executive committees: J2EE/J2SE and J2ME.

Universal Description, Discovery, and Integration provides a way for businesses to discover each other. Can also be used programmatically by applications to locate an application or service.

There are several implementations of Mobile Information Device Profile, including MIDP for Palm 1.0.3, MIDP 1.04 for Monty, and MIDP 2.0.

Profiles are packages required for a particular vertical market segment or set of related devices. Other profiles include Foundation, Game, Personal Basis Profile, and PDA.

A system that enables developers to incorporate online help in applications or web sites.

A set of classes used to write three-dimensional graphics applets or applications.

Connected Device Configuration includes specific packages that are subsets of the J2SE equivalent: java.lang java.util java.net java.io java.text java.security

A set of packages that define basic services for a range of devices.

Connected Limited Device Configuration includes specific packages that are subsets of the J2SE equivalent: java.io java.lang java.util javax.microedition.io

The J2ME Wireless Toolkit includes the necessary tools, emulators, documentation, and examples to develop and simulate Java applications targeted at cell phones, pagers, PDAs, and other small devices.

A JVM can be optimized for cell phones, PDAs, and other similarly resourced devices.

Java 2 Platform Micro Edition is intended to run on devices with limited computing power, such as cell phones or PDAs. J2ME has reduced processor and memory requirements. It is based on subsets of J2SE with additional components for market segments such as hand-held devices.

Manage transactions, life-cycles, and data persistence.

Provides a mechanism for connecting to legacy information systems.

Cannot function on their own, but are used by other components or runnable components.

Enterprise JavaBeans define independent pieces of business logic or application behavior that can call either servlets, JSPs, or other EJBs.

Includes the binary version of the J2EE Reference Implementation, plus the development tools and documentation needed to build a J2EE application.

Sometimes referred to as required or core packages.

Servlets respond to an URL request. Servlets commonly generate HTML, XML, or dynamic images. They can call other servlets, JSPs, or EJBs.

On handheld and embedded devices, the initial implementation of Java technology addresses the software needs of networked applications running on consumer devices such as set-top boxes and smart phones.

A JVM can be optimized for set-top boxes.

Specifies packages: http log device access timers framework

Components that can run on their own.

Examples include: ¡avax.activation javax.ejb javax.servlet javax.transaction javax.xml

JSPs define a page element, which can be HTML, XML, or another markup language. JSPs execute as servlets. They can call other JSPs, servlets, or EJBs.

Some JVMs are optimized for servers.

Provides a framework for developing and hosting J2EE applications that run inside web containers. The pack includes the Java APIs for XML included in the Java XML Pack, the JavaServer Pages Standard Tag Library (JSTL), the Ant build tool, the Java WSDP Registry Server, and the Tomcat Java Servlet and JavaServer Pages container.

Java 2 Platform Enterprise Edition is used to build secure, scalable, distributable server-based applications for large enterprises.

Can be HTML, WML, XHTML, or voice XML.

Provides a structured and extensible mechanism for organizing and presenting data. Many Java packages and classes utilize XML to store and exchange data.

Provides a way for applications to communicate. SOAP is typically transmitted via HTTP.

Discrete units of software functionality that conform to the JavaBeans API and are designed to be reusable components. The JavaBeans API makes it particularly easy for Beans to be utilized by visual programming tools. (In an architecture analogy, these would be prebuilt walls, windows, or doors.)

A component kit that provides a set of graphical user interface elements. Swing can be used to rapidly build applications without writing original code to support common interface elements. Supports a native look and feel on many common operating systems.

A powerful set of text matching and manipulation routines supported by many programming languages. Java technology implements Perl-compatible regular

Some JVMs are optimized for various types of laptops, workstations, and desktops.

Includes the necessary tools, emulators, and runtime environment to develop and test applets for the Java Card platform.

Depend on the Java Media Framework (JMF), which is optional to J2SE but required for Java TV.

Includes specific packages: java.lang javacard.framework javacard.security javacardx.crypto

A JVM can be optimized for residential gateway servers.

Telematic networks connect computers with telecommunications systems.

Some browsers may be Java-enabled because they include the Java Plug-In. Some users may need to download the Java Plug-In for their browsers. Installing the Java Plug-In will also install the J2SE runtime environment.

Java 2 Platform Standard Edition is intended to run on desktops, laptops, and workstations. J2SE also includes the core language packages and classes used by J2EE and J2ME.

Implement a main method. A class that defines an application must declare a main method, which the Java virtual machine uses as the starting point for the application. The main method gets executed when the application starts.

Extend the applet class, which provides developers with a basic framework for rapid development of a limited application. This includes a basic user interface framework and event model.

Also referred to as required or core packages, platform packages are the heart of the Java programming language. The packages include myriad classes that define user interface components, a programming event model, text and math processing tools, code-level security, objects for memory storage of complex data, and methods for invoking remote applications, to name just a few.

Includes Web Services, Getting Started, Java XML, Internationalization, Sound, and Java 2D. Such as user-controlled camera

views and video on demand.

Java technology is especially useful in devices that are connected by a network.

Such as ATMs and point-of-sale services.

Such as home services and network-aware automobiles.

The J2SE SDK includes the source code, class libraries, development tools, and runtime environment required to build Java applications and applets.

Including servers, web-based solutions, stand-alone applications, and clients.

Including news services, instant messaging services, e-mail services, communication software, collaboration software, discussion forums, games, the world wide web, productivity software, image-creation software, and marketplace services.

Including getting information, communicating, collaborating, playing, working, creating, and buying and selling.

A Java specification describes some aspect of Java technology, including language, virtual machines, platform editions, profiles, and APIs.

Jini network technology provides one infrastructure for delivering services in a network and for creating spontaneous interaction between programs that use those services.

is used to build ... web services 33

A standardized way of integrating and shaping business logic, data, and processes across a network.

A JRE is the software environment in which programs compiled for the Java virtual machine can run. The runtime system comprises everything necessary to run programs written in the Java programming language, including the Java virtual machine, which may be a Java interpreter, and the platform packages. JREs may be developed by Sun or by other companies.

Hosts EJBs, servlets and JSPs.

Can host EJBs, servlets and JSPs.

Optional packages define a set of methods to address specific functionality required for certain specialized applications. Applications that require optional packages must be shipped with the package code.

Specifies that the entire J2SE JLS is applicable to J2EE, includes additional specifications for J2EE, specifies what features the JVM must support, and what the platform packages are.

Includes the JLS and documentation describing what the platform packages are and what features the JVM must support.

Specifies which parts of the JLS are applicable to J2ME, what features the JVM must support, and what the platform packages are.

Java BluePrints Guidelines, patterns, and code for end-to-end applications.

is available via http://java.sun.com.

The Java Specification Participation Agreement is a one-year renewable agreement that allows signatories to become members of the JCP. Alternatively, developers can sign the more limited Individual Expert Participation Agreement (IEPA).

Alternate implementations are written to the same specification and pass the TCK, but can be licensed differently and may have enhanced features beyond the reference

JSPA

Java™ Technology Concept Map

42Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

43Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Concept mapping is a useful skill,especially for modeling systems,and it’s easy to learn.

But how does concept mappinghelp with interaction design?

Interaction design consists of

Conceptse.g., all concepts that the application’s user interface exposes to users

Taskflowe.g., the sequence of operations that users execute to accomplish tasks

Presentation e.g., the controls, displays, etc. that comprise its user interface

-

-

-

— Jeff Johnson + Austin Henderson, Conceptual Models: Core to Good Design, 2012

44Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

45Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

It’s important to note that the conceptual model is independent of task flow and presentation.

As you work out task flow,you may find problems in the conceptual model,and you may need to modify it.

46Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

“A conceptual model is a high-level description of an application. It enumerates all concepts in the application that users can encounter, describes how those concepts relate to each other, and how those concepts fit into tasks that users perform with the application.”

— Jeff Johnson + Austin Henderson, Conceptual Models: Core to Good Design, 2012

47Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

A conceptual model includes, all the data “objects,” which a user may encounter, and the “operations, attributes, and relationships,”which a user may perform on the data objects.

Contexts: Recent, current, anticipated

- Who (actors)- What (resources)- Where (location)- When (time)- Why (goals)- How (activities)

Task Domains

- Concepts (knowledge)- Methods (skills)- Rules (informal norms)- Laws (formal norms)

Resources- Objects- Operations- Relationships- Attributes

Users

Tasks

Goals Resources

48Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Users focused on a task have in mind models of goals, tasks, and resources.

Designers

User Resources

Tasks

Goals

Context

Contexts: Recent, current, anticipated

- Who (actors)- What (resources)- Where (location)- When (time)- Why (goals)- How (activities)

Task Domains

- Concepts (knowledge)- Methods (skills)- Rules (informal norms)- Laws (formal norms)

Resources- Objects- Operations- Relationships- Attributes

Users

Tasks

Goals Resources

49Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Attentive designers have in mind user’s models of goals, tasks, resources, and context; the conceptual model describes what the user needs to know to employ the resources effectively.

50Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

As an example of a conceptual modelJohnson + Henderson describe an alarm clock.

The clock stores the current time of day, continually updating it to track the passage of time.

It displays the current time constantly.

Users can set the current time.

Users can set an alarm at a specified time, or no alarm.

When an alarm is set and the current time equals the set alarm time, the alarm is triggered.

Users can turn off an alarm.

51Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Lists are not models. Text is often redundant.

Node-link diagrams— concept maps—are a more efficient means of representing conceptual models

52Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

A conceptual model of an alarm clockrepresented as a concept map.

Alere / UX Guidelines / Conceptual Models / Clocks 4

Conceptual Model (Tree)

Clock Current TimeContinually Updates

can beDisplayedSet (Changed)

Alarm Timecan be

Set (Changed)Displayed

EnabledDisabled (Turned Off)Triggered (When Alarm Time ≥ Current Time)

Hour

Minute

Second

Time Format

Hour

Minute

Second

AM/PM

1-12 or 1-24

0-59

0-59

Standard Time 12-hour, AM/PMMilitary Time 24-hour

1-12 or 1-24

0-59

0-59

AM, PM or Neither (if set to Military Time)

includes

includes

includes can be

can be

can be

can be

can be

can be

can be

can be

includes

ModelsClocks

53Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Conceptual model of an alarm clockwith detail added.

Alere / UX Guidelines / Conceptual Models / Clocks 4

Conceptual Model (Tree)

Clock Current TimeContinually Updates

can beDisplayedSet (Changed)

Alarm Timecan be

Set (Changed)Displayed

EnabledDisabled (Turned Off)Triggered (When Alarm Time ≥ Current Time)

Hour

Minute

Second

Time Format

Hour

Minute

Second

AM/PM

1-12 or 1-24

0-59

0-59

Standard Time 12-hour, AM/PMMilitary Time 24-hour

1-12 or 1-24

0-59

0-59

AM, PM or Neither (if set to Military Time)

includes

includes

includes can be

can be

can be

can be

can be

can be

can be

can be

includes

ModelsClocks

54Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Main Data Object 1can beCreatedReadUpdatedDeleted

Main Data Object 2can beCreatedReadUpdatedDeleted

Sub-object 1

Sub-object 2

Sub-object 3

Data Type

Numeric Value

Text String

Includes includes must be

can be

Is

Application

Includes

A formalized representation of conceptual models as concept maps.

Black = data objectsBlue = relationshipsArrows = data structureGreen = operationsTinted colors = future

55Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Health challenge example

can send

Anyonemust bevalid email address

Wellspace Members

Wellspace Invitescan beSentReceivedAcceptedDeclined

Wellspace, Challenges Conceptual Model

Black = Entities (data type)Gray = Entity to be added laterCyan = Relation between entitiesGreen = Action user can take on entityLight Green = Action to be added later

to other users in the sameInvisibleVisible

can be

haveProfilescan beCreatedViewedUpdated

Accountscan beCreatedViewedUpdatedDeleted

haveMembers

Discrete

Start (no end)Ongoing

First NameLast NameProfile PictureGenderTime ZoneChallenges wonActive challenges

Age (years) *Weight (pounds) *Height (inches) *Activity level *

* Included to enable weight management apps

Start- Day- Month- Year

can be

to become

Facebook Friendsmust be Wellspace users

to join

Challengescan beCreatedViewedUpdatedDeletedActiveInactive

Dashboardscan beViewed

has

has

End- Day- Month- Year

Days remaining

Individualcan beAddedDeletedcan be

Rankingscan beTop playerTop team

have

Teamcan beAdded toDeleted from

Repeat- Daily- Weekly- Bi-monthly- Monthly- Yearly

can

Playerscan beAddedDeleted

Titlescan beDisplayedEdited

have

Value / Unit / Type / Period- Activity (steps)- Blood Glucose- Blood Pressure- Cholesterol- Food- Weight

measure

have

TotalAverageDeltaAverage deltaFirst to condition

compare toWinning Conditionscan beSetChanged

Wall Postscan beAddedDeleted

Profile PictureFirst / Last NameCommentTimestamp

Notificationscan beDisplayedCleared

Appscan beBuilt InAdded

Dataproduce sent to

Devicescan beLinkedViewedAddedDeleted

Profile PictureFirst NameLast Name

require EmailPasswordcan beForgottenReset

can have

have

Metricscan beCreatedViewedUpdatedCompared

App Storecan beVisited

Friends Listscan beAdded toViewedUpdatedDeleted fromSearched

have

as

trigger

PhotoNameSerial Number

Gmail Contactsmust be Wellspace users

have

have

display

from the

Basil / Sage (will be removed in next version)such as

Challenge Invitescan beSentReceivedAcceptedDeclined

as

Email

Notification

to

to

Wall Post to

Email to

56Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Changes after wireframe design

can send

to can be

have

can be

to become

to join

can be

can be

have

have

have

measure

have

compare to

produce sent toupdates?

individual values

require

can have

have

have

as

trigger

have

have

display

from the

such as

as

to

to

to

to

to

to

have

Wellspace MembersContactsOther users in the same

Anyonemust bevalid email address

Wellspace Members

Wellspace Invitescan beSentReceivedAcceptedDeclined

Wellspace, Challenges Conceptual Model

Black = Entities (data type)Gray = Entity to be added laterCyan = Relation between entitiesGreen = Action user can take on entityLight Green = Action to be added laterYellow = Change from previous version

Profilescan beCreatedViewedUpdated

Accountscan beCreatedViewedUpdatedDeleted

Members

Recurring

First NameLast NameGenderTime ZoneAbout TextChallenges WonActive Challenges

Join DateZip CodeBirth Date *Weight (lb) *Height (ft & in) *Activity level ** Included to enable weight management apps

Profile Picturecan beAddedDeletedCropped

Start Date

Facebook Friendsmust be Wellspace users

Challengescan beCreatedViewedUpdatedDeletedActive / CompletedSaved as Draft

Dashboardscan beViewed

Notification Emailscan beSelected

Duration

Days until start / Days remaining

Description

Dedication

Imagecan beCroppedAddedDeleted

Individualcan beAddedDeleted

Rankingscan beTop Player

NameRankingscan beTop Team

Teamcan beCreatedRemovedAdded ToDeleted From

Playerscan beAddedRemovedRemove Themselves

Titlescan beDisplayedEdited

Value / Unit / Type / Period- Activity (steps)- Blood Glucose- Blood Pressure- Cholesterol- Food- Weight

TotalAverageDeltaAverage deltaFirst to condition

Winning Conditionscan beSetChanged

Wall Postscan beAddedDeleted

Profile PictureFirst / Last NameCommentTimestamp

Notificationscan beDisplayedCleared

Appscan beBuilt InAdded

Data

Devicescan beLinkedViewedAddedDeleted

Profile PictureFirst NameLast NameLocationNumber of Completed Challenges

EmailPasswordcan beForgottenReset

Metricscan beCreatedViewedUpdatedCompared

App Storecan beVisited

Contactscan beAdded toViewedUpdatedDeleted FromSearched

PhotoNameSerial Number

Gmail Contactsmust be Wellspace users

Basil / Sage (will be removed in next version)

Challenge Invitescan beSentReceivedAcceptedDeclined

Email

Notification

Wall Post

Email

Facebook Friends

Gmail Contacts

Wall Post

Email

InvisibleVisible

DaysWeeksMonthsYears

57Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Blood Analyte Meter

Alere / UX Guidelines / Conceptual Models / Meters 6

Datecan beChanged

Date Formatcan beSet to- mm/dd/yyyy- dd/mm/yyyy- yyyy/mm/dd

Target Rangescan beCustomizedEnabledDisabledhaveDefault valuesSuggested values

Model of Data Objects and Operations

Blood Meter Tests Resultscan beCreatedReadTagged asDeleted (automatically after memory is full)Stored in

(First version of Orca will include)GlucoseHDLcLDLTotal CholesterolTriglycerides(Future version of Orca may include)1,5 AgA1cALT/ASTBNPCreatinineGlycated AlbuminKetonesWhite Blood Cell (WBC)INRhs-CRPor combination of above (panel)

Test TypeAnalyte(s)Analyte Value(s)Meal TagDate + TimePatient IDDevice ID

No TagBefore BreakfastAfter BreakfastBefore LunchAfter Lunch

Historycan beViewedFiltered

Settings

Communication Abilitiescan beFitLinxx

Patient (Primary)PhysicianPhysician AssistantLab Tech

Languagecan beSet to(First version)- English(Future versions)- Nederlands- Français- Deutsch

Timecan beChanged

Time Formatcan beSet to- 12 hour- 24 hour

Text

Graph

AnalyteMeal TagPatient ID

AnalyteAnalyte ValueUnits (mg/dL)DateTimeMeal TagsFilters

AnalyteMultiple Results (values)Units (mg/dL)DateMeal TagsFiltersGoal Range

includes

includes

performs produce

measure Analytes

Normal Rangescan beCustomized

Units per Volume

include

includehas

has

is used by

as

by

include

have

Patient IDsTurn off Graphing and Taggingcan beEnabledDisabled

Graphing and TaggingTurn off Patient IDscan beEnabledDisabled

Soundcan beEnabledDisabled

Before DinnerAfter DinnerQC Result

Strip IDUpload FlagMessageQC Status

measured in

Conceptual ModelsOrca

58Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Nasal Flu Meter

Alere / UX Guidelines / Conceptual Models / Meters 9

Model of Data Objects and Operations

Flu Meter Tests Resultscan beCreatedReadDeleted (automatically after memory is full)Stored inPrinted

Type A

Type B

Flu A Result (+ or -)Flu B Result(+ or -)Date + TimeUser IDPatient IDDevice IDTest ID 1Test ID 2QC Status

Historycan beViewedExported

Preferencescan beAccessedBy All Users

Settingscan beAccessedBy Administrators

Communication Abilitiescan beEthernet (Data Manager)USB(USB Key)

PhysicianPhysician AssistantLab Tech

Languagecan beSet to- English- Nederlands- Français- Deutsch

Soundcan beEnabledDisabled

Brightnesscan beAdjusted0-100%

- Logfile- Results

- Data Manager- USB Key

performs produce

detects

use

use

include

from

include

has

has

is used by

Conceptual ModelsiNat

by to

can be

User IDPasswordAccess Levelcan beSet to- Standard- Administrator

QC Schedulecan beSet to- No Schedule- Alert Only- Lockout if not runScheduled - Custom (1-x hours)- Daily- Weekly- Monthly- On new lot #

Network Settingscan beSet to- DHCP- StaticConnected- IP Address- Subnet Mask

Date- Date Format- Day- Month- Yearcan beSet

Time- Time Format- Hour- Minute- AM/PMcan beSet

Factory Settingscan beReset- Reset to Default- Set QC to pass

have

include

include

Log Incan beSet to- Not Required- User ID Only- User ID & Pass

Auto-Logoutcan beSet to- Off- 30 min- 1 hour- Custom(1-x hours)

has

Userscan beCreatedReadUpdatedDeletedExported

Test IDcan beEdited- 1 Field- 2 Fields

Influenza

Test Parts

Sample

Test BaseSample ReceiverNasal SwabTransfer Cartridge

Patient

59Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Meter comparison: Similar primary functions

Alere / UX Guidelines / Conceptual Models / Meters 6

Datecan beChanged

Date Formatcan beSet to- mm/dd/yyyy- dd/mm/yyyy- yyyy/mm/dd

Target Rangescan beCustomizedEnabledDisabledhaveDefault valuesSuggested values

Model of Data Objects and Operations

Blood Meter Tests Resultscan beCreatedReadTagged asDeleted (automatically after memory is full)Stored in

(First version of Orca will include)GlucoseHDLcLDLTotal CholesterolTriglycerides(Future version of Orca may include)1,5 AgA1cALT/ASTBNPCreatinineGlycated AlbuminKetonesWhite Blood Cell (WBC)INRhs-CRPor combination of above (panel)

Test TypeAnalyte(s)Analyte Value(s)Meal TagDate + TimePatient IDDevice ID

No TagBefore BreakfastAfter BreakfastBefore LunchAfter Lunch

Historycan beViewedFiltered

Settings

Communication Abilitiescan beFitLinxx

Patient (Primary)PhysicianPhysician AssistantLab Tech

Languagecan beSet to(First version)- English(Future versions)- Nederlands- Français- Deutsch

Timecan beChanged

Time Formatcan beSet to- 12 hour- 24 hour

Text

Graph

AnalyteMeal TagPatient ID

AnalyteAnalyte ValueUnits (mg/dL)DateTimeMeal TagsFilters

AnalyteMultiple Results (values)Units (mg/dL)DateMeal TagsFiltersGoal Range

includes

includes

performs produce

measure Analytes

Normal Rangescan beCustomized

Units per Volume

include

includehas

has

is used by

as

by

include

have

Patient IDsTurn off Graphing and Taggingcan beEnabledDisabled

Graphing and TaggingTurn off Patient IDscan beEnabledDisabled

Soundcan beEnabledDisabled

Before DinnerAfter DinnerQC Result

Strip IDUpload FlagMessageQC Status

measured in

Conceptual ModelsOrca

Alere / UX Guidelines / Conceptual Models / Meters 9

Model of Data Objects and Operations

Flu Meter Tests Resultscan beCreatedReadDeleted (automatically after memory is full)Stored inPrinted

Type A

Type B

Flu A Result (+ or -)Flu B Result(+ or -)Date + TimeUser IDPatient IDDevice IDTest ID 1Test ID 2QC Status

Historycan beViewedExported

Preferencescan beAccessedBy All Users

Settingscan beAccessedBy Administrators

Communication Abilitiescan beEthernet (Data Manager)USB(USB Key)

PhysicianPhysician AssistantLab Tech

Languagecan beSet to- English- Nederlands- Français- Deutsch

Soundcan beEnabledDisabled

Brightnesscan beAdjusted0-100%

- Logfile- Results

- Data Manager- USB Key

performs produce

detects

use

use

include

from

include

has

has

is used by

Conceptual ModelsiNat

by to

can be

User IDPasswordAccess Levelcan beSet to- Standard- Administrator

QC Schedulecan beSet to- No Schedule- Alert Only- Lockout if not runScheduled - Custom (1-x hours)- Daily- Weekly- Monthly- On new lot #

Network Settingscan beSet to- DHCP- StaticConnected- IP Address- Subnet Mask

Date- Date Format- Day- Month- Yearcan beSet

Time- Time Format- Hour- Minute- AM/PMcan beSet

Factory Settingscan beReset- Reset to Default- Set QC to pass

have

include

include

Log Incan beSet to- Not Required- User ID Only- User ID & Pass

Auto-Logoutcan beSet to- Off- 30 min- 1 hour- Custom(1-x hours)

has

Userscan beCreatedReadUpdatedDeletedExported

Test IDcan beEdited- 1 Field- 2 Fields

Influenza

Test Parts

Sample

Test BaseSample ReceiverNasal SwabTransfer Cartridge

Patient

60Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Alere / UX Guidelines / Conceptual Models / Meters 6

Datecan beChanged

Date Formatcan beSet to- mm/dd/yyyy- dd/mm/yyyy- yyyy/mm/dd

Target Rangescan beCustomizedEnabledDisabledhaveDefault valuesSuggested values

Model of Data Objects and Operations

Orca Tests Resultscan beCreatedReadTagged asDeleted (automatically after memory is full)Stored in

(First version of Orca will include)GlucoseHDLcLDLTotal CholesterolTriglycerides(Future version of Orca may include)1,5 AgA1cALT/ASTBNPCreatinineGlycated AlbuminKetonesWhite Blood Cell (WBC)INRhs-CRPor combination of above (panel)

Test TypeAnalyte(s)Analyte Value(s)Meal TagDate + TimePatient IDDevice ID

No TagBefore BreakfastAfter BreakfastBefore LunchAfter Lunch

Historycan beViewedFiltered

Settings

Communication Abilitiescan beFitLinxx

Patient (Primary)PhysicianPhysician AssistantLab Tech

Languagecan beSet to(First version)- English(Future versions)- Nederlands- Français- Deutsch

Timecan beChanged

Time Formatcan beSet to- 12 hour- 24 hour

Text

Graph

AnalyteMeal TagPatient ID

AnalyteAnalyte ValueUnits (mg/dL)DateTimeMeal TagsFilters

AnalyteMultiple Results (values)Units (mg/dL)DateMeal TagsFiltersGoal Range

includes

includes

performs produce

measure Analytes

Normal Rangescan beCustomized

Units per Volume

include

includehas

has

is used by

as

by

include

have

Patient IDsTurn off Graphing and Taggingcan beEnabledDisabled

Graphing and TaggingTurn off Patient IDscan beEnabledDisabled

Soundcan beEnabledDisabled

Before DinnerAfter DinnerQC Result

Strip IDUpload FlagMessageQC Status

measured in

Conceptual ModelsOrca

Different analytes

Alere / UX Guidelines / Conceptual Models / Meters 9

Model of Data Objects and Operations

Flu Meter Tests Resultscan beCreatedReadDeleted (automatically after memory is full)Stored inPrinted

Type A

Type B

Flu A Result (+ or -)Flu B Result(+ or -)Date + TimeUser IDPatient IDDevice IDTest ID 1Test ID 2QC Status

Historycan beViewedExported

Preferencescan beAccessedBy All Users

Settingscan beAccessedBy Administrators

Communication Abilitiescan beEthernet (Data Manager)USB(USB Key)

PhysicianPhysician AssistantLab Tech

Languagecan beSet to- English- Nederlands- Français- Deutsch

Soundcan beEnabledDisabled

Brightnesscan beAdjusted0-100%

- Logfile- Results

- Data Manager- USB Key

performs produce

detects

use

use

include

from

include

has

has

is used by

Conceptual ModelsiNat

by to

can be

User IDPasswordAccess Levelcan beSet to- Standard- Administrator

QC Schedulecan beSet to- No Schedule- Alert Only- Lockout if not runScheduled - Custom (1-x hours)- Daily- Weekly- Monthly- On new lot #

Network Settingscan beSet to- DHCP- StaticConnected- IP Address- Subnet Mask

Date- Date Format- Day- Month- Yearcan beSet

Time- Time Format- Hour- Minute- AM/PMcan beSet

Factory Settingscan beReset- Reset to Default- Set QC to pass

have

include

include

Log Incan beSet to- Not Required- User ID Only- User ID & Pass

Auto-Logoutcan beSet to- Off- 30 min- 1 hour- Custom(1-x hours)

has

Userscan beCreatedReadUpdatedDeletedExported

Test IDcan beEdited- 1 Field- 2 Fields

Influenza

Test Parts

Sample

Test BaseSample ReceiverNasal SwabTransfer Cartridge

Patient

Blood Meter Flu Meter

61Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Alere / UX Guidelines / Conceptual Models / Meters 9

Model of Data Objects and Operations

Flu Meter Tests Resultscan beCreatedReadDeleted (automatically after memory is full)Stored inPrinted

Type A

Type B

Flu A Result (+ or -)Flu B Result(+ or -)Date + TimeUser IDPatient IDDevice IDTest ID 1Test ID 2QC Status

Historycan beViewedExported

Preferencescan beAccessedBy All Users

Settingscan beAccessedBy Administrators

Communication Abilitiescan beEthernet (Data Manager)USB(USB Key)

PhysicianPhysician AssistantLab Tech

Languagecan beSet to- English- Nederlands- Français- Deutsch

Soundcan beEnabledDisabled

Brightnesscan beAdjusted0-100%

- Logfile- Results

- Data Manager- USB Key

performs produce

detects

use

use

include

from

include

has

has

is used by

Conceptual ModelsiNat

by to

can be

User IDPasswordAccess Levelcan beSet to- Standard- Administrator

QC Schedulecan beSet to- No Schedule- Alert Only- Lockout if not runScheduled - Custom (1-x hours)- Daily- Weekly- Monthly- On new lot #

Network Settingscan beSet to- DHCP- StaticConnected- IP Address- Subnet Mask

Date- Date Format- Day- Month- Yearcan beSet

Time- Time Format- Hour- Minute- AM/PMcan beSet

Factory Settingscan beReset- Reset to Default- Set QC to pass

have

include

include

Log Incan beSet to- Not Required- User ID Only- User ID & Pass

Auto-Logoutcan beSet to- Off- 30 min- 1 hour- Custom(1-x hours)

has

Userscan beCreatedReadUpdatedDeletedExported

Test IDcan beEdited- 1 Field- 2 Fields

Influenza

Test Parts

Sample

Test BaseSample ReceiverNasal SwabTransfer Cartridge

Patient

Alere / UX Guidelines / Conceptual Models / Meters 9

Model of Data Objects and Operations

Flu Meter Tests Resultscan beCreatedReadDeleted (automatically after memory is full)Stored inPrinted

Type A

Type B

Flu A Result (+ or -)Flu B Result(+ or -)Date + TimeUser IDPatient IDDevice IDTest ID 1Test ID 2QC Status

Historycan beViewedExported

Preferencescan beAccessedBy All Users

Settingscan beAccessedBy Administrators

Communication Abilitiescan beEthernet (Data Manager)USB(USB Key)

PhysicianPhysician AssistantLab Tech

Languagecan beSet to- English- Nederlands- Français- Deutsch

Soundcan beEnabledDisabled

Brightnesscan beAdjusted0-100%

- Logfile- Results

- Data Manager- USB Key

performs produce

detects

use

use

include

from

include

has

has

is used by

Conceptual ModelsiNat

by to

can be

User IDPasswordAccess Levelcan beSet to- Standard- Administrator

QC Schedulecan beSet to- No Schedule- Alert Only- Lockout if not runScheduled - Custom (1-x hours)- Daily- Weekly- Monthly- On new lot #

Network Settingscan beSet to- DHCP- StaticConnected- IP Address- Subnet Mask

Date- Date Format- Day- Month- Yearcan beSet

Time- Time Format- Hour- Minute- AM/PMcan beSet

Factory Settingscan beReset- Reset to Default- Set QC to pass

have

include

include

Log Incan beSet to- Not Required- User ID Only- User ID & Pass

Auto-Logoutcan beSet to- Off- 30 min- 1 hour- Custom(1-x hours)

has

Userscan beCreatedReadUpdatedDeletedExported

Test IDcan beEdited- 1 Field- 2 Fields

Influenza

Test Parts

Sample

Test BaseSample ReceiverNasal SwabTransfer Cartridge

Patient

Alere / UX Guidelines / Conceptual Models / Meters 6

Datecan beChanged

Date Formatcan beSet to- mm/dd/yyyy- dd/mm/yyyy- yyyy/mm/dd

Target Rangescan beCustomizedEnabledDisabledhaveDefault valuesSuggested values

Model of Data Objects and Operations

Blood Meter Tests Resultscan beCreatedReadTagged asDeleted (automatically after memory is full)Stored in

(First version of Orca will include)GlucoseHDLcLDLTotal CholesterolTriglycerides(Future version of Orca may include)1,5 AgA1cALT/ASTBNPCreatinineGlycated AlbuminKetonesWhite Blood Cell (WBC)INRhs-CRPor combination of above (panel)

Test TypeAnalyte(s)Analyte Value(s)Meal TagDate + TimePatient IDDevice ID

No TagBefore BreakfastAfter BreakfastBefore LunchAfter Lunch

Historycan beViewedFiltered

Settings

Communication Abilitiescan beFitLinxx

Patient (Primary)PhysicianPhysician AssistantLab Tech

Languagecan beSet to(First version)- English(Future versions)- Nederlands- Français- Deutsch

Timecan beChanged

Time Formatcan beSet to- 12 hour- 24 hour

Text

Graph

AnalyteMeal TagPatient ID

AnalyteAnalyte ValueUnits (mg/dL)DateTimeMeal TagsFilters

AnalyteMultiple Results (values)Units (mg/dL)DateMeal TagsFiltersGoal Range

includes

includes

performs produce

measure Analytes

Normal Rangescan beCustomized

Units per Volume

include

includehas

has

is used by

as

by

include

have

Patient IDsTurn off Graphing and Taggingcan beEnabledDisabled

Graphing and TaggingTurn off Patient IDscan beEnabledDisabled

Soundcan beEnabledDisabled

Before DinnerAfter DinnerQC Result

Strip IDUpload FlagMessageQC Status

measured in

Conceptual ModelsOrca

Blood Meter Flu Meter

Different communication protocols

62Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Alere / UX Guidelines / Conceptual Models / Meters 6

Datecan beChanged

Date Formatcan beSet to- mm/dd/yyyy- dd/mm/yyyy- yyyy/mm/dd

Target Rangescan beCustomizedEnabledDisabledhaveDefault valuesSuggested values

Model of Data Objects and Operations

Blood Meter Tests Resultscan beCreatedReadTagged asDeleted (automatically after memory is full)Stored in

(First version of Orca will include)GlucoseHDLcLDLTotal CholesterolTriglycerides(Future version of Orca may include)1,5 AgA1cALT/ASTBNPCreatinineGlycated AlbuminKetonesWhite Blood Cell (WBC)INRhs-CRPor combination of above (panel)

Test TypeAnalyte(s)Analyte Value(s)Meal TagDate + TimePatient IDDevice ID

No TagBefore BreakfastAfter BreakfastBefore LunchAfter Lunch

Historycan beViewedFiltered

Settings

Communication Abilitiescan beFitLinxx

Patient (Primary)PhysicianPhysician AssistantLab Tech

Languagecan beSet to(First version)- English(Future versions)- Nederlands- Français- Deutsch

Timecan beChanged

Time Formatcan beSet to- 12 hour- 24 hour

Text

Graph

AnalyteMeal TagPatient ID

AnalyteAnalyte ValueUnits (mg/dL)DateTimeMeal TagsFilters

AnalyteMultiple Results (values)Units (mg/dL)DateMeal TagsFiltersGoal Range

includes

includes

performs produce

measure Analytes

Normal Rangescan beCustomized

Units per Volume

include

includehas

has

is used by

as

by

include

have

Patient IDsTurn off Graphing and Taggingcan beEnabledDisabled

Graphing and TaggingTurn off Patient IDscan beEnabledDisabled

Soundcan beEnabledDisabled

Before DinnerAfter DinnerQC Result

Strip IDUpload FlagMessageQC Status

measured in

Conceptual ModelsOrca

Alere / UX Guidelines / Conceptual Models / Meters 9

Model of Data Objects and Operations

Flu Meter Tests Resultscan beCreatedReadDeleted (automatically after memory is full)Stored inPrinted

Type A

Type B

Flu A Result (+ or -)Flu B Result(+ or -)Date + TimeUser IDPatient IDDevice IDTest ID 1Test ID 2QC Status

Historycan beViewedExported

Preferencescan beAccessedBy All Users

Settingscan beAccessedBy Administrators

Communication Abilitiescan beEthernet (Data Manager)USB(USB Key)

PhysicianPhysician AssistantLab Tech

Languagecan beSet to- English- Nederlands- Français- Deutsch

Soundcan beEnabledDisabled

Brightnesscan beAdjusted0-100%

- Logfile- Results

- Data Manager- USB Key

performs produce

detects

use

use

include

from

include

has

has

is used by

Conceptual ModelsiNat

by to

can be

User IDPasswordAccess Levelcan beSet to- Standard- Administrator

QC Schedulecan beSet to- No Schedule- Alert Only- Lockout if not runScheduled - Custom (1-x hours)- Daily- Weekly- Monthly- On new lot #

Network Settingscan beSet to- DHCP- StaticConnected- IP Address- Subnet Mask

Date- Date Format- Day- Month- Yearcan beSet

Time- Time Format- Hour- Minute- AM/PMcan beSet

Factory Settingscan beReset- Reset to Default- Set QC to pass

have

include

include

Log Incan beSet to- Not Required- User ID Only- User ID & Pass

Auto-Logoutcan beSet to- Off- 30 min- 1 hour- Custom(1-x hours)

has

Userscan beCreatedReadUpdatedDeletedExported

Test IDcan beEdited- 1 Field- 2 Fields

Influenza

Test Parts

Sample

Test BaseSample ReceiverNasal SwabTransfer Cartridge

Patient

Alere / UX Guidelines / Conceptual Models / Meters 9

Model of Data Objects and Operations

Flu Meter Tests Resultscan beCreatedReadDeleted (automatically after memory is full)Stored inPrinted

Type A

Type B

Flu A Result (+ or -)Flu B Result(+ or -)Date + TimeUser IDPatient IDDevice IDTest ID 1Test ID 2QC Status

Historycan beViewedExported

Preferencescan beAccessedBy All Users

Settingscan beAccessedBy Administrators

Communication Abilitiescan beEthernet (Data Manager)USB(USB Key)

PhysicianPhysician AssistantLab Tech

Languagecan beSet to- English- Nederlands- Français- Deutsch

Soundcan beEnabledDisabled

Brightnesscan beAdjusted0-100%

- Logfile- Results

- Data Manager- USB Key

performs produce

detects

use

use

include

from

include

has

has

is used by

Conceptual ModelsiNat

by to

can be

User IDPasswordAccess Levelcan beSet to- Standard- Administrator

QC Schedulecan beSet to- No Schedule- Alert Only- Lockout if not runScheduled - Custom (1-x hours)- Daily- Weekly- Monthly- On new lot #

Network Settingscan beSet to- DHCP- StaticConnected- IP Address- Subnet Mask

Date- Date Format- Day- Month- Yearcan beSet

Time- Time Format- Hour- Minute- AM/PMcan beSet

Factory Settingscan beReset- Reset to Default- Set QC to pass

have

include

include

Log Incan beSet to- Not Required- User ID Only- User ID & Pass

Auto-Logoutcan beSet to- Off- 30 min- 1 hour- Custom(1-x hours)

has

Userscan beCreatedReadUpdatedDeletedExported

Test IDcan beEdited- 1 Field- 2 Fields

Influenza

Test Parts

Sample

Test BaseSample ReceiverNasal SwabTransfer Cartridge

Patient

Different user types

Blood Meter Flu Meter

63Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Orca Home, Information Architecture

Dubberly Design Office | 30 May 2012

Home Run Test(Insert Strip)

Confirm Strip Apply Sample Analyzing Sample Analyte Result Tag Results

History(Results List)

Language

Message

Date

Graph- 1 Day- 1 Week- Filter by Analyte

Date and Time

Target Ranges

Date Format

Time

Time Format

Glucose

HDL

cLDL

Total Cholesterol

Triglycerydes

ALT

Graphs, Tags, IDs (Switches between Home and Professional)

Confirm QC Test Remove QC Strip QC Instructions

Insert Analyte Strip Apply High QC Solution Analyzing Sample Result (Pass/Fail) Remove Strip

Insert Analyte Strip Apply Low QC Solution Analyzing Sample Result (Pass/Fail) Remove Strip Pass/Fail Message

Run QC Test(Insert QC Strip)

QC Test Wizard

Sound

Panel Result

Messages(Message List)

Settings

Analyte Result

Panel Result

Test Wizard

CMs (prior) are not IAs (below)

64Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Android, email client

Messagescan beCreated - New- - Manually- - From short cuts- Reply- Reply All- Forward- Sent- Sent AgainRead (opened)- As preview- Full textRead- Text-to-speechUpdated (draft)Deleted- Locally- Globally- Singly- En Masse- UndoSaved- Locally- To CloudFilteredSortedSearched- Locally- Globally- Within Filter Moved- Singly- En masseFlaggedMarked (read/not)- Singly- En masse

sends and receives

Primary (Default)orSecondarycan beDesignated

are

Account NameUser NameEmail AddressUser NamePasswordServer

Protocols- SMTP for sending- IMAP or POP for retrieving- Exchange

PortSecure Connection- Auto- SSL/TLS- STARTTLS

Domain Secure Connection (yes or no)can beConfigured

for IMAP / POP

for Exchange

are associated with

Android, Email Client, Conceptual Model

contain Text- Original- Quotedcan beCreated- By Virtual Keyboard- By Microphone (voice-to-text)DeletedFormattedAnnotatedSpell-checkedEnlarged / Reduced

Annotations- Highlights- Notescan beCreated / DeletedDisplayed / Hidden

Imagescan beAttached / DeletedDisplayed / HiddenSavedLoaded from remote source

Attachmentscan beAttachedDeletedOpened / ClosedSaved

Meta-datacan beCreated / Deleted - Automatic- ManualDisplayed / HiddenUsed to FilterUsed to Sort

includes Recipients- Main- CC- BCCSenderSubjectPreviewTime Stamp (year, month, day, hour, minute)Flag (on or off, depends on service)Tags Status (unread or read)Response (none, reply, or forward)Priority (low, normal, or high)Routing Information

has Format

are organized in Folderscan beCreated / DeletedOpened / ClosedMoved

such as All (unified in-box, default if multiple services)Account (1 to n; mean = 6)Inbox (Default, if only one service)Drafts (Depends on service)Sent (Depends on service)Junk (Spam, depends on service)Trash (Depends on service)Archive (Depends on service)

could be

sent to / uploaded from

Local memoryCloudGalleryQuick OfficeDocuments to GoSocial network sites (later)

sent to / uploaded from

are stored in Contacts List

Plain Text can beViewed + Created

Black = Entities (data type)Gray = Entity to be added laterCyan = Relation between entitiesGreen = Action user can take on entityLight Green = Action to be added later

Email Clientcan be accessed byAccess includes- Fetch and Push- Auto and Manual

Mail Boxescan beAddedDeletedLogged in toLogged out of

Dubberly Design Office | December 1, 2011

Threads (Conversations)can beDisplayed / Hidden

Hot Strings- URLs (Auto-formed links)- Dates (Calendar events)- Names (Contacts)- Phone numbers- Addressescan beAuto-recognized

RichTextcan beViewed only

HTML Textcan beViewed only

includeAccountssuch as- AOL- Exchange- Gmail- Hotmail- iCloud- Ymail

Related Features- Contacts- Calendar- Bookmarks- Reminders (To-do’s)- Documents (Files)- Media (e.g., books, music, video)

may include

Preferences- Primary Account- Notification - - Sound- - By Account- - By Sender- Preview Length - Meta-data View- Auto Download - - Yes / No- - Up to file size- Number of Messages Stored- Number of Days Saved- Signature (default from Amazon)- Auto-response (out-of-the-office)can beConfigured

includes

65Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Android, PIM

Email messages

Android, PIM, Conceptual Model

sent and received byare saved from or added to

Contacts List

Email Client

Dubberly Design Office | December 1, 2011

includesAndroid PIM Contactscan beCreated Read (opened)Updated DeletedImportedSync’edSaved to CloudTaggedFilteredSortedSearchedShared via - Email- IM- SMS

Calendar

generate

Task List

Notes(not yet defined)

may be added manually (preferences enable auto-add) to

are retrieved from or added to

may be viewed on a

contains Either Name orEmail address orPhone numberplusSource

must contain

Proper name (prefix, first, middle, last, suffix)Email addressesPhysical addresses- Work, Home, OtherPhone numbers- Mobile, Work, Home, Skype, OtherIM handleBirthdate, AnniversaryNotesTag (Favorites, VIP flag, Group, Presence)Photo (via link to file on device)URL link to profiles on Facebook, Linked-InURL link to Amazon Wishlist + Reviews, Listmania

may contain

Eventscan beCreated Viewed by- Day- Month- YearUpdated DeletedSync’edSaved to CloudTaggedFilteredSearchedcannot include other objects

Event start + stop timeType- One-time event- Recurring event--- Frequency (e.g., daily, weekly)--- Start + stop dates (or perpetual)Source

must contain

Event nameEvent description, notesInvitee namesInvitee status- Accepted, Maybe, Rejected, No responseEvent locationReminder- How far ahead (default 15 min.), How often (default once),

may contain

Invitationscan beSentAcceptedRejected

may generate

contains

are added to

Taskscan beCreated Read (opened)Updated DeleteAdded to calendarSync’edSaved to CloudTagged (priority, type)FilteredSortedSearchedMarked completecannot include other objects

Task nameSource

must contain

DescriptionDeadlinePriorityStatus (pending, completed)Owner (if other than user)Dependencies

may contain

contains

Unstructured textcan beEditedSaved to Cloud

contains

can be converted to

Map retrieved by Map Client

66Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Shared task manager

Shared Task Manager, Conceptual Model

Black = Entities (data type)Gray = Entity to be added laterCyan = Relation between entitiesGreen = Action user can take on entityLight Green = Action to be added laterPurple = Triggers system level alert

Not included:- Messaging- Member directory

Family(only one)can beEditedViewed

Memberscan beViewed

Dependentscan beAddedViewedEditedDeleted

Access Privileges(given to member)can beViewed

Display Namescan beAddedEditedViewed

Usernamescan beViewed

Passwordcan beCreatedEditedForgotten?

Imagescan beAddedEditedViewedDeleted

Activitiescan beCreatedEditedViewedDeleted

Schedulescan beCreatedEditedViewed

Titlescan beCreatedEditedViewedDeleted

Statuscan beAssigned - To me (default) - To someone else

Occurances(values entered in Activity fields)

Descriptionscan beCreatedEditedViewedDeleted

Attributescan beCreatedEditedFilledViewedDeleted

Beneficiarycan beCreatedEditedFilledViewedDeleted

End day (deadline)Completion time (actual)

Year, Month, DayhasYear, Month, Day, Hour, Minute, am/pmhas

Year, Month, Dayhas

None, Hourly, Daily, Weekly,Bi-weekly, Monthly, Yearly

can be

has

is

is

is

isisisis

NoneOn scheduled end timeMinus 5 minsMinus 15 minsMinus 30 minsMinus 1 hourMinus 2 hoursMinus 1 dayMinus 2 daysSnoozed (add 10 minutes)

can be

have

can add membersand dependents to their

have

becomes

Activity Queuecan beRearrangedViewed

includes

Requestscan beCreatedEditedViewedDeleted

Statuscan beWithdrawnIgnoredAnswered - Rejected* -- Countered --- Rejected by requestor --- Agreed by requestor - Accepted* -- Not completed* (if past deadline) -- Completed*

haveRequest Queuecan beRearrangedViewed

includes

must have

End timeStart dayStart timeRepeatReminders (system level alerts)

can have

Amount - Name [text] - Units [text] - Default [number]List - Name [text] - List itemsNotes - Name [text] - Comments FieldScale - Name [text] - Low name [text] - Low value [text] - High name [text] - High value [text]Access Privileges (set by member) - None - View - Enter - ModifyPriority? - Low - Normal - HighLocation?

[number]

[radio selection]

[text]

[text][number][text][number]

are

Name [text]are

Notes [text]are

has

Hour, Minute, am/pm

has Hour, Minute, am/pm

67Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Flipboard, social magazine

Flipboard, Conceptual Model (CM)

Black = Entities (data type)Cyan = Relation between entitiesGreen = Action user can take on entityOrange = Action system can take on entityMagenta = Not clear to users

Flipboard Articlescan beDisplayedReadRatedSavedSharedGroupedFlagged(as inappropriate)Appear in the PoolDisappear from the Pool

PoolChanges Continually

StoriesPostsImagesVideosComments

Star (Add as Favorite on Twitter)

provides a of can be TitleTextImagesVideosSourceCommentsDateTime Added

may include

may include

byby

In-Line Textcan beCustomizedSource Text (in web browser)

by

includePages (of Article Previews)Article PreviewArticle

Size

Font Size includes SmallMediumLarge

as

InstapaperRead It Later

EmailFacebookTwitter

Content(Topics)can beDisplayedAddedRemovedSearched (Any website can be added as a source through search)Muted/Unmuted(Hide posts from this source)

- Cover Stories*- Flipboard Picks- Inside Flipboard- This Week- News (57)- Business (36)- Tech & Science (50)- Video (41)- Cool Curators (72)- Photos & Design (77)- Living (69)- Entertainment (71)- Sports (37)- Local (37)- Travel (49)- Style (50) (646 Content Sources) ...

User Sources(Require login)

- Facebook- Twitter- Google Reader- LinkedIn- Instagram- Flickr- Tumblr- 500px- Sina Weiba- Renren

through

through

into

as

* Cover Stories appear differently than other content—they appear on the “cover” of Flipboard, and cycle through full screen images with article titles.Titles are not clickable.

In order of appearancein the Flipboard App

Displayed on Preview Tiles Page

In order of appearancein the Flipboard App

Accountcan beUpdated

Namecan beUpdated

Emailcan beUpdated

Passwordcan beUpdated

Full Namecan beUpdated

Photocan beUpdated

includes

AboutHelpRead LaterText SizeShow Status UpdatesMuted AuthorsContent Guide Edition (Country)AccountLinked Accounts

include

Preview Tiles(Photo with Title)can beDisplayedGrouped

Settings

requires

includes

WebsiteFlipboard CuratorFriend (Social media comment by a friend)

68Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Zite, discovery engine

Zite, Conceptual Model (CM)

Black = Entities (data type)Cyan = Relation between entitiesGreen = Action user can take on entityOrange = Action system can take on entityMagenta = Not clear to users

Accountcan beUpdated

User Interests

DeliciousGoogle ReaderRead It LaterTwitter

Zite

requires

infers

FeedbackAboutFAQPrivacy Policy

includes

Namecan beUpdated

Emailcan beUpdated

Passwordcan beUpdated

includes

based on

include

influence

Content in Accountscan beLinked

Collected ArticlesPosts

including

Storiescan beDisplayedReadRatedSavedSharedGroupedAppear in the PoolDisappear from the Pool

Note: User interest should be based on

PoolChanges Continually

TitleTextPicturesVideosSourceDateTime Added

Thumbs Up / DownMore From (Source)More About (Topic)

provides a of include

by

by

In-Line Textcan beCustomizedSource Text (in web browser)

by

includeArticle PreviewArticle

Size

Font SizeFont Style

includes SmallMediumLarge

includes Sans-SerifSerif

as

EvernoteInstapaperRead It Later

EmailDeliciousFacebookGoogle PlusLinkedInTwitter

Categories Sectionscan beDisplayedAddedRemovedSearched(2,219 topics are available through search)Top Stories

through

through

into include ArchitectureArts & CultureBusiness & InvestingEntrepreneurship...

40 topic displayed initially

include

Pages (of Article Previews)as

69Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Trillium, Xerox copier development environment

Items(Components)can beCreatedEditedDeletedCopiedNote: Items are not named.

Trillium, Conceptual Model (CM)

Itemtypecan beSet

Argumentscan beCreated- NamedSaved EditedDeletedCopied

Name(String)can beEditedCopied

Value-typecan beSet

Frames(Screen, or screen + “physical buttons”)can beAdded- NamedEditedDeletedCopiedDisplayed/HiddenModified

Interfaces(Project)can beCreated- NamedSaved EditedDeletedCopiedSimulated - Single step

Valuescan beEditedCopied

Default Value(Value)can beEditedCopied

Trilliumcan beLaunchedQuit

Itemtypescan beCreated- NamedSaved EditedDeletedCopiedComposited-Grouped

Parameterscan beEditedCopied

Kind can beChanged Operations

can beEditedCopied- Named

Primitivecan beChanged

Artwork (e.g. box, image, line)Sensor (e.g., click-region, slide-sensor, timer)Displayer (e.g., bar, sound, text)Initializer (e.g., set-value)Inhibitor (e.g., test-value)Implication (e.g., set-value)

Compositecan beCreatedEditedCopiedUngrouped

Value-typescan beEditedCopied

Name(String)can beEditedCopied

Name(String)can beEditedCopied

Value-typecan beSet

Name(String)can beEditedCopied

Name(String)can beEditedCopied

Name(String)can beEditedCopied

Functioncan beEditedCopied

Name(String)can beEditedCopied

Click region(Bounding Box)

Kindcan beSet

includeincludes

include

can be

include

include

may be

includeinclude

include

Current Frame(Frame)can beChanged

Initial Frame(Frame)may be

include

include

include

may be

Black = Entities (data type)Cyan = Relation between entitiesGreen = Action user can take on entityOrange = Action system can take on entityRed = Reference to another item

70Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Teams should agree on a conceptual model— a definition of what users need to know— before creating wire-frames and writing code.

The conceptual model will change during the design and development process.

71Dubberly Design Office · A Systems Perspective on Design Practice · 3 October 2012

Developing a standard form for conceptual models makes them easier to understand and make— and easier to learn.

A standard form makes practice more efficientand builds a transferable body of knowledge.

[email protected] 648 9799

Presentation posted atwww.dubberly.com/presentations/cmu_systems.pdf

Special thanks to Terry IrwinJodi ForlizziAustin HendersonJeff JohnsonMichael Gallagher