Designing apps lecture

50
Using an iterative approach for app development Dr John Rooksby

Transcript of Designing apps lecture

Page 1: Designing apps lecture

Using an iterative approach for app development

Dr John Rooksby

Page 2: Designing apps lecture

I am researcher in Computing Science at Glasgow. I have been studying how people use “personal tracking” apps

Page 3: Designing apps lecture

In this lecture• I will give an overview of personal tracking

applications.

• I will give examples of applications I have worked on at the University of Glasgow.

• I will outline the iterative development processes taken to build these applications.

• I will emphasis the importance of sketching and prototyping in early stage iterative development

Page 4: Designing apps lecture

Personal Tracking

Page 5: Designing apps lecture

Personal Tracking

Page 6: Designing apps lecture

Personal Tracking

Page 7: Designing apps lecture
Page 8: Designing apps lecture
Page 9: Designing apps lecture
Page 10: Designing apps lecture
Page 11: Designing apps lecture
Page 12: Designing apps lecture
Page 13: Designing apps lecture

Research issues• Can these technologies help us make positive behaviour changes?

• When delivered through an app store?

• When recommended or prescribed by an expert?

• How do people use these technologies?

• Can we foster engagement and appropriate use?

• Can we present data in a meaningful way?

• Are there alternative uses of these apps that we hadn’t though of?

Page 14: Designing apps lecture

Personal Tracking Applications Developed at the University of Glasgow

Page 15: Designing apps lecture

Quped• A Pedometer app

• Counts steps, sets goals and allows you to compare your steps with others.

• We want to know if it is possible to recognise behaviour changes “in the wild”

• Released on Apple App Store

Page 16: Designing apps lecture

MatchFIT• An information ‘hub’ that

presents step count and standing time from a hardware device, and supports communication with peers.

• Application given to people participating in a healthy lifestyle programme. We want to know if this application is valuable after the lifestyle programme completes.

• Multi-platform application (Android, iOS, Web).

Page 17: Designing apps lecture

AppTracker• Tracks what apps you use

and for how long

• This (arguably) was the first app for personal tracking of device use for iOS. We wanted to explore how people would use this kind of tracker.

• First released in 2013. New version out now.

Page 18: Designing apps lecture

ScreenLife• ScreenLife enables

you to track how much time you spend on mobile devices and computers.

• Exploratory research examining measures of “screen time”

• Prototype evaluated in 2015

Page 19: Designing apps lecture

How are these developed?

Page 20: Designing apps lecture

Iterative process

Page 21: Designing apps lecture

Boehm and Hansen (2000) Spiral Development: Experience, Principles and Refinements.

Page 22: Designing apps lecture

1. Talk to people

Page 23: Designing apps lecture

Talk to people

• Try to do open, exploratory interviews.

• Don’t just talk to people like yourself.

• Be open to surprises

Page 24: Designing apps lecture

Look at what is already out there

• Look at apps.

• What do they support?

• What do they do well?

• What is missing?

Page 25: Designing apps lecture
Page 26: Designing apps lecture

2. Sketch, and talk to people.

Page 27: Designing apps lecture

Sketch alternatives• Quick sketches of as many alternative designs as

you can.

• Do this to force yourself to think creatively. Your first idea is rarely your best.

• They don’t need to all be good ideas. Think about bad ideas - what makes them bad?

• Talk to others about your ideas.

Page 28: Designing apps lecture

Generated by CamScanner from intsig.comGenerated by CamScanner from intsig.com

Generated by CamScanner from intsig.comGenerated by CamScanner from intsig.com Generated by CamScanner from intsig.com

Sketch alternatives

• Five sketches for a health and fitness app

• All of these were produced as “bad” or “wrong” ideas for the particular project we were doing

Page 29: Designing apps lecture

Sketch alternatives

• Moving on to “serious” ideas

Page 30: Designing apps lecture

Refine sketches

• The step counts for each week are separate (left), and then put together (right).

Page 31: Designing apps lecture

Producing a prototype

Page 32: Designing apps lecture

Formalising sketches

• These were produced using software called Sketch.

Page 33: Designing apps lecture
Page 34: Designing apps lecture

3. Prototype, collect data, and talk to people.

Page 35: Designing apps lecture

Functional Prototype

• This was built this with Apache Cordova

• It was not completely finished, but “good enough” to trial

• We ran a user trial with 12 people

