1 / 20

Supporting Life Scientists via End User Programming

Supporting Life Scientists via End User Programming. Luke Church Computer Laboratory, University of Cambridge Microsoft eScience - Dec ‘08. With thanks to co-authors:. Agenda. End User Programming (EUP) What is it? How is it being used? Supporting Scientists 1: Usability

lwyatt
Download Presentation

Supporting Life Scientists via End User Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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’

  3. End User Programming? Mainstream Usability Direct Manipulation Programming Actions on lots of objects Actions when I’m not here Communicating intent Abstraction Actions on objects Current UI paradigm End Users Professional Programmers End User Programming Power, Expressiveness, Communication

  4. End Users Can Program Given the right problem and tools A few million users...

  5. End Users Can Program Given the right problem and tools

  6. End Users Can Program Given the right problem and tools (From http://blogoscoped.com/archive/2007-02-10.html)

  7. End Users Can Program Given the right problem and tools

  8. 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.

  9. 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

  10. EUP for life Scientists1: Usability

  11. 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

  12. 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

  13. Cognitive Dimensions

  14. 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 • ...

  15. EUP for life Scientists2: Executable Biology

  16. Executable Biology • Executable models of living processes Compare predictions to data Suggest new experiments Adjust model

  17. 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

  18. 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?

  19. 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

  20. 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

More Related