Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia."— Presentation transcript:

1 1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia University of Oslo anders.morch@intermedia.uio.no www.intermedia.uio.no

2 2 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Keywords from previous presentations Natural programming Gardening metaphor Runtime tailorability Domain-expert users From abstract to concrete From concrete to abstract

3 3 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Outline 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

4 4 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User 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

5 5 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Natural 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

6 6 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Two 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 as analogy to identify and explain differences between two kinds of software evolution

7 7 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Two 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)

8 8 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Program evolution and programming language evolution Layers of program code in an application Programming languages Domain-oriented extensions Generic extensions Tailorable generic application Application integration framework Visual programming languages (VPL) Scripting languages Object-oriented languages Binary languages (e.g. Java bytcode) Hardware description languages (HDL) Language evolution Program evolution Translation Each layer can be implemented in the same (or a different) language (E.g. HDL 1 => HDL 2 => HDL 3 Simula 67 => C++ => Java)

9 9 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off From 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

10 10 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Narrowing the micro/macro gap of NL micro inter- mediate macro Natural selection Genetic variation Individuals participation Unit of adaptation

11 11 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Going too far is bypassing the issue? micro inter- mediate macro selection variation Participation? Unit of adaptation

12 12 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Shortening the variation-selection loop Variation Natural Deliberated Selection Genetic/ Random Artificial

13 13 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Adopting 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

14 14 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off 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

15 15 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Artificial selection: Pruning a bonsai tree

16 16 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Deliberated variation: Grafting and budding a fruit tree

17 17 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Past 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

18 18 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Evolving BasicDraw into KitchenDesign Example: How to build a specialized drawing program from a generic program ? BasicDraw KitchenDesign Customization Integration Extension

19 19 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Exposing aspects below the user interface 1 2 3 shiftMouseDown ctrlMouseDown altMouseDown 1b1b

20 20 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off Planned 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

21 21 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off References 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


Download ppt "1 User Participation in Evolutionary Development Pisa, 23/9 - 2002EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia."

Similar presentations


Ads by Google