1 user participation in evolutionary development pisa, 23/9 - 2002eud-net kick-off user...

21
1 User Participation in Evolutionary Development Pisa, 23/9 - 2002 EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia University of Oslo [email protected] www.intermedia.uio.no

Upload: daniel-skinner

Post on 16-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

1

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

User Participation in Evolutionary Development

User Participation in Evolutionary Development

Anders MørchInterMedia

University of [email protected]

www.intermedia.uio.no

Page 2: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

2

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Keywords from previous presentationsKeywords from previous presentations

• Natural programming

• Gardening metaphor

• Runtime tailorability

• Domain-expert users

• From abstract to concrete

• From concrete to abstract

Page 3: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

3

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

OutlineOutline

• User participation in development

• Evolution as guiding principle

– From natural to artificial evolution– End users as initiators of evolutionary change

• Level of abstraction appropriate for user participation (gardening metaphor)

• Past work

• Planned work

Page 4: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

4

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

User participation in developmentUser participation in development

• User participation in Scandinavian system development has been about how to involve users in the early stages of development (analysis and design) and evaluation

• This is appropriate for easy-to-use systems

• One of the main EUD-Net goal is to move from easy-to-use to easy-to-develop systems

• Our interest: Users as active participants in the further development of existing systems

Page 5: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

5

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Natural evolution as guiding principleNatural evolution as guiding principle

• Evolution by incrementally making small changes to existing systems over long time works remarkably well

• A step beyond ”one shot” framework instantiation (e.g. spreadsheet development)

• Principles of natural evolution have been successfully adopted in many other domains (building architecture, evolution of everyday tools, etc)

• Two levels of evolution: species and individual

Page 6: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

6

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Two kinds of natural evolutionTwo kinds of natural evolution

• Phylogenetic evolution: The evolution of species (our gene pool; the gene pool of trees)

• Ontogenetic evolution: The evolution of an individual member of a species (you and me; the tree outside the building we’re in)

• Hypothesis: Natural evolution can serve asanalogy to identify and explain differences between two kinds of software evolution

Page 7: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

7

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Two kinds of software evolutionTwo kinds of software evolution

• Programming language evolution: The evolution of programming languages (e.g., Simula 67 => C++ => Java)

• Program evolution: The evolution of an individual member (a program, an application) created from a programming language (Word 1 => Word 4.0 => Word 97, etc.)

• Program evolution was first (seriously) tre-ated by Lehman and Belady (IBM OS/360)

Page 8: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

8

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Program evolution and programming language evolution

Program evolution and programming language evolution

Layers of program code in an application

Programming languages

Domain-orientedextensions

Generic extensions

Tailorable generic application

Application integration framework

Visual programminglanguages (VPL)

Scripting languages

Object-oriented languages

Binary languages (e.g. Java bytcode)

Hardware description languages (HDL)

Language evolution

Program

evolution

Trans

latio

n

Each layer can be implemented inthe same (or a different) language

(E.g. HDL1 => HDL2 => HDL3

Simula 67 => C++ => Java)

Page 9: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

9

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

From natural to artificial evolutionFrom natural to artificial evolution

• NL works by two basic mechanisms: genetic variation and natural selection

• Genetic variation is a micro level mechanism that can cause permanent (inheritable) change in an organism

• Natural selection is a macro mechanism that is caused by external (environmental) factors

• The mechanisms are outside the reach of individuals and create a micro/macro gap

Page 10: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

10

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Narrowing the micro/macro gap of NLNarrowing the micro/macro gap of NL

micro

inter-mediate

macroNatural selection

Genetic variation

Individualsparticipation

Unit of adaptation

Page 11: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

11

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Going too far is bypassing the issue?Going too far is bypassing the issue?

micro

inter-mediate

macro

selection

variation

Participation?

Unit of adaptation

Page 12: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

12

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Shortening the variation-selection loopShortening the variation-selection loop

Variation

Natural

Deliberated

Selection

Genetic/Random

Artificial

Page 13: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

13

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Adopting evolutionary perspectives to EUDAdopting evolutionary perspectives to EUD

• Goal: users as active participants as creators of evolutionary change

• User participation requirements:

– unit of variation should approximate unit of selection

– unit of selection should approximate unit of use

• Designer perspective :

– Artificial selection – Deliberated variation

Page 14: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

14

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Analogical solution (and metaphor)Analogical solution (and metaphor)

• “Gardening” as analogical solution

• Why: Gardening provides a level of abstraction that is suitable for user participation

• Two literal examples :

– “Pruning” as metaphor for artificial selection – “Grafting” as metaphor for deliberated variation

Page 15: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

15

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Artificial selection: Pruning a bonsai treeArtificial selection: Pruning a bonsai tree

Page 16: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

16

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Deliberated variation: Grafting and budding a fruit tree

Deliberated variation: Grafting and budding a fruit tree

Page 17: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

17

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Past work at UiO: End-user tailoringPast work at UiO: End-user tailoring

• Techniques for deliberated variation (”application grafting”) :

– customization– integration – extension

• Application units as basic building blocks

• Application unit goes beyond GUI objects by providing access to levels of an application below the user interface

Page 18: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

18

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Evolving BasicDraw into KitchenDesignEvolving BasicDraw into KitchenDesign

• Example: How to build a specialized drawing program from a generic program ?

BasicDraw KitchenDesign

Cu

sto

miz

atio

nIn

teg

rati

on

Ext

ensi

on

Page 19: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

19

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Exposing aspects below the user interfaceExposing aspects below the user interface

12

3

shiftMouseDown

ctrlMouseDown

altMouseDown

1b

Page 20: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

20

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Planned workPlanned work

• Tools and techniques for artificial selection (“application pruning”) :

– intervention– de-coupling– conservation

• Component-based systems with embedded “gardening” tools

• Artificial selection as abstraction mechanism for turning components “off” during execution to cope with superfluous functionality growth

Page 21: 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia

21

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

ReferencesReferences

• An elaborated version of this presentation can be found in the following paper:

Mørch, A.I. Evolutionary Growth and Control in User Tailorable Systems. In Adaptive Evolutionary Information Systems. N. Patel (ed.). Idea Group Publishing, 2002.

(may take time to download ..)

http://www.intermedia.uio.no/ansatte/morch/research/publications/ead/02Chap.pdf