IN5320 - Development in Platform Ecosystems Lecture 9: Design in - - PowerPoint PPT Presentation

in5320 development in platform ecosystems
SMART_READER_LITE
LIVE PREVIEW

IN5320 - Development in Platform Ecosystems Lecture 9: Design in - - PowerPoint PPT Presentation

IN5320 - Development in Platform Ecosystems Lecture 9: Design in platform ecosystems 15th of October 2018 Department of Informatics, University of Oslo Magnus Li - magl@ifi.uio.no 1 Today Two problems in large-scale / generic software


slide-1
SLIDE 1

1

IN5320 - Development in Platform Ecosystems

Lecture 9: Design in platform ecosystems

15th of October 2018 Department of Informatics, University of Oslo Magnus Li - magl@ifi.uio.no

slide-2
SLIDE 2

Two problems in large-scale / generic software development:

  • “Generic” usability
  • Working with local users in development

We will look at: 1. Usability. 2. User participation in design. 3. Our two problems. 4. Participation and scale. Four types of participatory design. 5. Architectures for participation and local adaptations. 6. IN5320 individual assignment award 2018!

2

Today

slide-3
SLIDE 3

Usability and participation

3

slide-4
SLIDE 4

Usability

How well a system works for the user Do the system allow the intended users to certain goals with

  • Effectiveness (doing the right things)
  • Efficiency (doing things right)
  • Satisfaction

4

slide-5
SLIDE 5

Usability - Nielsen’s 10 heuristics

  • Visibility of system status
  • Match between system and the real world
  • User control and freedom
  • Consistency and standards
  • Error prevention
  • Recognition rather than recall
  • Flexibility and efficiency of use
  • Aesthetic and minimalist design
  • Help users recognize, diagnose, and recover from errors
  • Help and documentation

5

slide-6
SLIDE 6

Different mental models

6

System oriented versus real-world oriented language DHIS2 concepts

slide-7
SLIDE 7

Usability - Donald Normans 6 principles

  • Affordances and signifiers
  • Mapping
  • Consistency
  • Constraints
  • Feedback
  • Visibility

7

slide-8
SLIDE 8

8

Norman 2013

slide-9
SLIDE 9

9

slide-10
SLIDE 10

10

slide-11
SLIDE 11

Usability

11

PERCEPTION PAST - experiences NOW - other senses FUTURE - goals and motives

Not just defined by qualities of the software, but dependent on a specific set of users

slide-12
SLIDE 12

Mental models

To make systems intuitive and usable, designers must try to create interfaces between technology and the user that are close to their mental model.

12

slide-13
SLIDE 13

Design - actuality gaps

Developers, designers, and end-users may have radically different understandings of the world.

13

slide-14
SLIDE 14

Design - actuality gaps

14

Heeks 2002

slide-15
SLIDE 15

Different mental models

15

January February March April May June January February March April May June December November October September August July December November October September August July

slide-16
SLIDE 16

Different mental models

16

slide-17
SLIDE 17

Usability

Not just defined by qualities of the software, but dependent on a specific set of users in a certain context of use.

17

slide-18
SLIDE 18

User participation in design

To ensure usable systems, we must understand the users and context that we design for. A common way to do this is to: 1. Investigate the context 2. Involve end-users in the development process.

18

slide-19
SLIDE 19

User participation in design

Several traditions. Two common are.

  • User/human-centered design (UCD).
  • Participatory design.

19

UCD-model

slide-20
SLIDE 20

User participation in design

Different levels of participation.

20

slide-21
SLIDE 21

Challenge of scale

21

slide-22
SLIDE 22

Challenges in large-scale systems development

Two problems in large-scale / generic software development: 1. “Generic” usability 2. Working with local users in development What if we are developing software to be used by very different users in very different contexts?

22

slide-23
SLIDE 23

Challenges of large-scale systems development

Example 1 - Standardized Patient Journal system Implementing one common patient journal across different departments, hospitals, regions.

23

Norway Health Region Health Region Health Region Health Region Entity Entity Entity Entity Entity Entity Entity Entity Entity Entity Entity Entity Entity Entity

slide-24
SLIDE 24

Challenges of large-scale systems development

Work practices, routines, language / semantics, culture, norms, legacy systems, dependencies etc.

24

slide-25
SLIDE 25

Challenges of large-scale systems development

25

