Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh ([email protected])

22
Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1 Chris Greenhalgh ([email protected])
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    220
  • download

    1

Transcript of Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh ([email protected])

Page 1: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 1

Designing a mobile app

Chris GreenhalghG54UBI / 2011-03-02

Page 2: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 2

First…

• Work out what the application is meant to do, e.g.– Identify possible users and situations of use– Identify use cases, i.e. main activities– Write one or more user stories

Page 3: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 3

Example: tree walk

• Existing paper walking guide to trees and gardens on the University Park campus

• (as used for GLF)

Page 4: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 4

Example: user story

• Ali is visiting University Park and installs the tree walk app on her Android phone

• She starts the app and the main view shows the walking map

• As she explores the area the app chimes and pops up more detail of nearby points of interest

• She reads these with interest before continuing her walk

Page 5: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 5

D1. Identify application “screens”

• Work out how the application will be divided into screens, e.g.– Splash screen– Map overview– Location detail view– Help– …

Page 6: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 6

D1: Example

• Welcome screen• Main map screen• Point of interest screens– 4: Acer saccharinum;

5: Ulmus ‘Sapporo Autumn Gold’; 7: Metasequoia glyptostroboides

• Where am I? screen (native app)• Help screen

Page 7: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 7

Non-GUI apps

• “Screens” are most relevant for GUI-based apps, but still a necessary starting point for other apps, e.g. audio• For non-GUI apps there may be other application “modes”

which effectively sub-divide/specialise each screen– E.g. “seeking”, “detail”, …

• These should be identified and charted in the same way as screens

Page 8: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 8

D2. Define screen “flow”

• Work out how the application moves from one screen to another, e.g.– On direct user input (e.g. a button)– On “back”– On timer– On sensor input condition

Page 9: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 9

D2: Example

Welcome

Main(map)

Where?

Detail (1)Detail (1)

Detail (1)

Help

BackBack

Back

“Start”button

“Help”button“Where?”

button

GPS trigger

Page 10: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 10

D3. “wireframe” each screen

• For each screen, work out what GUI elements will make it up and roughly how they will be laid out, e.g.– Images, Text, Buttons, Gauges, …

• Specify what each GUI element will do• Highlight any elements that change– These may be domain model objects or

properties! (see 6)

Page 11: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 11

D3: Example

Welcome Main

Welcome to the University Park

tree walk

StartHelp Where

am I?

GPS:

Page 12: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 12

D3: Example

Help Map (native app)

OK

Blah blah blah blah Blah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blah

Tree Walk Help

Page 13: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 13

D3: Example

Detail 4 …

OK

On the right hand side of the drive is a groupof young Acer saccharinum, the Silver maple, introduced from Eastern North America in 1725. It is a fast growing tree.

4: Silver Maple

Page 14: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 14

D4. Specify sensor input and effects

• Identify – Which sensors are monitored– When, e.g. on which screens– How sensor input is processed• E.g. identify region entry

– Which screen elements are affected and how• E.g. signal strength, user position

– What other actions result• E.g. screen transitions

Page 15: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 15

D4: Example

• Sensor is GPS• Only required on main screen• Accuracy is shown on main screen GPS gauge• Position is checked against interest regions• Entering interest region switches to detail

screen

Page 16: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 16

D5. Specify any “invisible” activities

• E.g. – Network operations– Audio / sound effects– Background processing

Page 17: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 17

D5: Example

• Transition to detail view accompanied by “chime” sound-effect

Page 18: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 18

Optional: D6. Define/Refine the domain model

• Identify the classes of “things” that your application “knows” about, e.g.– Trees, shops, exhibits, places, …

• Identify what your application “knows” about each “thing”, i.e.– the properties and relationships that are shown to

the user (see 3)– The properties and relationships that are used

internally when deciding what to do (see 2, 4, 5)This activity can be done and re-done at any stage through the designand refinement process

Page 19: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 19

Why D6?

• Aim to separate – Code = behaviour– Screen and element “templates” = appearance– Domain data = data values = specific content

• Because– Code is harder to change– Specific content can be represented more concisely as

data values– Specific content can be changed more easily

• Potentially dynamically, e.g. from a server

Page 20: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 20

D6: Example

• “Things” are “points of interest”– Or perhaps more specifically “trees”

• A point of interest has:– A spatial trigger region– A map key (e.g. “4”) – “Detail” information• A title• Some descriptive text

Page 21: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 21

Iterate…

• Review and refine taking account of– Walkthroughs– Details emerging from later stages– Other use cases– Paper prototyping– Implementation constraints– User tests

Page 22: Designing a mobile app Chris Greenhalgh G54UBI / 2011-03-02 1Chris Greenhalgh (cmg@cs.nott.ac.uk)

Chris Greenhalgh ([email protected]) 22

Summary

• D1. Identify application “screens”• D2. Define screen “flow”• D3. “wireframe” each screen• D4. Specify sensor input and effects• D5. Specify any “invisible” activities• D6. Define/Refine the domain model

(optional)