• We logged interaction with the app and interviewed them after 2 weeks

Page 36: Designing apps lecture

InterviewsWe interviewed (most of) the participants

• “Yeah it helped me compare myself against other people, against a sort of a trend. So I could see if I was dramatically below other people … so instead of getting the bus in the morning I walked, but I didn’t like go out of my way to walk more”.

• “You don’t know if these are sporty people, or if they walk a lot, or err, this number here is not, it doesn’t represent much I think.”

• “I didn’t have much to write so I said hello. Maybe knowing the other people would make me say more.”

Page 37: Designing apps lecture

Mon Dec 08 2014 21:39:59 GMT+0000 (GMT): app-start: "{}"

Mon Dec 08 2014 21:39:59 GMT+0000 (GMT): main-screen-data: "{\"steps\":6002,\"you\":7074,\"friends\":4433}"

Mon Dec 08 2014 21:40:04 GMT+0000 (GMT): main-swipe: {"page":1}

Mon Dec 08 2014 21:40:09 GMT+0000 (GMT): main-swipe: {"page":2}

Mon Dec 08 2014 21:40:16 GMT+0000 (GMT): main-swipe: {"page":1}

Mon Dec 08 2014 21:40:16 GMT+0000 (GMT): main-screen-data: "{\"steps\":6002,\"you\":7074,\"friends\":4433}"

Mon Dec 08 2014 21:40:18 GMT+0000 (GMT): main-swipe: {"page":2}

Mon Dec 08 2014 21:40:21 GMT+0000 (GMT): main-swipe: {"page":1}

Mon Dec 08 2014 21:40:21 GMT+0000 (GMT): main-screen-data: "{\"steps\":6002,\"you\":7074,\"friends\":4433}"

Mon Dec 08 2014 21:40:22 GMT+0000 (GMT): main-swipe: {"page":2}

Mon Dec 08 2014 21:40:23 GMT+0000 (GMT): open-post-comment: "{}"

Mon Dec 08 2014 21:40:28 GMT+0000 (GMT): main-swipe: {"page":1}

Mon Dec 08 2014 21:40:28 GMT+0000 (GMT): main-screen-data: "{\"steps\":6002,\"you\":7074,\"friends\":4433}"

Mon Dec 08 2014 21:40:36 GMT+0000 (GMT): main-swipe: {"page":0}

Page 38: Designing apps lecture

Logs and Interviews• Logs are good at showing what people did.

• Interviews are good for finding out why people did these things.

• For example:

• The logs showed us not many people wrote comments in the app, the interviews helped us identify why.

• The logs showed us some people liked the daily steps view, but others looked more at the weekly view, and in the interviews we could address why.

• A trial gives you insights into how to improve an app, but its back to the sketch book.

Page 39: Designing apps lecture

Full prototype• Our next major

prototype was multi-platform and integrated with the hardware tracker.

• Trialled with a ‘target group’ of users over several weeks.

• We collected log data and interviewed the users after the trial.

Page 40: Designing apps lecture
Page 41: Designing apps lecture

4. Release, collect data, and talk to people.

Page 42: Designing apps lecture

Release version

• Released and used by ~350 people.

• It took multiple design iterations to get here.

Page 43: Designing apps lecture

Release version• Analysis of release version mainly via log data.

• Indirect feedback via the sites.

Page 44: Designing apps lecture

Second release

• Now only collecting quantitative data.

• Further redesigns planned.

• Apps are never finished!

Page 45: Designing apps lecture
Page 46: Designing apps lecture

Conclusion

Page 47: Designing apps lecture

Refined sketches

sketchesMore sketches

Paper prototype

Functional prototype

Full prototype

Release

Iterative design looks somewhat like this

Further releases

Page 48: Designing apps lecture

• The hardest part of application development is not implementation, but getting the design right.

• Implementation does take time

• So try not to implement the wrong thing!

• Iterative development allows you to:

• Make your mistakes as early as possible

• Helps you/customers articulate ideas

Why do iterative design?

Page 49: Designing apps lecture

• The key part of iterative development is getting feedback

• Qualitative feedback by talking to people

• Quantitative feedback through log data

• To get rapid feedback you can

• Create and discuss sketches

• Create and discuss ‘minimal’ prototypes

• Data becomes more valuable later on

What is iterative development?

Page 50: Designing apps lecture

Thank you.