SlideShare a Scribd company logo
1 of 53
Download to read offline
HIT3328 / HIT8328 Software Development for
Mobile Devices
Dr. Rajesh Vasa, 2011
Twitter: @rvasa
Blog: http://rvasa.blogspot.com
1
Lecture 07
Navigation Flow
and Design
Approach
R. Vasa, 20122
Lecture Overview
•Short Recap (previous weeks)
•Mobile App. Design Approach
•Navigation Flow Models
•Building with Navigation Flow Models
R. Vasa, 20123
Elements of Designing
Motivation (Idea or Problem)Motivation (Idea or Problem)
Scenarios (Value &Scenarios (Value &
Metaphor)Metaphor)
Tasks / Modes of OperationTasks / Modes of Operation
Display and ControlDisplay and Control
Problem Space
Solution Space
This is related to application design, not algorithm design
R. Vasa, 20124
Sketches are tools of
communication
Source: http://www.agilemodeling.com
R. Vasa, 20125
Explore concepts with sketches
Source: Flickr - thegreatsunra (Copyright)
R. Vasa, 20126
Paper Prototypes permit
walk-thoughts
R. Vasa, 20127
Paper Prototype is more than a
sketch
•We prototype the complete flow for each
and every task -- but we only sketch
concepts
Scenarios (Value &Scenarios (Value &
Metaphor)Metaphor)
Tasks & Modes ofTasks & Modes of
OperationOperation
Scenarios generate task
scripts (and modes of
operation)
Prototyping explores these task
scripts and modes of operation
R. Vasa, 20128
Prototyping Vs Sketching
Refine
Test
Evocative
Sketch Prototype
Learn
Suggest Describe
Explore
Question
Propose
Provoke
Tentative
Non-Committal
Answer
Resolve
Specific
Depiction
The difference
between a sketch and
a prototype is not
absolute -- rather
think of it as a
continuum
The difference
between a sketch and
a prototype is not
absolute -- rather
think of it as a
continuum
R. Vasa, 20129
Sketch Vs Paper Prototype
•We use paper prototypes to walk-through
an app. with the user
•Sketch is used primarily to explore ideas and
concepts
SketchinSketchin
gg
MotivatioMotivatio
nn
ScenarioScenario
ss
ConstrainConstrain
tsts
PrototypiPrototypi
ngng
Increasing Design Clarity
R. Vasa, 201210
Lecture Overview
•Short Recap (previous weeks)
•Mobile App. Design Approach
•Navigation Flow Models
•Building with Navigation Flow Models
R. Vasa, 201211
Mobile App. Design Approach
SketchinSketchin
gg
MotivatioMotivatio
nn
ScenarioScenario
ss
ConstrainConstrain
tsts
PrototypiPrototypi
ngng
Navigation FlowNavigation Flow
DesignDesign
ScreenScreen
(Activity)(Activity)
Definition/DesiDefinition/Desi
gngn
Domain/DataDomain/Data
ModelModel
StylesStyles
&&
LayoutLayout
ss
Strings &Strings &
ResourceResource
ss
FeaturesFeatures
R. Vasa, 201212
Mobile App. Design Approach
SketchinSketchin
gg
MotivatioMotivatio
nn
ScenarioScenario
ss
ConstrainConstrain
tsts
PrototypiPrototypi
ngng
Navigation FlowNavigation Flow
DesignDesign
ScreenScreen
(Activity)(Activity)
Definition/DesiDefinition/Desi
gngn
Domain/DataDomain/Data
ModelModel
StylesStyles
&&
LayoutLayout
ss
Strings &Strings &
ResourceResource
ss
FeaturesFeatures
Complete as much as possible on
paper
Complete as much as possible on
paper
R. Vasa, 201213
Mobile App. Design Approach
SketchinSketchin
gg
MotivatioMotivatio
nn
ScenarioScenario
ss
ConstrainConstrain
tsts
PrototypiPrototypi
ngng
Navigation FlowNavigation Flow
DesignDesign
ScreenScreen
(Activity)(Activity)
Definition/DesiDefinition/Desi
gngn
Domain/DataDomain/Data
ModelModel
StylesStyles
&&
LayoutLayout
ss
Strings &Strings &
ResourceResource
ss
FeaturesFeatures
Complete as much as possible on
paper
Complete as much as possible on
paper
Layout construction, Visual Look&Feel,
Navigation Flow development is time
consuming in code
Layout construction, Visual Look&Feel,
Navigation Flow development is time
consuming in code
R. Vasa, 201214
Lecture Overview
•Short Recap (previous weeks)
•Mobile App. Design Approach
•Navigation Flow Models
•Building with Navigation Flow Models
R. Vasa, 201215
Navigation Flow Model
•The aim of this model is to communicate
and clarify just the navigation flows
•It should capture the interaction from,
•Events (Clicks)
•Menus
•Dialogs
•It should also show activities that have,
•forms, lists, tabs, and visualizations
•I/O, Orientation Changes, Custom layouts
R. Vasa, 201216
Navigation Flow Modelling
•The notation provided is
•Intended to be used for hand-drawn models
•The models should be constructed as part
of the early design
•It should reflect the complexity of the app.
and allow for better effort estimation
Note: The notation is intentionally
rudimentary -- you are free to extend it
Note: The notation is intentionally
rudimentary -- you are free to extend it
R. Vasa, 201217
Navigation Modelling - Building
Blocks
Activity Name
Menu (Optional)
Lists / Input Form
DB-RW, File-IO
Network-RW
Info. Visualization
Custom Views
Layouts-PL
Sensors
Audio/Video
These are flagged
only if used/relevant
These are flagged
only if used/relevant
This section is shown
only if activity has a
menu
This section is shown
only if activity has a
menu
R. Vasa, 201218
Navigation Modelling - Building
Blocks
Activity A
Flow is shown using a
simple arc
Flow is shown using a
simple arc
Default assumption is that “back
button” will return to Activity A
(in this case)
Default assumption is that “back
button” will return to Activity A
(in this case)
Meaning: Activity A, starts
Activity B
Meaning: Activity A, starts
Activity B
Activity B
R. Vasa, 201219
Navigation Modelling - Building
Blocks
Activity A
Arc labeled to indicate
trigger
(view-name follows dot)
Arc labeled to indicate
trigger
(view-name follows dot)
Meaning: Activity A starts
Activity B when details button
is clicked
Meaning: Activity A starts
Activity B when details button
is clicked
Activity BonTouch.DetailsImage
R. Vasa, 201220
Navigation Modelling - Building
Blocks
Activity A
Cyclic Arcs are permitted
Event triggers start with
“on”
Cyclic Arcs are permitted
Event triggers start with
“on”
Activity BonTouch.DetailsImage
onOrientationCha
nge
R. Vasa, 201221
Navigation Modelling - Building
Blocks
Activity A
Menu Clicks originate from
menu region of activity
box
Menu Clicks originate from
menu region of activity
box
Activity BOnTouch.DetailsImage
Menu
Activity C
[Add]
[ ] brackets imply onClick,
so only label/view name is
shown
[ ] brackets imply onClick,
so only label/view name is
shown
Activity D
[Help]
R. Vasa, 201222
Navigation Modelling - Building
Blocks
Tabs or Action Bar navigations are
grouped with a dashed container. Each
tab can be labelled
Tabs or Action Bar navigations are
grouped with a dashed container. Each
tab can be labelled
Activity B
Activity YActivity X
Activities A, X and Y are accessed
via tabs
Activities A, X and Y are accessed
via tabs
List GPS
Google Maps
OnTouch.DetailsIm
ageActivity A
Tabs
R. Vasa, 201223
Navigation Modelling - Building
Blocks
Activity A
Tabbed Activities (may) have
additional complexity when
modelling
Tabbed Activities (may) have
additional complexity when
modelling
Activity Y
Activity
X
Menu
Activity M[Create]
[Add]
GPS
Google Maps
List
R. Vasa, 201224
Navigation Modelling - Building
Blocks
Activity A
If Back Button is
Overridden use special
block notation
If Back Button is
Overridden use special
block notation
Activity B
Activity C
[Change Details]
OnTouch.DetailsImage
R. Vasa, 201225
Navigation Modelling - Building
Blocks
Activity A
Data Passed is shown using <>
brackets
Data Passed is shown using <>
brackets
Meaning: Activity A, starts
Activity B passing it a bundle
Meaning: Activity A, starts
Activity B passing it a bundle
Activity B[Get Address<bundle>]
Data flow information is optional
R. Vasa, 201226
Navigation Modelling - Building
Blocks
If Activity returns data via a
call-back, then use a solid
arrow head, but show the
returned data in <> braces
If Activity returns data via a
call-back, then use a solid
arrow head, but show the
returned data in <> braces
Activity A Activity B[Get Address<bundle>]
<data_block_name>
R. Vasa, 201227
Navigation Modelling - Building
Blocks
Activity A
Dialogs/Toasts are shown without any
arrow heads
Dialogs/Toasts are shown without any
arrow heads
Confirm Exit Dialog
Message Received
We draw lines without arrow head to
denote ownership
Toasts have a
dashed
boundary
Toasts have a
dashed
boundary
R. Vasa, 201228
Navigation Modelling - Building
Blocks
Activity A
External Applications or Activities in
another application are shown as ovals
External Applications or Activities in
another application are shown as ovals
Chrome Browser
[Browse(ACTION_VIEW)
]
Intents are shown within ()
braces and part of the
trigger
Intents are shown within ()
braces and part of the
trigger
R. Vasa, 201229
Navigation Modelling - Building
Blocks
Activity A
Clicks from List Views are shown using {}Clicks from List Views are shown using {}
Phone
{Contact
Store(ACTION_DIAL)}
Intents are shown within ()
braces and part of the
trigger
Intents are shown within ()
braces and part of the
trigger
R. Vasa, 201230
Navigation Modelling - Building
Blocks
Activity A
We prefix the Activity Name
with a * to indicate the
landing page
We prefix the Activity Name
with a * to indicate the
landing page
Activity Y
*Activity
X
Menu
GPS
Google Maps
List
R. Vasa, 201231
Navigation Modelling -
Information Level
We use additional symbols to
indicate information density /
hierarchy
We use additional symbols to
indicate information density /
hierarchy
Activity
A
O
Activity
A
C
Activity
A
D
Overview (Dashboard or Summary)
Collection (List, Table, Grid)
Detail (Domain entity view)
R. Vasa, 201232
InformationInformation
OverviewOverview
Navigation Modelling -
Information Level
Activity A O
Dashboards & Information
Overviews
NavigationNavigation
DashboardDashboard
It may be a combination of above
R. Vasa, 201233
Navigation Modelling -
Information Level
Activity B C A Collection of
information (can be on
map, list or grid)
Content Exploration / SelectionContent Exploration / Selection
R. Vasa, 201234
Navigation Modelling -
Information Level
Activity M D
Details about a specific
domain entity (can be
editable input to modify
information about entity)
R. Vasa, 201235
Navigation Modelling -
Information Level
Activity A Oi Activity B Ci Activity M Di
An “i” is added to
indicate that the
activity permits some
input
Needed to capture level of interaction
R. Vasa, 201236
Navigation Modelling -
Information Level
Activity A Oi Activity B Ci Activity M Di
Examples where “i” is
handy
R. Vasa, 201237
Navigation Modelling -
Information Level
Activity B Ci
Searching and Updating a Stream
should use Ci
R. Vasa, 201238
Navigation Modelling - Setting
Page
•Showing a collection of
settings is Ci
•Showing a specific (single)
setting is Di
R. Vasa, 201239
Navigation Modelling -
Information
•The O C D classification will be domain
specific & depends on intention
Should this be O or C or D?
R. Vasa, 201240
Navigation Modelling -
Information Level
Activity A O
Activity B C
Activity M D
A Collection of
information (can be on
map, list or grid)
Dashboards &
Information
Overviews
Details about a specific
domain entity (can be
editable input to modify
information about entity)
The O C D annotations are optional
R. Vasa, 201241
Navigation Modelling - Missing
Pieces
•The following are currently missing:
•Background services
•Background threads (or any parallelism)
•Notifications that trigger activities is also
missing
R. Vasa, 201242
Lecture Overview
•Short Recap (previous weeks)
•Mobile App. Design Approach
•Navigation Flow Models
•Simple Example
•Building with Navigation Flow Models
R. Vasa, 201243
Navigation Flow - Example
Messaging Application (in Emulator)
R. Vasa, 201244
Navigation Flow - Example
[Compose]
[New Message]
Compose Activity
R. Vasa, 201245
Navigation Flow - Example
[Compose]
[New Message]
Compose Activity
Messaging
Menu
R. Vasa, 201246
Navigation Flow - Example
[Compose]
[New Message]
Compose Activity
Messaging
Menu
[Settings]
R. Vasa, 201247
Navigation Flow - Example
[Compose]
[New Message]
Messaging
Menu
[Settings]
Compose Message
Menu
Settings
List Select Ringtone
Dialog
Vibrate Setting
Dialog
List
R. Vasa, 201248
Lecture Overview
•Short Recap (previous weeks)
•Mobile App. Design Approach
•Navigation Flow Models
•Building with Navigation Flow Models
R. Vasa, 201249
When can I start coding?
SketchinSketchin
gg
MotivatioMotivatio
nn
ScenarioScenario
ss
ConstrainConstrain
tsts
PrototypiPrototypi
ngng
Navigation FlowNavigation Flow
DesignDesign
FeaturesFeatures
Initial builds of code should aim
to demonstrate the navigation
flow
(without any actual
functionality)
Initial builds of code should aim
to demonstrate the navigation
flow
(without any actual
functionality)
R. Vasa, 201250
When can I start coding?
SketchinSketchin
gg
MotivatioMotivatio
nn
ScenarioScenario
ss
ConstrainConstrain
tsts
PrototypiPrototypi
ngng
Navigation FlowNavigation Flow
DesignDesign
FeaturesFeatures
Code once you have a navigation flow
modelThis will help you setup initial templates and
identify permissions that you may need to
adjust in the manifest
Functionality can be implemented incrementally
R. Vasa, 201251
When can I start coding?
SketchinSketchin
gg
MotivatioMotivatio
nn
ScenarioScenario
ss
ConstrainConstrain
tsts
PrototypiPrototypi
ngng
Navigation FlowNavigation Flow
DesignDesign
FeaturesFeatures
Initial builds of code should aim
to demonstrate the navigation
flow
(without any actual
functionality)
Initial builds of code should aim
to demonstrate the navigation
flow
(without any actual
functionality)Code once you have a navigation flow
model
R. Vasa, 201252
What should be in the initial
builds?
•Lists (with dummy data for adapters)
•Dialogs (using standard templates)
•Menus
•Key interaction buttons (wired up if they
start other activities)
•Tabs (wired up)
Detailed Layouts are not needed in these buildsDetailed Layouts are not needed in these builds
Note: It is understood that only 50-80% of the
activities may have been identified (at this
stage)
R. Vasa, 201253
Initial Builds + Sketches
•You can include the sketches via image
views into the initial builds
•This will test the overall look and feel of the
app.
•Very crude -- but effective

