Programming or Flexibility? Design of Programmable Applications with - - PowerPoint PPT Presentation

programming or flexibility
SMART_READER_LITE
LIVE PREVIEW

Programming or Flexibility? Design of Programmable Applications with - - PowerPoint PPT Presentation

Programming or Flexibility? Design of Programmable Applications with Biologists Catherine Letondal letondal@pasteur.fr In Situ, LRI, Institut Pasteur EUD-Net p.1/22 In Situ New interaction paradigms: multi-scale (or zoomable)


slide-1
SLIDE 1

Programming or Flexibility?

Design of Programmable Applications with Biologists

Catherine Letondal

letondal@pasteur.fr

In Situ, LRI, Institut Pasteur

EUD-Net – p.1/22

slide-2
SLIDE 2

In Situ

New interaction paradigms: multi-scale (or zoomable) interfaces, interactive information visualization, bimanual interaction, video and non-speech audio, augmented or mixed reality. Participatory design development of new participatory design methods, make the role of context explicit in the design process. Engineering of interactive systems component-based architectures (customizable and dynamic addition or substitution of interaction techniques).

EUD-Net – p.2/22

slide-3
SLIDE 3

Programming situations

scripting: search for a sequence pattern, then retrieve all the corresponding secondary structures in a database (example)

EUD-Net – p.3/22

slide-4
SLIDE 4

Programming situations

scripting: search for a sequence pattern, then retrieve all the corresponding secondary structures in a database (example) parsing: search for the best match in a database similarity search report but relative to each subsection

EUD-Net – p.3/22

slide-5
SLIDE 5

Programming situations

scripting: search for a sequence pattern, then retrieve all the corresponding secondary structures in a database (example) parsing: search for the best match in a database similarity search report but relative to each subsection formatting: renumber one’s sequence positions from

  • 3000 to +500 instead of 0 to 3500

EUD-Net – p.3/22

slide-6
SLIDE 6

Programming situations

scripting: search for a sequence pattern, then retrieve all the corresponding secondary structures in a database (example) parsing: search for the best match in a database similarity search report but relative to each subsection formatting: renumber one’s sequence positions from

  • 3000 to +500 instead of 0 to 3500

variation: search for patterns in a sequence, except repeated ones

EUD-Net – p.3/22

slide-7
SLIDE 7

Programming situations

scripting: search for a sequence pattern, then retrieve all the corresponding secondary structures in a database (example) parsing: search for the best match in a database similarity search report but relative to each subsection formatting: renumber one’s sequence positions from

  • 3000 to +500 instead of 0 to 3500

variation: search for patterns in a sequence, except repeated ones finer control on the computation: control in what order multiple sequences are compared and aligned

EUD-Net – p.3/22

slide-8
SLIDE 8

Programming situations

scripting: search for a sequence pattern, then retrieve all the corresponding secondary structures in a database (example) parsing: search for the best match in a database similarity search report but relative to each subsection formatting: renumber one’s sequence positions from

  • 3000 to +500 instead of 0 to 3500

variation: search for patterns in a sequence, except repeated ones finer control on the computation: control in what order multiple sequences are compared and aligned simple operations: search in a DNA sequence for the characters other than A, C, T and G

EUD-Net – p.3/22

slide-9
SLIDE 9

Parsing and scripting example

This example shows the report of a program searching for registered well-known patterns in a given protein sequence. Access# From->To Name _______ ________ ____ PS00005 39->41 PKC_PHOSPHO_SITE Pattern [ST].[RK] matched Site 39 TTR 41 PS00005 71->73 PKC_PHOSPHO_SITE Pattern [ST].[RK] matched Site 71 TSK 73 PS00008 20->25 MYRISTYL Pattern G[ˆEDRKHPFYW]..[STAGCN][ˆP] matched Site 20 GILAAI 25

EUD-Net – p.4/22

slide-10
SLIDE 10

Problem description

more and more professional bio-informaticists, still a minority the vast majority does not program

EUD-Net – p.5/22

slide-11
SLIDE 11

Problem description

more and more professional bio-informaticists, still a minority the vast majority does not program many biologists are able to program and have learned programming many of them do not program at all although they would need it

EUD-Net – p.5/22

slide-12
SLIDE 12

Problem description

