Using an iterative approach for app development Dr John Rooksby
Using an iterative approach for app development
Dr John Rooksby
I am researcher in Computing Science at Glasgow. I have been studying how people use “personal tracking” apps
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
Personal Tracking
Personal Tracking
Personal Tracking
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?
Personal Tracking Applications Developed at the University of Glasgow
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
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).
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.
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
How are these developed?
Iterative process
Boehm and Hansen (2000) Spiral Development: Experience, Principles and Refinements.
1. Talk to people
Talk to people
• Try to do open, exploratory interviews.
• Don’t just talk to people like yourself.
• Be open to surprises
Look at what is already out there
• Look at apps.
• What do they support?
• What do they do well?
• What is missing?
2. Sketch, and talk to people.
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.
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
Sketch alternatives
• Moving on to “serious” ideas
Refine sketches
• The step counts for each week are separate (left), and then put together (right).
Producing a prototype
Formalising sketches
• These were produced using software called Sketch.
3. Prototype, collect data, and talk to people.
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
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.”
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}
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.
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.
4. Release, collect data, and talk to people.
Release version
• Released and used by ~350 people.
• It took multiple design iterations to get here.
Release version• Analysis of release version mainly via log data.
• Indirect feedback via the sites.
Second release
• Now only collecting quantitative data.
• Further redesigns planned.
• Apps are never finished!
Conclusion
Refined sketches
sketchesMore sketches
Paper prototype
Functional prototype
Full prototype
Release
Iterative design looks somewhat like this
Further releases
• 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?
• 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?
Thank you.