More Related Content

Similar to HIT3328 - Chapter0702 - Navigation Flow and Design Approach

Project management planning
Project management planningProject management planning
Project management planningAlvin Niere
 
HIT3328 - Chapter03 - Simple Interactive Apps
HIT3328 - Chapter03 - Simple Interactive AppsHIT3328 - Chapter03 - Simple Interactive Apps
HIT3328 - Chapter03 - Simple Interactive AppsYhal Htet Aung
 
Top UX Deliverables : What will I make as a UX Designer?
Top UX Deliverables : What will I make as a UX Designer?Top UX Deliverables : What will I make as a UX Designer?
Top UX Deliverables : What will I make as a UX Designer?nariyaravi
 
UI UX - The Bigger Picture
UI UX - The Bigger PictureUI UX - The Bigger Picture
UI UX - The Bigger PictureMayank Lambhate
 
Design at Scale: An ExactTarget Case Study
Design at Scale: An ExactTarget Case StudyDesign at Scale: An ExactTarget Case Study
Design at Scale: An ExactTarget Case StudyDesignMap
 
11 visualizing software_architectures
11 visualizing software_architectures11 visualizing software_architectures
11 visualizing software_architecturesMajong DevJfu
 
Please Define: Roles in User Experience Design
Please Define: Roles in User Experience DesignPlease Define: Roles in User Experience Design
Please Define: Roles in User Experience DesignSkye Sant
 
