SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
BUILD
a

User Experience

... on Android
ABOUT.ME

Slides

http://bit.ly/and-nav
http://eyal.fr
DESIGN
Effective

... don't loose your user
Once Upon a Time...

a webservice, far far away...
Planning the screens

It's all about movies...
Planning the relationships
Planning the relationships

Netflix Content

General actions & information
Handle the bar
HOME
sweet

Home
... all roads lead to Home
Dashboard

Useful for
"tools apps"
Dashboard
Dropdown Tabs + Content
Dropdown Tabs + Content

Closed ecosystems,
multi-accounts

Different nature
of content

Different level
of content
Tabs + Content

Feature and organize
the content
Tabs + Content
Navigation drawer + Content

4 top-level screens minimum
Navigation drawer + Content

Most important
screens of
your app

4 top-level screens minimum
Navigation drawer + Content

Structure the
content

4 top-level screens minimum
Navigation drawer + Content
Add general
actions (search,
shorcuts, ...)

4 top-level screens minimum
Navigation drawer + Content

Make your
action bar
more contextual
Optional

4 top-level screens minimum
Navigation drawer + Content

Make your
action bar
more contextual
Optional

Except Settings,
About & Help
by convention

4 top-level screens minimum
Navigation drawer + Content

Very powerful...
but complex !

You have to know why
you are using it!
Choose your home

It's all about movies... as I said
Our choice

Content + Tab
of course :-)
All roads lead to Home
Latteral navigation
Size
Matters
...from S to XXL
Multiple screen sizes

Multi-pane Layout Pattern
Multiple screen sizes
Panel

Panel

Panel

Panel

Panel

Panel

Panel

Multi-pane Layout Pattern

Panel

Panel
Multi-panel design layout

Design

Dev
Multi-panel design layout
Panel

Design

Dev
Multi-panel design layout
Fragment!
Panel

Design

Dev
Frag...
what?!
The fragment

Open
The fragment

Update
Multi-screen UI
Use the system resources
res/layout/main.xml
res/layout-large/main_two_panes.xml
res/layout-sw600dp/main_two_panes.xml
Multi-screen UI
Use the system resources
res/layout/main.xml
res/layout-large/main_two_panes.xml
res/layout-sw600dp/main_two_panes.xml

Default
Multi-screen UI
Use the system resources
res/layout/main.xml
res/layout-large/main_two_panes.xml
res/layout-sw600dp/main_two_panes.xml

>= 7"

Default
Multi-screen UI
Use the system resources
res/layout/main.xml
res/layout-large/main_two_panes.xml
res/layout-sw600dp/main_two_panes.xml

>= 600dp

>= 7"

Default
Multi-screen UI
Avoid file duplication with aliases
res/layout/main.xml
res/layout/main_two_panes.xml
res/values-large/layout.xml
res/values-sw600dp/layout.xml
Multi-screen UI
Avoid file duplication with aliases
res/layout/main.xml
res/layout/main_two_panes.xml
res/values-large/layout.xml
res/values-sw600dp/layout.xml

Define the 2 layouts
on the default folder
Multi-screen UI
Avoid file duplication with aliases
res/layout/main.xml
res/layout/main_two_panes.xml
res/values-large/layout.xml
res/values-sw600dp/layout.xml

Define aliases using
the filters

Define the 2 layouts
on the default folder
Multi-screen UI
Avoid file duplication with aliases
<resources>
<item name="main" type="layout">
@layout/main_two_panes
</item>
</resources>
Multi-screen UI
Avoid file duplication with aliases
<resources>
<item name="main" type="layout">
@layout/main_two_panes
</item>
</resources>

Override main by main_two_panes
for large and sw600dp screens
Multi-screen UI
Fork the code
res/values/bools.xml
res/values-large/bools.xml
res/values-sw600dp/bools.xml

<resources>
<bool name="isTwoPanes">
true|false
</bool>
</resources>
Multi-screen UI
Fork the code
res/values/bools.xml
res/values-large/bools.xml
res/values-sw600dp/bools.xml

<resources>
<bool name="isTwoPanes">
true|false
</bool>
</resources>
Boolean values dealing
with the filters
Multi-screen UI
Fork the code
res/values/bools.xml
res/values-large/bools.xml
res/values-sw600dp/bools.xml

<resources>
<bool name="isTwoPanes">
true|false
</bool>
</resources>
true or false:
explicite definition

Boolean values dealing
with the filters
Multi-screen UI
Fork the code
boolean isTwoPanes = res.getBoolean(R.bool.isTwoPanes);
if (isTwoPanes)
// launch a tablet activity
else
// launch a phone activity
Multi-screen UI
Fork the code
boolean isTwoPanes = res.getBoolean(R.bool.isTwoPanes);
if (isTwoPanes)
// launch a tablet activity
else
// launch a phone activity

We fork the code based on
the isTwoPanes value
We're
done!
... and now the result
Wireframe for phone
Wireframe for tablet
REFERENCES
Design Effective Navigation

http://developer.android.com/training/design-navigation/index.html

Navigation Drawer

http://developer.android.com/design/patterns/navigation-drawer.html

Fragments

http://developer.android.com/guide/components/fragments.html

Implement Effective Navigation

http://developer.android.com/training/implementing-navigation/index.html
THANK YOU!

Slides

http://bit.ly/and-nav
http://eyal.fr

Mais conteúdo relacionado

Mais procurados

