Labscape: A Progress Report - Frontiers in Distributed Information

Labscape: A Progress
Report
FDIS ’02
Thanks: DARPA, NSF, Intel Research, NIH
What I Said in '00
Breaking down barriers
through standard
representations and
experiment capture
What I did in '00
Investigated
sensor
technologies 
Investigated
advanced
interaction
modalities 
Studied what
biologists do and
what they need

1 out of 3 ain't
bad!
Key Observation
Abstract, but informal
+
Physically complex, diverse.
Labscape Today
A Ubiquitous Laboratory Assistant
select
store/retrieve
combine
dispense
incubate
detect
• Giant graph w/ globally unique nodes
• Specialization through inheritance,
hierarchy, annotation.
• Material, control, and data flow
Metrics
First 10 minutes of an experiment
Activity Analysis
Thrash
Interleave
0123456789
Minutes
Deployment at CSI
Research Results
Design lessons [IEEE Pervasive, 9/02]
Systems Issues [Pervasive’02]
Evaluation [Consolvo, Ubicomp’02]
H.S. Education application
Design Lesson: UI before AI
Take 1: summer ‘00
driven
•Plan recognition
•Emphasize flexibility
Flexibility
•Sensor
summer ‘02
•Flexibility
•Usability
•Proactivity
Take 2: summer ‘01
•UI
driven
•Plan representation
•Distributed/Robust/Reliable
Relative Utility
(w/ Asst. Cog.)
Design Lesson: Values Matter
Exploratorium (HP CoolTown)
Kids and lay people doing science experiments
Value is in the experience
Interface became implicit at expense of
functionality, quality
UW Immunology Lab (Labscape)
Professionals doing biology experiments
Value is in the results
Interface became explicit (the physical platform
may disappear!)
Design Lesson: The Rubicon
Users should not have to “cross the Rubicon”. The
true essence of invisible computing.
Our design goal: 100% task focus. All interactions
with Labscape result in domain benefits to the user.
Automatic persistence (no explicit file I/O, etc)
Tolerate disconnection
Dynamic reconfiguration
Robust
Available (like gas, water)
Responsive
Distributed
System Architecture
Asynchronous communicating components
one.world Runtime Env. [Grimm]
Node A
Change
Discovery (late
binding)
Node B
Asynchrony and
notification
Migration
Checkpointing
environment
Tuple Store
Composition
Remote events
Environments
(interposition)
Sharing
Tuple Store
Events over
Standard IO
Component = collection of event handlers. No threads
(except AWT), open connections, etc.
Environment: a padded cell for components
Exploiting one.world
environments
Client Device B
Client Device A
Labscape
tag version
Labscape
User2
User3
User1
Device Access
tag user
Replication
Replication
Disconnect
ack
GUI Component
one.world
discovery
Replication
multicast
Server
Root
GUI Component
update
node
Labscape
Database
validate
ack
Prox. Service
Result
Stable
Fast response (all local speeds except DB query)
Migration strategy evolving. Built-in mechanisms not
good enough…
Disconnection/standalone OK. May have conflict
resolution problems, but usually single writer!
Dynamic reconfiguration yes. Location sensing, no.
Replication works. Multiple users w/ different views of
same model stay in synch
Instrument interfaces are a huge problem. Just have
file system snooper now.
Seems scalable and evolvable (maintainable)
Evaluation
Goal: Do no harm!
Assess impact on key aspects of user
ubiquitous computing user experience
Does it increase interleaving of information
utilization with physical activity?
Does it decrease thrashing associated with
lack of readily available information?
Does it make new things possible?
Characterization: PCR
Thrash
Interleaving
Ballard HS Experiment
Concept: Integrate Theory and Practice
Does it improve learning?
Are requirements different?
Student 1
Staining with EtBr
Allows pictures to be
made of the gels
Unexpected result?
Pipetting error
Thermalcycler
busted
No DNA
Ran the gel too
long
Staining with EtBr
Binds to DNA and
fluoresces under UV light
Unexpected result?
Forgot to load DNA - no
bands
Forgot forward/reverse
primers - no bands
Too short running time Results not definitive
Too high DNA
concentration - a big bar
(smudge)
Student 3
Incubating at 100C thoroughly breaks the
chelex so it'll attach onto
all DNA cells
dNTPs –
I don't know what it
stands for
EtBr –
used to stain the gel to
keep all data on the gel
Incubating at 100C breaks open the cells to
release the DNA
dNTPs –
This is the most important
reagent, because it
creates all the guanine,
thymine, As and Cs for
the DNA strand
EtBr sticks onto the DNA and
helps the analyzer see the
results with UV light
Interview
Less magic
Less text to read!?
Better conceptual integration
Deployment
CSI
Marginal regular use
Immunex  Amgen
User study phase.
DARPA
NSF
NIH
Intel
MSR
Ballard High (Seattle Public Schools)
Successful pilot study completed
Lisa Jenschke, director of educational outreach
for CSI
Summer push: editing, math/control, usability,
import/export, etc.