Agile and effective project management of for-by wikis
Agile and effective project management of for-by wikisAgile and effective project management of for-by wikis
Agile and effective project management of for-by wikisJesse Wang
 
WP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightWP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightMICTT Palma
 
EIA 2015 Creating Apps with Android Material Design
EIA 2015 Creating Apps with Android Material DesignEIA 2015 Creating Apps with Android Material Design
EIA 2015 Creating Apps with Android Material DesignEuropean Innovation Academy
 
Portfolio Swetha Dubbaka
Portfolio Swetha DubbakaPortfolio Swetha Dubbaka
Portfolio Swetha Dubbakaswethadn
 
What’s in your BA Toolbox – Has User experience and Usability gone to the way...
What’s in your BA Toolbox – Has User experience and Usability gone to the way...What’s in your BA Toolbox – Has User experience and Usability gone to the way...
What’s in your BA Toolbox – Has User experience and Usability gone to the way...Glenn Teneycke
 
Navigating Help - Testing Information Architecture with Treejack
Navigating Help - Testing Information Architecture with TreejackNavigating Help - Testing Information Architecture with Treejack
Navigating Help - Testing Information Architecture with Treejackpatricia_gale
 
Best Practices - chapter #3 - Business and developer collaboration with Bonita
Best Practices - chapter #3 - Business and developer collaboration with BonitaBest Practices - chapter #3 - Business and developer collaboration with Bonita
Best Practices - chapter #3 - Business and developer collaboration with BonitaBonitasoft
 
