supporting life scientists via end user programming luke church computer laboratory, university of...

20
Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec ‘08 With thanks to co-authors:

Upload: chase-flores

Post on 27-Mar-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Supporting Life Scientists via End User Programming

Luke ChurchComputer Laboratory, University of Cambridge

Microsoft eScience - Dec ‘08

With thanks to co-authors:

Page 2: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Agenda

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’

Page 3: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

End User Programming?

DirectManipulation

Programming

Actions on objectsActions on lots of objectsActions when I’m not hereCommunicating intent

Abstraction

Mainstream Usability

Professional Programmers

End User Programming

End Users

Power, Expressiveness, Communication

Current UI paradigm

Page 4: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

End Users Can Program

A few million users...

Given the right problem and tools

Page 5: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

End Users Can ProgramGiven the right problem and tools

Page 6: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

End Users Can ProgramGiven the right problem and tools

(From http://blogoscoped.com/archive/2007-02-10.html)

Page 7: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

End Users Can ProgramGiven the right problem and tools

Page 8: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Why give EUP a name?

• Programming is a different cognitive task– Direct Manipulation usability methods don’t help much

Reasonable from a direct manipulation perspective

But has Hidden Dependencies poor Provisionality poor Progressive Evaluation etc.

Page 9: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Why 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

Page 10: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

EUP for life Scientists1: Usability

Page 11: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Modelling 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

Page 12: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Cognitive 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

Page 13: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Cognitive Dimensions

Page 14: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Successes

• 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 Microsoft’s• Security usability• Spreadsheet UI design• ...

Page 15: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

EUP for life Scientists2: Executable Biology

Page 16: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Executable Biology

• Executable models of living processes

Compare predictions to data

Suggest new experiments

Adjust model

Page 17: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Executable 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

Page 18: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Executable 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?

Page 19: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

On Abstraction...

• Abstraction carries Intention– Classifications/Abstractions are a shaping perspective

– E.g. International Classification of Disease

– Abstracting biological systems => 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

Page 20: Supporting Life Scientists via End User Programming Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec 08 With thanks to

Summary

• 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