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
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
Notification
Wall Post
Facebook Friends
Gmail Contacts
Wall Post
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