Responsive Development (ZendCon 2012)
Responsive Development (ZendCon 2012)Responsive Development (ZendCon 2012)
Responsive Development (ZendCon 2012)Kevin Bruce
 
SIUE IRIS Omeka Workshop
SIUE IRIS Omeka WorkshopSIUE IRIS Omeka Workshop
SIUE IRIS Omeka WorkshopKayla Hays
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarCreating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarSuzanne Dergacheva
 
DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014Suzanne Dergacheva
 
Devise | Presentation for Alpharetta PHP / Laravel Group
Devise | Presentation for Alpharetta PHP / Laravel GroupDevise | Presentation for Alpharetta PHP / Laravel Group
Devise | Presentation for Alpharetta PHP / Laravel GroupGary Williams
 

Mais procurados (8)

WordPress 3.3 Feature Tour
WordPress 3.3 Feature TourWordPress 3.3 Feature Tour
WordPress 3.3 Feature Tour
 
Responsive Development (ZendCon 2012)
Responsive Development (ZendCon 2012)Responsive Development (ZendCon 2012)
Responsive Development (ZendCon 2012)
 
Hyperlink
HyperlinkHyperlink
Hyperlink
 
SIUE IRIS Omeka Workshop
SIUE IRIS Omeka WorkshopSIUE IRIS Omeka Workshop
SIUE IRIS Omeka Workshop
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarCreating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
 
CSS for Mobile
CSS for MobileCSS for Mobile
CSS for Mobile
 
DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014
 
Devise | Presentation for Alpharetta PHP / Laravel Group
Devise | Presentation for Alpharetta PHP / Laravel GroupDevise | Presentation for Alpharetta PHP / Laravel Group
Devise | Presentation for Alpharetta PHP / Laravel Group
 

Semelhante a Build a user experience on Android

IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11julien.ponge
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Ryan Price
 
Building appsinsilverlight4 part_1
Building appsinsilverlight4 part_1Building appsinsilverlight4 part_1
Building appsinsilverlight4 part_1Dennis Perlot
 
Android ui patterns
Android ui patternsAndroid ui patterns
Android ui patternsMobile March
 
Android ui patterns
Android ui patternsAndroid ui patterns
Android ui patternsvpulec
 
Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3Wahyu Putra
 
Responsive Websites
Responsive WebsitesResponsive Websites
Responsive WebsitesJoe Seifi
 
Windows 7 @Microsoft CTD
Windows 7 @Microsoft CTDWindows 7 @Microsoft CTD
Windows 7 @Microsoft CTDAbhishek Sharma
 
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...Raj Lal
 
Using Foundation with Drupal
Using Foundation with DrupalUsing Foundation with Drupal
Using Foundation with DrupalExove
 
Semantic accessibility
Semantic accessibilitySemantic accessibility
Semantic accessibilityIan Stuart
 
Building Shiny Application Series - Layout and HTML
Building Shiny Application Series - Layout and HTMLBuilding Shiny Application Series - Layout and HTML
Building Shiny Application Series - Layout and HTMLOlga Scrivner
 
BADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best PracticesBADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best Practicesmeghsweet
 
Macromedia Dreamweaver 8
Macromedia Dreamweaver 8Macromedia Dreamweaver 8
Macromedia Dreamweaver 8Jeff Wood
 
Macromedia Dreamweaver 8 2
Macromedia Dreamweaver 8 2Macromedia Dreamweaver 8 2
Macromedia Dreamweaver 8 2Jeff Wood
 

Semelhante a Build a user experience on Android (20)

IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
 
Building appsinsilverlight4 part_1
Building appsinsilverlight4 part_1Building appsinsilverlight4 part_1
Building appsinsilverlight4 part_1
 
Android ui patterns
Android ui patternsAndroid ui patterns
Android ui patterns
 
Android ui patterns
Android ui patternsAndroid ui patterns
Android ui patterns
 
Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3
 
Responsive Websites
Responsive WebsitesResponsive Websites
Responsive Websites
 
Windows 7 @Microsoft CTD
Windows 7 @Microsoft CTDWindows 7 @Microsoft CTD
Windows 7 @Microsoft CTD
 
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
 
Using Foundation with Drupal
Using Foundation with DrupalUsing Foundation with Drupal
Using Foundation with Drupal
 
Semantic accessibility
Semantic accessibilitySemantic accessibility
Semantic accessibility
 
Android UI Patterns
Android UI PatternsAndroid UI Patterns
Android UI Patterns
 
Building Shiny Application Series - Layout and HTML
Building Shiny Application Series - Layout and HTMLBuilding Shiny Application Series - Layout and HTML
Building Shiny Application Series - Layout and HTML
 
Free Technology Tools - SBDC EGC 2011
Free Technology Tools - SBDC EGC 2011Free Technology Tools - SBDC EGC 2011
Free Technology Tools - SBDC EGC 2011
 
BADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best PracticesBADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best Practices
 
Multi Screen Hell
Multi Screen HellMulti Screen Hell
Multi Screen Hell
 
Team styles
Team stylesTeam styles
Team styles
 
Spm 2322 w4
Spm 2322 w4Spm 2322 w4
Spm 2322 w4
 
Macromedia Dreamweaver 8
Macromedia Dreamweaver 8Macromedia Dreamweaver 8
Macromedia Dreamweaver 8
 
Macromedia Dreamweaver 8 2
Macromedia Dreamweaver 8 2Macromedia Dreamweaver 8 2
Macromedia Dreamweaver 8 2
 

Último

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Último (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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!
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

Build a user experience on Android