A Presentation on Database modelling tools.pptx
A Presentation on Database modelling tools.pptxA Presentation on Database modelling tools.pptx
A Presentation on Database modelling tools.pptxrncamp606
 
Skye Sant - executive overview: ux/product case studies
Skye Sant - executive overview: ux/product case studiesSkye Sant - executive overview: ux/product case studies
Skye Sant - executive overview: ux/product case studiesSkye Sant
 
Android user experience
Android user experienceAndroid user experience
Android user experienceRaihan Himel
 

Similar to HIT3328 - Chapter0702 - Navigation Flow and Design Approach (20)

Project management planning
Project management planningProject management planning
Project management planning
 
Android ui with xml
Android ui with xmlAndroid ui with xml
Android ui with xml
 
HIT3328 - Chapter03 - Simple Interactive Apps
HIT3328 - Chapter03 - Simple Interactive AppsHIT3328 - Chapter03 - Simple Interactive Apps
HIT3328 - Chapter03 - Simple Interactive Apps
 
UX/UI portfolio
UX/UI portfolioUX/UI portfolio
UX/UI portfolio
 
Top UX Deliverables : What will I make as a UX Designer?
Top UX Deliverables : What will I make as a UX Designer?Top UX Deliverables : What will I make as a UX Designer?
Top UX Deliverables : What will I make as a UX Designer?
 
UI UX - The Bigger Picture
UI UX - The Bigger PictureUI UX - The Bigger Picture
UI UX - The Bigger Picture
 
Design at Scale: An ExactTarget Case Study
Design at Scale: An ExactTarget Case StudyDesign at Scale: An ExactTarget Case Study
Design at Scale: An ExactTarget Case Study
 
11 visualizing software_architectures
11 visualizing software_architectures11 visualizing software_architectures
11 visualizing software_architectures
 
Please Define: Roles in User Experience Design
Please Define: Roles in User Experience DesignPlease Define: Roles in User Experience Design
Please Define: Roles in User Experience Design
 
Agile and effective project management of for-by wikis
Agile and effective project management of for-by wikisAgile and effective project management of for-by wikis
Agile and effective project management of for-by wikis
 
WP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightWP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a Silverlight
 
EIA 2015 Creating Apps with Android Material Design
EIA 2015 Creating Apps with Android Material DesignEIA 2015 Creating Apps with Android Material Design
EIA 2015 Creating Apps with Android Material Design
 
Portfolio Swetha Dubbaka
Portfolio Swetha DubbakaPortfolio Swetha Dubbaka
Portfolio Swetha Dubbaka
 
What’s in your BA Toolbox – Has User experience and Usability gone to the way...
What’s in your BA Toolbox – Has User experience and Usability gone to the way...What’s in your BA Toolbox – Has User experience and Usability gone to the way...
What’s in your BA Toolbox – Has User experience and Usability gone to the way...
 
Navigating Help - Testing Information Architecture with Treejack
Navigating Help - Testing Information Architecture with TreejackNavigating Help - Testing Information Architecture with Treejack
Navigating Help - Testing Information Architecture with Treejack
 