PERCEPTION PAST - experiences NOW - other senses FUTURE - goals and motives

Not just defined by qualities of the software, but dependent on a specific set of users

slide-26
SLIDE 26

Challenges in large-scale systems development

  • Usability is dependent on the users
  • Who is it usable for?
  • Who to involve in design?

26

slide-27
SLIDE 27

Challenges of large-scale systems development

Example 2 (Rolland & Monteiro, 2002) - Large shipping survey company: Implementing one common system to support surveying across 300 sites in over 100 countries.

27

HQ Region Region Region Region Entity Entity Entity Entity Entity Entity Entity Entity Entity Entity Entity Entity Entity Entity

slide-28
SLIDE 28

Challenges of large-scale systems development

Example 4 - HISP / DHIS2

28

Titlestad et al., 2009

slide-29
SLIDE 29

29

slide-30
SLIDE 30

30

slide-31
SLIDE 31

Forms of participatory design (Roland et al., 2018)

Rolan et al,. 2018 have identified four types of participatory design based on scale (number of heterogeneous users and settings) Singluar PD Serial PD Parallel PD Community PD

31

slide-32
SLIDE 32

Singular PD

Singular - classic participatory design Design technology in cooperation with small group of end-users. Mutual learning End-users can take part in fundamental decisions

32

slide-33
SLIDE 33

Serial PD

Design of artifact used in multiple settings / organizations / groups of users In cooperation with end-users at one site, then another, and so forth.

33

Titlestad et al., 2009

slide-34
SLIDE 34

Parallel PD

Users are engaged at several sites in parallel to inform generic design Core developers make visits to sites in parallel.

34

Generic product Customized product Customized product Customized product Local pd Local pd Local pd Core developers and implementers

slide-35
SLIDE 35

Community PD

Broader community negotiates generic features. Local customization without involvement from core developers. Circulating use-cases and best practices. Workshops and online arenas for communication

35

Generic product Community of users and developers take decisions

  • collectively. Core developers are not concerned with local

customization Implementations

slide-36
SLIDE 36

Meta-design and platforms

36

slide-37
SLIDE 37

Architectures

  • The technology must allow for local adaptations
  • Flexibility for customization
  • Modularization to innovate and make local adaptations.
  • Open source software

37

slide-38
SLIDE 38

Meta-design

Meta-design: Designing for future design (Andries Van Onck, Gerard Fischer e.g., 2008).

  • Design continue during use.

Software developers create “spaces” so that the software can be shaped according to local use during or after implementation.

  • Making functionality and interfaces customizable
  • Enable development of plugins
  • Open source software.

→ Mainly aimed at end-users as designers.

38

slide-39
SLIDE 39

Meta-design

39

slide-40
SLIDE 40

Platform design flexibility

40

Opening up the software architecture for the development of third-party apps could be one way of providing local implementers with flexibility. Generic core Apps High design-flexibility Low use-flexibility Tiwana 2013

slide-41
SLIDE 41

Platform architectures to support PD

41

Roland et al., 2018

slide-42
SLIDE 42

Architectures

  • Technology is not enough.
  • Also a “social architecture” is needed.

Need of

  • Local competence
  • Channels of communication

42

slide-43
SLIDE 43

Enabling large-scale distributed design

43

Scaffolding - structure that supports design and implementation (Titlestad et al., 2009) “for the duration of a particular human practice, actors draw on various artefacts, spaces, and infrastructures to conduct their activities” - Orlikowski 2006 p462

slide-44
SLIDE 44

Enabling large-scale distributed design

44

Scaffolding - structure that supports design and implementation HISP India HISP Uganda HISP Bangladesh HISP Nigeria DHIS2 core dev HISP Oslo / UiO HISP Tanzania HISP South-Africa jira git dhis2 academies mailing lists expert academies workshops

slide-45
SLIDE 45

Enabling large-scale distributed design

45

Boundary spanners

slide-46
SLIDE 46

Architecture for design

46

slide-47
SLIDE 47

Example: Commodity ordering in Uganda

47

  • Implemented DHIS2 to support commodity consumption reporting and ordering
  • Hard to customize DHIS2 to this domain using built-in customization tools
  • Platform core → too low use and design flexibility for this case
  • Decided to build a third-party app (high design-flexibility)
  • Enabled us to create a system tailored to the use-case.
  • New tensions on the “scaffolding” and the boundary spanners