Six Principles of Software Design to Empower Scientists
-
Upload
david-de-roure -
Category
Technology
-
view
6.482 -
download
1
description
Transcript of Six Principles of Software Design to Empower Scientists
![Page 1: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/1.jpg)
David De Roure and Carole Goble
Six Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower Scientists
![Page 2: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/2.jpg)
Our e-Science context
6 principles of design for adoption
6 principles of user engagement
The myExperiment experience
Reflections
![Page 3: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/3.jpg)
The e-Science Pilots, OMII-UK and myExperiment
![Page 4: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/4.jpg)
CoAKTinGCoAKTinG MemeticMemetic CREWCREW
CombeChem platformCombeChem platform
OMII-UK myGridOMII-UK myGridmyGrid platformmyGrid platform
myExperimentmyExperiment
CombeChemCombeChem
myGridmyGrid Taverna
![Page 5: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/5.jpg)
Box of Chemists
My Chemistry ExperimentMy Chemistry Experiment
![Page 6: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/6.jpg)
X-Raye-Lab
Analysis
Properties
Propertiese-Lab
SimulationVideo
Diff
ract
omet
er
Grid Middleware
StructuresDatabase
www.combechem.org
Iconic CombeChem PictureIconic CombeChem Picture
![Page 7: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/7.jpg)
scientists
LocalWeb
Repositories
Digital Libraries
Graduate Students
Undergraduate Students
Virtual Learning Environment
Technical Reports
Reprints
Peer-Reviewed Journal &
Conference Papers
Preprints &
Metadata
Certified Experimental
Results & Analyses
experimentation
Data, Metadata Provenance WorkflowsOntologies
The social process of science
The social process of science
![Page 8: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/8.jpg)
www.smarttea.org
Smart TeaSmart Tea
![Page 9: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/9.jpg)
Workflows are the new rock and roll
Machinery for coordinating the execution of (scientific) services and linking together (scientific) resources
The era of Service Oriented Applications
Repetitive and mundane boring stuff made easier
Iconic myGrid/Taverna SlideIconic myGrid/Taverna Slide
Carole Goble
![Page 10: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/10.jpg)
Paul writes workflows for identifying biological pathways implicated in resistance to Trypanosomiasis in cattle
Paul meets Jo. Jo is investigating Whipworm in mouse.
Jo reuses one of Paul’s workflow without change.
Jo identifies the biological pathways involved in sex dependence in the mouse model, believed to be involved in the ability of mice to expel the parasite.
Previously a manual two year study by Jo had failed to do this.
Recycling, Reuse, RepurposingRecycling, Reuse, Repurposing
![Page 11: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/11.jpg)
Kepler
Triana
BPEL
Ptolemy II
![Page 12: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/12.jpg)
• Run on your laptop – no sysadmin required
• Access independent third party world-wide service providers of applications, tools and datasets– 850 databases, 166 web
servers Nucleic Acids Research Jan 2006
• My local applications, tools and datasets. In the Enterprise. In the laboratory
• Easily incorporate new services without coding
The Taverna SuperclientThe Taverna Superclient
![Page 13: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/13.jpg)
20072006200520042003
40
Taverna downloads per day
Taverna downloads per day
taverna.sourceforge.net
![Page 14: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/14.jpg)
OMII-UK provides free Open Source software and support to enable a sustained future for the UK e-Research community.
Our software includes Software Solutions, which are easy-to-use and easy-to-install software packages that solve common e-Research problems, and the Development Kit, which is a set of inter-operable software components that can be linked together to provide bespoke functionality.
OMII-UK supports Open Source software development by commissioning developers to produce software with the functionality required by our user community.
omii.ac.uk
![Page 15: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/15.jpg)
e-Science Value Chaine-Science Value Chain
© 15
InfrastructureProvider
ComponentProvider
SolutionProvider
e-ScienceEnd User
OMII
OMII-UK
![Page 16: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/16.jpg)
myExperiment.org is… “Facebook for Scientists”...but
different to Facebook! A community social network. A gateway to other publishing
environments A federated repository A platform for launching
workflows Publishing self-describing
Encapsulated myExperiment Objects
Mindful publication Started March 2007 Closed beta since July 2007 Open beta November 2007
myExperiment.org is...myExperiment.org is...
703 users, 67 groups, 146 workflows, 24 files
![Page 17: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/17.jpg)
![Page 18: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/18.jpg)
![Page 19: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/19.jpg)
scientists
LocalWeb
Repositories
Graduate Students
Undergraduate Students
Virtual Learning Environment
Technical Reports
Reprints
Peer-Reviewed Journal &
Conference Papers
Preprints &
Metadata
Certified Experimental
Results & Analyses
experimentation
Data, Metadata Provenance WorkflowsOntologies
Digital Libraries
The social process of science 2.0
![Page 20: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/20.jpg)
Our Six Principles of Design for Adoption
![Page 21: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/21.jpg)
• No obligation on service providers to change their services to fit into Taverna
• Early users tolerated less-than-perfect interfaces because their favourite service was available
• myExperiment motto is to bring myExperiment to the user– Wikis, iGoogle, etc– www.myexperiment.org
1. Fit in, Don’t Force Change1. Fit in, Don’t Force Change
![Page 22: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/22.jpg)
• This is about incentives • The activation energy required by users
to adopt a feature must be matched by the reward gained
• Get some core capability and quick wins out there as soon as you can
• Our scientists and developers travelled on the journey together
2. Jam Today and more Jam Tomorrow2. Jam Today and more Jam Tomorrow
![Page 23: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/23.jpg)
• This is about delivery• Be better not perfect• Solve the problems users already know
they have – don’t make them wait for solutions to problems they don’t yet know they have and perhaps never will!
• With websites it’s easier to be incremental and to involve a distributed and disparate community of users in the design process
3. Just in Time and Just Enough3. Just in Time and Just Enough
![Page 24: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/24.jpg)
Carole Goble
![Page 25: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/25.jpg)
• We targeted a community we know really well, picked a few close ‘friends and family’ and just built it for them
• Experience suggests that customisation outvotes genericity, extensibility outvotes comprehensivity, and scruffy and flexible outvotes smart but rigid
• As Don Wells said, “Don’t Solve a Problem Before You Get to It”
4. Act Local, think Global4. Act Local, think Global
![Page 26: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/26.jpg)
• This is about empowerment• Extensibility and customisation are crucial
to adoption• The small team associated with
myExperiment means maximal reuse and reusability is a necessity as well as a nicety
• As much use as possible of third party code and services, and our services available through a simple API
5. Enable Users to Add Value5. Enable Users to Add Value
![Page 27: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/27.jpg)
• This is about community• Large number of scientists conducting the
routine processes of science on a daily basis
• Gathering usage data enables the community to benefit from usage without explicitly uploading new content
6. Design for Network Effects6. Design for Network Effects
![Page 28: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/28.jpg)
• Both projects are just as much – or perhaps even more – about content as software
• We were reminded of this when we went open beta with myExperiment and the first bug report that came in was about a spelling error in a user-provided workflow description
NBNB
![Page 29: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/29.jpg)
Building Trust between Users and Developers
Our Six Principles of User Engagement
![Page 30: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/30.jpg)
![Page 31: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/31.jpg)
• Local pioneers and external early adopters• OMII-UK operates a scheme of beta testers
and ‘Product/Area Liaisons’ (PALs), who are not directly working for OMII-UK but are the eyes and ears in the communities they work in
• Taverna has three very active PALs• myExperiment has community champions
1. Keep your Friends Close1. Keep your Friends Close
![Page 32: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/32.jpg)
• We embed developers with users and users with developers, getting them to sit side by side for long periods
• We started myExperiment by embedding the developers in an end-user laboratory, to experience the work environment with respect to sharing and communication, and understanding non-functional requirements
2. Embed2. Embed
![Page 33: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/33.jpg)
• Tendency of developers to get hung up on some point that a user doesn’t worry about in the overall scheme of things
• Our software is not the only software our users use, and they are only using it to do the research they really want to do
• They daily use complex tools they are familiar and comfortable with – mimic these tools and link with them
3. Keep Sight of the Bigger Picture3. Keep Sight of the Bigger Picture
![Page 34: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/34.jpg)
• Building trust is a two-way activity, requiring compromise and favours
• For every pioneer, myGrid ‘sacrificed’ one developer in support – this was not wasted effort!
• We still develop, or help partners develop, bespoke code
• In myExperiment we prioritise tasks and allocate development effort based on the return in adoption
4. Favours will be in your Favour4. Favours will be in your Favour
![Page 35: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/35.jpg)
• Rarely is there one kind of user:– Scientists– domain expert developers producing
applications– service developers– service providers– system administrators.
• Don’t forget young postdocs and postgraduates!
5. Know your Users5. Know your Users
![Page 36: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/36.jpg)
• User needs and wants will change• Success will mean that scientific practice
will change, and so will expectations• The choice of pioneering friends will need
to change and new classes of user will emerge
• When we started out, we replicated current scientific practice – two years later we were inventing new practice
6. Expect and Anticipate Change6. Expect and Anticipate Change
![Page 37: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/37.jpg)
The myExperiment Experience
www.myexperiment.org
![Page 38: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/38.jpg)
24/5/2007 | myExperiment | Slide 38
![Page 39: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/39.jpg)
Google GadgetGoogle Gadget
![Page 40: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/40.jpg)
Ownership and AttributionOwnership and Attribution
![Page 41: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/41.jpg)
`
users
descriptions
groups
friendships
tags
Enactor
blobsworkflows
HTMLXML
Snapshot map of resources with their relationships and versions
![Page 42: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/42.jpg)
![Page 43: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/43.jpg)
• Web 2.0 developers vs CS Software Engineers
• Core team + champions works really well• We’ve stuck to “only do what users ask
for” – features then refactoring• For the project manager it’s like driving a
very fast car!• Weekly update
Managing DevelopersManaging Developers
![Page 44: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/44.jpg)
• Daily 5pm developer chat chaired by PM, Co-PI or PM delegate
• Weekly 10.30 management telephone conference
• Monthly team Face to face• Monthly hackfest• Monthly (at least) user workshop• PM has daily contact with developers• Influencing myGrid team
The regime!The regime!
![Page 45: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/45.jpg)
![Page 46: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/46.jpg)
e-ScienceTechnologyCreators& Integrators
ApplicationsResearch
EEResearch
Socio-economic&CommercialInnovation
e-Sciencebespoketailoring
MassUse byResearchers
5 years 5 years 5 years
CSResearch
e-Science
10s ofintegrators
100s ofembeddedconsultants
1000s ofresearch
users
The Arrow ProblemThe Arrow Problem e-Science Pipeline
Malcolm Atkinson
NB This isn’t wrong!
![Page 47: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/47.jpg)
Don’t think rollout of technologies...
Think roll-in of researchers...
MassUse byResearchers
MassUse byResearchers
Knowledge co-production vs Service Delivery!
![Page 48: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/48.jpg)
Web Services RESTful APIs cmd lines ssh http
Web Browser Mobile phone iPod Car Equipment PDA
P2P
mashups
workflows
services
applicationsSubjectICT experts Computer
Scientists
Software Companies
Workflowtools
Ruby on Rails
ecosystem
Scientists
open sourceSoftwareEngineers
nescOeRC
![Page 49: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/49.jpg)
N2
N
N
![Page 50: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/50.jpg)
One MiddlewareOne Middleware2N
N
N
![Page 51: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/51.jpg)
MiddlewareMiddleware?
N
N
MiddlewareMiddleware
MiddlewareMiddleware
MiddlewareMiddleware
MiddlewareMiddleware
MiddlewareMiddlewarePolynomial involving N1,N2 and M
![Page 52: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/52.jpg)
Don’t think rollout of technology, think roll-in of users
Take homeTake home
![Page 53: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/53.jpg)
1. Fit in, Don’t Force Change2. Jam today and more jam
tomorrow3. Just in Time and Just
Enough 4. Act Local, think Global 5. Enable Users to Add Value6. Design for Network
Effects
1. Fit in, Don’t Force Change2. Jam today and more jam
tomorrow3. Just in Time and Just
Enough 4. Act Local, think Global 5. Enable Users to Add Value6. Design for Network
Effects
Summary of PrinciplesSummary of Principles
1. Keep your Friends Close2. Embed3. Keep Sight of the Bigger
Picture4. Favours will be in your
Favour5. Know your users6. Expect and Anticipate
Change
1. Keep your Friends Close2. Embed3. Keep Sight of the Bigger
Picture4. Favours will be in your
Favour5. Know your users6. Expect and Anticipate
Change
![Page 54: Six Principles of Software Design to Empower Scientists](https://reader035.fdocuments.us/reader035/viewer/2022062513/5550a587b4c90595208b4ed4/html5/thumbnails/54.jpg)
Contact
David De [email protected]
Carole [email protected]
Thanks
Malcolm Atkinson, Jeremy Frey,Savas Parastatides, The myGrid Family
http://eprints.ecs.soton.ac.uk/15032/http://eprints.ecs.soton.ac.uk/15032/