more and more professional bio-informaticists, still a minority the vast majority does not program many biologists are able to program and have learned programming many of them do not program at all although they would need it

Why?

EUD-Net – p.5/22

slide-13
SLIDE 13

Problem description

more and more professional bio-informaticists, still a minority the vast majority does not program many biologists are able to program and have learned programming many of them do not program at all although they would need it It’s too difficult to program a little.

EUD-Net – p.5/22

slide-14
SLIDE 14

Approaches

enable Programming In The User Interface (programmability)

EUD-Net – p.6/22

slide-15
SLIDE 15

Programming In The User Interface

What we want:

= programming environment working environment

EUD-Net – p.7/22

slide-16
SLIDE 16

biok: graphical objects

EUD-Net – p.8/22

slide-17
SLIDE 17

biok: tags

EUD-Net – p.9/22

slide-18
SLIDE 18

biok: programming tags

EUD-Net – p.10/22

slide-19
SLIDE 19

biok: tags classes

RegexpRowTag Tag SequenceTag RowTag ColTag CellRowTag CellColTag GCTag PIDTag OccTag PatternTag ToppredTag CellTag PyrPurTag ZappoTag

EUD-Net – p.11/22

slide-20
SLIDE 20

biok: sub-classing tags

EUD-Net – p.12/22

slide-21
SLIDE 21

biok: sub-classing tags

EUD-Net – p.12/22

slide-22
SLIDE 22

biok: programming

EUD-Net – p.13/22

slide-23
SLIDE 23

biok programming: tracing

EUD-Net – p.14/22

slide-24
SLIDE 24

Programming In The User Interface

= programming environment working environment

learning by examples incremental programming easier switch between 2 modes (using/programming); programming as just a kind of advanced use (with several levels) (but programming should not be required for a standard use)

EUD-Net – p.15/22

slide-25
SLIDE 25

Approaches

enable Programming In The User Interface (programmability)

EUD-Net – p.16/22

slide-26
SLIDE 26

Approaches

enable Programming In The User Interface (programmability) from programmability to software flexibity; for biologists, lack of flexibility in current software could provide a better explanation than technical or cognitive problems in programming

EUD-Net – p.16/22

slide-27
SLIDE 27

Approaches

enable Programming In The User Interface (programmability) from programmability to software flexibity; for biologists, lack of flexibility in current software could provide a better explanation than technical or cognitive problems in programming flexibility is anticipation:

EUD-Net – p.16/22

slide-28
SLIDE 28

Approaches

enable Programming In The User Interface (programmability) from programmability to software flexibity; for biologists, lack of flexibility in current software could provide a better explanation than technical or cognitive problems in programming flexibility is anticipation: programmability

EUD-Net – p.16/22

slide-29
SLIDE 29

Approaches

enable Programming In The User Interface (programmability) from programmability to software flexibity; for biologists, lack of flexibility in current software could provide a better explanation than technical or cognitive problems in programming flexibility is anticipation: programmability MOP

EUD-Net – p.16/22

slide-30
SLIDE 30

Modifiable systems

Cognitive distance issue:

user interface program objects UI objects source code domain objects user

EUD-Net – p.17/22

slide-31
SLIDE 31

Modifiable systems

Cognitive distance issue:

source code user user interface A good programming environment

EUD-Net – p.17/22

slide-32
SLIDE 32

Modifiable systems

Cognitive distance issue:

source code user user interface A good programming environment

From MOP ...

user language define modify meta−model (MOP, ...) programs with

EUD-Net – p.17/22

slide-33
SLIDE 33

Modifiable systems

Cognitive distance issue:

source code user user interface A good programming environment

From MOP ... to MAP (Meta-Application Protocol):

user language define modify meta−model (MOP, ...) programs with user application uses define modify meta−model (internal representation)

EUD-Net – p.17/22

slide-34
SLIDE 34

Modifiable systems

Cognitive distance issue:

source code user user interface

intermediate progr. levels (protocol)

A good programming environment

From MOP ... to MAP (Meta-Application Protocol):

user language define modify meta−model (MOP, ...) programs with user application uses define modify meta−model (internal representation)

EUD-Net – p.17/22

slide-35
SLIDE 35

Approaches

enable Programming In The User Interface (programmability) from programmability to software flexibity; for biologists, lack of flexibility in current software could provide a better explanation than technical or cognitive problems in programming flexibility is anticipation: programmability MOP participatory design,