Best Practices - chapter #3 - Business and developer collaboration with Bonita
Best Practices - chapter #3 - Business and developer collaboration with BonitaBest Practices - chapter #3 - Business and developer collaboration with Bonita
Best Practices - chapter #3 - Business and developer collaboration with Bonita
 
A Presentation on Database modelling tools.pptx
A Presentation on Database modelling tools.pptxA Presentation on Database modelling tools.pptx
A Presentation on Database modelling tools.pptx
 
Neha
NehaNeha
Neha
 
Skye Sant - executive overview: ux/product case studies
Skye Sant - executive overview: ux/product case studiesSkye Sant - executive overview: ux/product case studies
Skye Sant - executive overview: ux/product case studies
 
Android user experience
Android user experienceAndroid user experience
Android user experience
 

More from Yhal Htet Aung

HIT3328 - Chapter0601 - Menus and Lists
HIT3328 - Chapter0601 - Menus and ListsHIT3328 - Chapter0601 - Menus and Lists
HIT3328 - Chapter0601 - Menus and ListsYhal Htet Aung
 
HIT3328 - Chapter02 - Foundation and Tools
HIT3328 - Chapter02 - Foundation and ToolsHIT3328 - Chapter02 - Foundation and Tools
HIT3328 - Chapter02 - Foundation and ToolsYhal Htet Aung
 
HIT3328 - Chapter04 - Complex Interactions
HIT3328 - Chapter04 - Complex InteractionsHIT3328 - Chapter04 - Complex Interactions
HIT3328 - Chapter04 - Complex InteractionsYhal Htet Aung
 
HIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and DevicesHIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and DevicesYhal Htet Aung
 
CSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program DevelopmentCSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program DevelopmentYhal Htet Aung
 
CSC1100 - Chapter10 - Information System
CSC1100 - Chapter10 - Information SystemCSC1100 - Chapter10 - Information System
CSC1100 - Chapter10 - Information SystemYhal Htet Aung
 
CSC1100 - Chapter09 - Computer Security, Ethics and Privacy
CSC1100 - Chapter09 - Computer Security, Ethics and PrivacyCSC1100 - Chapter09 - Computer Security, Ethics and Privacy
CSC1100 - Chapter09 - Computer Security, Ethics and PrivacyYhal Htet Aung
 
CSC1100 - Chapter08 - Database Management
CSC1100 - Chapter08 - Database ManagementCSC1100 - Chapter08 - Database Management
CSC1100 - Chapter08 - Database ManagementYhal Htet Aung
 
CSC1100 - Chapter07 - Communications & Networks
CSC1100 - Chapter07 - Communications & NetworksCSC1100 - Chapter07 - Communications & Networks
CSC1100 - Chapter07 - Communications & NetworksYhal Htet Aung
 
CSC1100 - Chapter05 - Storage
CSC1100 - Chapter05 - StorageCSC1100 - Chapter05 - Storage
CSC1100 - Chapter05 - StorageYhal Htet Aung
 
CSC1100 - Chapter04 - Output
CSC1100 - Chapter04 - OutputCSC1100 - Chapter04 - Output
CSC1100 - Chapter04 - OutputYhal Htet Aung
 
CSC1100 - Chapter02 - Components of the System Unit
CSC1100 - Chapter02 - Components of the System UnitCSC1100 - Chapter02 - Components of the System Unit
CSC1100 - Chapter02 - Components of the System UnitYhal Htet Aung
 
CSC1100 - Chapter01 - Overview of Using Computers
CSC1100 - Chapter01 - Overview of Using ComputersCSC1100 - Chapter01 - Overview of Using Computers
CSC1100 - Chapter01 - Overview of Using ComputersYhal Htet Aung
 
CSC1100 - Chapter12 - Flow Charts
CSC1100 - Chapter12 - Flow ChartsCSC1100 - Chapter12 - Flow Charts
CSC1100 - Chapter12 - Flow ChartsYhal Htet Aung
 

More from Yhal Htet Aung (14)

HIT3328 - Chapter0601 - Menus and Lists
HIT3328 - Chapter0601 - Menus and ListsHIT3328 - Chapter0601 - Menus and Lists
HIT3328 - Chapter0601 - Menus and Lists
 
HIT3328 - Chapter02 - Foundation and Tools
HIT3328 - Chapter02 - Foundation and ToolsHIT3328 - Chapter02 - Foundation and Tools
HIT3328 - Chapter02 - Foundation and Tools
 
HIT3328 - Chapter04 - Complex Interactions
HIT3328 - Chapter04 - Complex InteractionsHIT3328 - Chapter04 - Complex Interactions
HIT3328 - Chapter04 - Complex Interactions
 
HIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and DevicesHIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and Devices
 
CSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program DevelopmentCSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program Development
 
CSC1100 - Chapter10 - Information System
CSC1100 - Chapter10 - Information SystemCSC1100 - Chapter10 - Information System
CSC1100 - Chapter10 - Information System
 
CSC1100 - Chapter09 - Computer Security, Ethics and Privacy
CSC1100 - Chapter09 - Computer Security, Ethics and PrivacyCSC1100 - Chapter09 - Computer Security, Ethics and Privacy
CSC1100 - Chapter09 - Computer Security, Ethics and Privacy
 
