Title: Supporting Life Scientists via End User Programming
1Supporting Life Scientists via End User
Programming
- Luke Church
- Computer Laboratory, University of Cambridge
- Microsoft eScience - Dec 08
With thanks to co-authors
2Agenda
- End User Programming (EUP)
- What is it?
- How is it being used?
- Supporting Scientists
- 1 Usability
- Applying EUP to improve our tools
- State of the art Cognitive Dimensions of
Notations - 2 Executable Biology Life as Computation
- Successes
- Challenge natural abstractions
3End User Programming?
Mainstream Usability
Direct Manipulation
Programming
Actions on lots of objects Actions when Im not
here Communicating intent Abstraction
Actions on objects
Current UI paradigm
Professional Programmers
End Users
End User Programming
Power, Expressiveness, Communication
4End Users Can Program
Given the right problem and tools
A few million users...
5End Users Can Program
Given the right problem and tools
6End Users Can Program
Given the right problem and tools
(From http//blogoscoped.com/archive/2007-02-10.ht
ml)
7End Users Can Program
Given the right problem and tools
8Why give EUP a name?
- Programming is a different cognitive task
- Direct Manipulation usability methods dont help
much
Reasonable from a direct manipulation
perspective
But has Hidden Dependencies poor
Provisionality poor Progressive
Evaluation etc.
9Why give EUP a name?
- Programming is a different cognitive task
- EUP analysis tools acknowledge this
- By understanding that something is programming
- Improved design discussions
- Text or graphics?
- Impact of type systems?
- More appropriate usability techniques
- Cognitive Dimensions of Notations
- Attention Investment Framework
- User Experience of Intentional Information
10EUP for life Scientists1 Usability
11Modelling tools
- A particular type of programming language
- We used analytical EUP techniques to improve
usability - Small user study showed a good provisional result
- Prototype now in refinement
12Cognitive Dimensions
- State of the art usability technique
- Consider an environment, along a number of
dimensions - How defuse is the information?
- How viscous is it?
- How many abstractions does the user have to
learn? - Does the user have to prematurely commit to a
structure? - Highlight areas of likely problems, suggest
design manoeuvres
13Cognitive Dimensions
14Successes
- Identify and fix deep usability problems
- Academically verified and supported
- 50 extension papers, widely cited within
community - Theoretical testing, practical adoption
- Workshops, tutorials, handbook in progress
- Increasing adoption
- Scientific tools
- API design at Microsofts
- Security usability
- Spreadsheet UI design
- ...
15EUP for life Scientists2 Executable Biology
16Executable Biology
- Executable models of living processes
Compare predictions to data
Suggest new experiments
Adjust model
17Executable Biology
- Successes
- Experimentally verified refinements in regulatory
models of various organisms - Proposed new concurrency models to reflect
biological processes - Successful application of formal verification
techniques to laboratory data - Challenges
- Challenges laboratory practice around timed
measurements in experiments - Develop computational models that are more
suitable for biological modelling
18Executable Biology
- New Abstractions?
- Need for abstraction processes that work with
biology - Translucent, socially supported, computationally
tractable - Abstraction problem in computers, let alone
biology - Possibility for great mutual benefit
- What does it mean to understand a program?
- Pragmatic computationalism, it is useful to
consider life ? computational model - What does it mean to understand a program
independent of a goal?
19On Abstraction...
- Abstraction carries Intention
- Classifications/Abstractions are a shaping
perspective - E.g. International Classification of Disease
- Abstracting biological systems gt shaping what we
can know - What questions are interesting?
- Traditionally decided by the scientific community
- Accelerating time to discovery?
- We are deciding what questions are answerable
- Adoption requires supporting social processes
- Responsibility to make answers useful
20Summary
- Usability
- Usability is crucial to adoption and efficiency
- Standard techniques necessary but not sufficient
- End User Programming techniques help
- Executable Biology
- Pragmatic computationalism
- Understand living systems like programs, positive
initial results - Deeper challenges
- What does biology mean by understand?
- Provide new abstraction processes, with social
support - Accelerating discovery by providing new ways of
thinking about biological systems