EUD-Net – p.18/22

slide-36
SLIDE 36

Participatory Design

anticipate flexibility spots (EU-not-P versus EUP)

programming use direct

EUD-Net – p.19/22

slide-37
SLIDE 37

Participatory Design

rather few programming issues raised in design workshops

EUD-Net – p.19/22

slide-38
SLIDE 38

Approaches

enable Programming In The User Interface (programmability) from programmability to software flexibity; for biologists, lack of flexibility in current software could provide a better explanation than technical or cognitive problems in programming flexibility is anticipation: programmability MOP participatory design, flexibility is provided in informal tools (spreadsheets, ...), flexibility is also more control on computation, (algorithmic flexibility)

EUD-Net – p.20/22

slide-39
SLIDE 39

Algorithmic flexibility

A way to integrate user’s knowledge in computation neither as parameter nor as programming (using interception techniques (AOP?)).

differences in results are highlighted

< 20 certain certain certain certain user certainmod user defined segment (supersedes next peak) peak is too close segment could be predicted with user indication without user indication

EUD-Net – p.21/22

slide-40
SLIDE 40

Conclusions

Context:

EUD-Net – p.22/22

slide-41
SLIDE 41

Conclusions

Context: user studies: critical need for flexibility

EUD-Net – p.22/22

slide-42
SLIDE 42

Conclusions

Context: user studies: critical need for flexibility writing text code is ok for biologists ...

EUD-Net – p.22/22

slide-43
SLIDE 43

Conclusions

Context: user studies: critical need for flexibility writing text code is ok for biologists ... ... although programming is not the goal

EUD-Net – p.22/22

slide-44
SLIDE 44

Conclusions

Context: user studies: critical need for flexibility writing text code is ok for biologists ... ... although programming is not the goal Approach:

EUD-Net – p.22/22

slide-45
SLIDE 45

Conclusions

Context: user studies: critical need for flexibility writing text code is ok for biologists ... ... although programming is not the goal Approach: user-development also as a software design issue

EUD-Net – p.22/22

slide-46
SLIDE 46

Conclusions

Context: user studies: critical need for flexibility writing text code is ok for biologists ... ... although programming is not the goal Approach: user-development also as a software design issue participative programming

EUD-Net – p.22/22

slide-47
SLIDE 47

Conclusions

Context: user studies: critical need for flexibility writing text code is ok for biologists ... ... although programming is not the goal Approach: user-development also as a software design issue participative programming Who is Mr/Ms End-User...?

EUD-Net – p.22/22

slide-48
SLIDE 48

Conclusions

Context: user studies: critical need for flexibility writing text code is ok for biologists ... ... although programming is not the goal Approach: user-development also as a software design issue participative programming Who is Mr/Ms End-User...? the user of the software, e.g:

EUD-Net – p.22/22

slide-49
SLIDE 49

Conclusions

Context: user studies: critical need for flexibility writing text code is ok for biologists ... ... although programming is not the goal Approach: user-development also as a software design issue participative programming Who is Mr/Ms End-User...? the user of the software, e.g: the biologist,

EUD-Net – p.22/22

slide-50
SLIDE 50

Conclusions

Context: user studies: critical need for flexibility writing text code is ok for biologists ... ... although programming is not the goal Approach: user-development also as a software design issue participative programming Who is Mr/Ms End-User...? the user of the software, e.g: the biologist, ... (have you ever really tried to re-program emacs?)

EUD-Net – p.22/22

slide-51
SLIDE 51

Conclusions

Context: user studies: critical need for flexibility writing text code is ok for biologists ... ... although programming is not the goal Approach: user-development also as a software design issue participative programming Who is Mr/Ms End-User...? the user of the software, e.g: the biologist, ... (have you ever really tried to re-program emacs?) not defined by a skill level, rather by his/her role towards the software

EUD-Net – p.22/22

slide-52
SLIDE 52

Conclusions

Context: user studies: critical need for flexibility writing text code is ok for biologists ... ... although programming is not the goal Approach: user-development also as a software design issue participative programming Who is Mr/Ms End-User...? the user of the software, e.g: the biologist, ... (have you ever really tried to re-program emacs?) not defined by a skill level, rather by his/her role towards the software

EUD-Net – p.22/22