CSC1100 - Chapter08 - Database Management
CSC1100 - Chapter08 - Database ManagementCSC1100 - Chapter08 - Database Management
CSC1100 - Chapter08 - Database Management
 
CSC1100 - Chapter07 - Communications & Networks
CSC1100 - Chapter07 - Communications & NetworksCSC1100 - Chapter07 - Communications & Networks
CSC1100 - Chapter07 - Communications & Networks
 
CSC1100 - Chapter05 - Storage
CSC1100 - Chapter05 - StorageCSC1100 - Chapter05 - Storage
CSC1100 - Chapter05 - Storage
 
CSC1100 - Chapter04 - Output
CSC1100 - Chapter04 - OutputCSC1100 - Chapter04 - Output
CSC1100 - Chapter04 - Output
 
CSC1100 - Chapter02 - Components of the System Unit
CSC1100 - Chapter02 - Components of the System UnitCSC1100 - Chapter02 - Components of the System Unit
CSC1100 - Chapter02 - Components of the System Unit
 
CSC1100 - Chapter01 - Overview of Using Computers
CSC1100 - Chapter01 - Overview of Using ComputersCSC1100 - Chapter01 - Overview of Using Computers
CSC1100 - Chapter01 - Overview of Using Computers
 
CSC1100 - Chapter12 - Flow Charts
CSC1100 - Chapter12 - Flow ChartsCSC1100 - Chapter12 - Flow Charts
CSC1100 - Chapter12 - Flow Charts
 

Recently uploaded

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Recently uploaded (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

HIT3328 - Chapter0702 - Navigation Flow and Design Approach

  • 1. HIT3328 / HIT8328 Software Development for Mobile Devices Dr. Rajesh Vasa, 2011 Twitter: @rvasa Blog: http://rvasa.blogspot.com 1 Lecture 07 Navigation Flow and Design Approach
  • 2. R. Vasa, 20122 Lecture Overview •Short Recap (previous weeks) •Mobile App. Design Approach •Navigation Flow Models •Building with Navigation Flow Models
  • 3. R. Vasa, 20123 Elements of Designing Motivation (Idea or Problem)Motivation (Idea or Problem) Scenarios (Value &Scenarios (Value & Metaphor)Metaphor) Tasks / Modes of OperationTasks / Modes of Operation Display and ControlDisplay and Control Problem Space Solution Space This is related to application design, not algorithm design
  • 4. R. Vasa, 20124 Sketches are tools of communication Source: http://www.agilemodeling.com
  • 5. R. Vasa, 20125 Explore concepts with sketches Source: Flickr - thegreatsunra (Copyright)
  • 6. R. Vasa, 20126 Paper Prototypes permit walk-thoughts
  • 7. R. Vasa, 20127 Paper Prototype is more than a sketch •We prototype the complete flow for each and every task -- but we only sketch concepts Scenarios (Value &Scenarios (Value & Metaphor)Metaphor) Tasks & Modes ofTasks & Modes of OperationOperation Scenarios generate task scripts (and modes of operation) Prototyping explores these task scripts and modes of operation
  • 8. R. Vasa, 20128 Prototyping Vs Sketching Refine Test Evocative Sketch Prototype Learn Suggest Describe Explore Question Propose Provoke Tentative Non-Committal Answer Resolve Specific Depiction The difference between a sketch and a prototype is not absolute -- rather think of it as a continuum The difference between a sketch and a prototype is not absolute -- rather think of it as a continuum
  • 9. R. Vasa, 20129 Sketch Vs Paper Prototype •We use paper prototypes to walk-through an app. with the user •Sketch is used primarily to explore ideas and concepts SketchinSketchin gg MotivatioMotivatio nn ScenarioScenario ss ConstrainConstrain tsts PrototypiPrototypi ngng Increasing Design Clarity
  • 10. R. Vasa, 201210 Lecture Overview •Short Recap (previous weeks) •Mobile App. Design Approach •Navigation Flow Models •Building with Navigation Flow Models
  • 11. R. Vasa, 201211 Mobile App. Design Approach SketchinSketchin gg MotivatioMotivatio nn ScenarioScenario ss ConstrainConstrain tsts PrototypiPrototypi ngng Navigation FlowNavigation Flow DesignDesign ScreenScreen (Activity)(Activity) Definition/DesiDefinition/Desi gngn Domain/DataDomain/Data ModelModel StylesStyles && LayoutLayout ss Strings &Strings & ResourceResource ss FeaturesFeatures
  • 12. R. Vasa, 201212 Mobile App. Design Approach SketchinSketchin gg MotivatioMotivatio nn ScenarioScenario ss ConstrainConstrain tsts PrototypiPrototypi ngng Navigation FlowNavigation Flow DesignDesign ScreenScreen (Activity)(Activity) Definition/DesiDefinition/Desi gngn Domain/DataDomain/Data ModelModel StylesStyles && LayoutLayout ss Strings &Strings & ResourceResource ss FeaturesFeatures Complete as much as possible on paper Complete as much as possible on paper
  • 13. R. Vasa, 201213 Mobile App. Design Approach SketchinSketchin gg MotivatioMotivatio nn ScenarioScenario ss ConstrainConstrain tsts PrototypiPrototypi ngng Navigation FlowNavigation Flow DesignDesign ScreenScreen (Activity)(Activity) Definition/DesiDefinition/Desi gngn Domain/DataDomain/Data ModelModel StylesStyles && LayoutLayout ss Strings &Strings & ResourceResource ss FeaturesFeatures Complete as much as possible on paper Complete as much as possible on paper Layout construction, Visual Look&Feel, Navigation Flow development is time consuming in code Layout construction, Visual Look&Feel, Navigation Flow development is time consuming in code
  • 14. R. Vasa, 201214 Lecture Overview •Short Recap (previous weeks) •Mobile App. Design Approach •Navigation Flow Models •Building with Navigation Flow Models
  • 15. R. Vasa, 201215 Navigation Flow Model •The aim of this model is to communicate and clarify just the navigation flows •It should capture the interaction from, •Events (Clicks) •Menus •Dialogs •It should also show activities that have, •forms, lists, tabs, and visualizations •I/O, Orientation Changes, Custom layouts
  • 16. R. Vasa, 201216 Navigation Flow Modelling •The notation provided is •Intended to be used for hand-drawn models •The models should be constructed as part of the early design •It should reflect the complexity of the app. and allow for better effort estimation Note: The notation is intentionally rudimentary -- you are free to extend it Note: The notation is intentionally rudimentary -- you are free to extend it
  • 17. R. Vasa, 201217 Navigation Modelling - Building Blocks Activity Name Menu (Optional) Lists / Input Form DB-RW, File-IO Network-RW Info. Visualization Custom Views Layouts-PL Sensors Audio/Video These are flagged only if used/relevant These are flagged only if used/relevant This section is shown only if activity has a menu This section is shown only if activity has a menu
  • 18. R. Vasa, 201218 Navigation Modelling - Building Blocks Activity A Flow is shown using a simple arc Flow is shown using a simple arc Default assumption is that “back button” will return to Activity A (in this case) Default assumption is that “back button” will return to Activity A (in this case) Meaning: Activity A, starts Activity B Meaning: Activity A, starts Activity B Activity B
  • 19. R. Vasa, 201219 Navigation Modelling - Building Blocks Activity A Arc labeled to indicate trigger (view-name follows dot) Arc labeled to indicate trigger (view-name follows dot) Meaning: Activity A starts Activity B when details button is clicked Meaning: Activity A starts Activity B when details button is clicked Activity BonTouch.DetailsImage
  • 20. R. Vasa, 201220 Navigation Modelling - Building Blocks Activity A Cyclic Arcs are permitted Event triggers start with “on” Cyclic Arcs are permitted Event triggers start with “on” Activity BonTouch.DetailsImage onOrientationCha nge
  • 21. R. Vasa, 201221 Navigation Modelling - Building Blocks Activity A Menu Clicks originate from menu region of activity box Menu Clicks originate from menu region of activity box Activity BOnTouch.DetailsImage Menu Activity C [Add] [ ] brackets imply onClick, so only label/view name is shown [ ] brackets imply onClick, so only label/view name is shown Activity D [Help]
  • 22. R. Vasa, 201222 Navigation Modelling - Building Blocks Tabs or Action Bar navigations are grouped with a dashed container. Each tab can be labelled Tabs or Action Bar navigations are grouped with a dashed container. Each tab can be labelled Activity B Activity YActivity X Activities A, X and Y are accessed via tabs Activities A, X and Y are accessed via tabs List GPS Google Maps OnTouch.DetailsIm ageActivity A Tabs
  • 23. R. Vasa, 201223 Navigation Modelling - Building Blocks Activity A Tabbed Activities (may) have additional complexity when modelling Tabbed Activities (may) have additional complexity when modelling Activity Y Activity X Menu Activity M[Create] [Add] GPS Google Maps List
  • 24. R. Vasa, 201224 Navigation Modelling - Building Blocks Activity A If Back Button is Overridden use special block notation If Back Button is Overridden use special block notation Activity B Activity C [Change Details] OnTouch.DetailsImage
  • 25. R. Vasa, 201225 Navigation Modelling - Building Blocks Activity A Data Passed is shown using <> brackets Data Passed is shown using <> brackets Meaning: Activity A, starts Activity B passing it a bundle Meaning: Activity A, starts Activity B passing it a bundle Activity B[Get Address<bundle>] Data flow information is optional
  • 26. R. Vasa, 201226 Navigation Modelling - Building Blocks If Activity returns data via a call-back, then use a solid arrow head, but show the returned data in <> braces If Activity returns data via a call-back, then use a solid arrow head, but show the returned data in <> braces Activity A Activity B[Get Address<bundle>] <data_block_name>
  • 27. R. Vasa, 201227 Navigation Modelling - Building Blocks Activity A Dialogs/Toasts are shown without any arrow heads Dialogs/Toasts are shown without any arrow heads Confirm Exit Dialog Message Received We draw lines without arrow head to denote ownership Toasts have a dashed boundary Toasts have a dashed boundary
  • 28. R. Vasa, 201228 Navigation Modelling - Building Blocks Activity A External Applications or Activities in another application are shown as ovals External Applications or Activities in another application are shown as ovals Chrome Browser [Browse(ACTION_VIEW) ] Intents are shown within () braces and part of the trigger Intents are shown within () braces and part of the trigger
  • 29. R. Vasa, 201229 Navigation Modelling - Building Blocks Activity A Clicks from List Views are shown using {}Clicks from List Views are shown using {} Phone {Contact Store(ACTION_DIAL)} Intents are shown within () braces and part of the trigger Intents are shown within () braces and part of the trigger
  • 30. R. Vasa, 201230 Navigation Modelling - Building Blocks Activity A We prefix the Activity Name with a * to indicate the landing page We prefix the Activity Name with a * to indicate the landing page Activity Y *Activity X Menu GPS Google Maps List
  • 31. R. Vasa, 201231 Navigation Modelling - Information Level We use additional symbols to indicate information density / hierarchy We use additional symbols to indicate information density / hierarchy Activity A O Activity A C Activity A D Overview (Dashboard or Summary) Collection (List, Table, Grid) Detail (Domain entity view)
  • 32. R. Vasa, 201232 InformationInformation OverviewOverview Navigation Modelling - Information Level Activity A O Dashboards & Information Overviews NavigationNavigation DashboardDashboard It may be a combination of above
  • 33. R. Vasa, 201233 Navigation Modelling - Information Level Activity B C A Collection of information (can be on map, list or grid) Content Exploration / SelectionContent Exploration / Selection
  • 34. R. Vasa, 201234 Navigation Modelling - Information Level Activity M D Details about a specific domain entity (can be editable input to modify information about entity)
  • 35. R. Vasa, 201235 Navigation Modelling - Information Level Activity A Oi Activity B Ci Activity M Di An “i” is added to indicate that the activity permits some input Needed to capture level of interaction
  • 36. R. Vasa, 201236 Navigation Modelling - Information Level Activity A Oi Activity B Ci Activity M Di Examples where “i” is handy
  • 37. R. Vasa, 201237 Navigation Modelling - Information Level Activity B Ci Searching and Updating a Stream should use Ci
  • 38. R. Vasa, 201238 Navigation Modelling - Setting Page •Showing a collection of settings is Ci •Showing a specific (single) setting is Di
  • 39. R. Vasa, 201239 Navigation Modelling - Information •The O C D classification will be domain specific & depends on intention Should this be O or C or D?
  • 40. R. Vasa, 201240 Navigation Modelling - Information Level Activity A O Activity B C Activity M D A Collection of information (can be on map, list or grid) Dashboards & Information Overviews Details about a specific domain entity (can be editable input to modify information about entity) The O C D annotations are optional
  • 41. R. Vasa, 201241 Navigation Modelling - Missing Pieces •The following are currently missing: •Background services •Background threads (or any parallelism) •Notifications that trigger activities is also missing
  • 42. R. Vasa, 201242 Lecture Overview •Short Recap (previous weeks) •Mobile App. Design Approach •Navigation Flow Models •Simple Example •Building with Navigation Flow Models
  • 43. R. Vasa, 201243 Navigation Flow - Example Messaging Application (in Emulator)
  • 44. R. Vasa, 201244 Navigation Flow - Example [Compose] [New Message] Compose Activity
  • 45. R. Vasa, 201245 Navigation Flow - Example [Compose] [New Message] Compose Activity Messaging Menu
  • 46. R. Vasa, 201246 Navigation Flow - Example [Compose] [New Message] Compose Activity Messaging Menu [Settings]
  • 47. R. Vasa, 201247 Navigation Flow - Example [Compose] [New Message] Messaging Menu [Settings] Compose Message Menu Settings List Select Ringtone Dialog Vibrate Setting Dialog List
  • 48. R. Vasa, 201248 Lecture Overview •Short Recap (previous weeks) •Mobile App. Design Approach •Navigation Flow Models •Building with Navigation Flow Models
  • 49. R. Vasa, 201249 When can I start coding? SketchinSketchin gg MotivatioMotivatio nn ScenarioScenario ss ConstrainConstrain tsts PrototypiPrototypi ngng Navigation FlowNavigation Flow DesignDesign FeaturesFeatures Initial builds of code should aim to demonstrate the navigation flow (without any actual functionality) Initial builds of code should aim to demonstrate the navigation flow (without any actual functionality)
  • 50. R. Vasa, 201250 When can I start coding? SketchinSketchin gg MotivatioMotivatio nn ScenarioScenario ss ConstrainConstrain tsts PrototypiPrototypi ngng Navigation FlowNavigation Flow DesignDesign FeaturesFeatures Code once you have a navigation flow modelThis will help you setup initial templates and identify permissions that you may need to adjust in the manifest Functionality can be implemented incrementally
  • 51. R. Vasa, 201251 When can I start coding? SketchinSketchin gg MotivatioMotivatio nn ScenarioScenario ss ConstrainConstrain tsts PrototypiPrototypi ngng Navigation FlowNavigation Flow DesignDesign FeaturesFeatures Initial builds of code should aim to demonstrate the navigation flow (without any actual functionality) Initial builds of code should aim to demonstrate the navigation flow (without any actual functionality)Code once you have a navigation flow model
  • 52. R. Vasa, 201252 What should be in the initial builds? •Lists (with dummy data for adapters) •Dialogs (using standard templates) •Menus •Key interaction buttons (wired up if they start other activities) •Tabs (wired up) Detailed Layouts are not needed in these buildsDetailed Layouts are not needed in these builds Note: It is understood that only 50-80% of the activities may have been identified (at this stage)
  • 53. R. Vasa, 201253 Initial Builds + Sketches •You can include the sketches via image views into the initial builds •This will test the overall look and feel of the app. •Very crude -- but effective