SlideShare a Scribd company logo
1 of 52
You must and you can: Android UI Patterns
Gabriele Mariotti

Droidcon Torino - 6/7 February 2014
ANDROID GUIDELINES

•
•

Should I follow them?

Can I write a successful app without
following them?

•

Users don’t know them

Droidcon Torino - 6/7 February 2014
CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM?
Timely by Bitspin

DEV

https://play.google.com/store/apps/details?id=ch.bitspin.timely

Droidcon Torino - 6/7 February 2014
CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM?
Yahoo Weather

DEV

https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.weather
Droidcon Torino - 6/7 February 2014
CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM?
Timely by Bitspin

Yahoo Weather

Installs
1,000,000 - 5,000,000

Installs
5,000,000 - 10,000,000
Updated to December 2013

Droidcon Torino - 6/7 February 2014
CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM?
Timely by Bitspin

Yahoo Weather

They are guidelines not RULES, but...
Updated to December 2013

Droidcon Torino - 6/7 February 2014
CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM?
Timely by Bitspin

Yahoo Weather

Droidcon Torino - 6/7 February 2014
CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM?
Timely by Yahoo

Bitspin Weather

Droidcon Torino - 6/7 February 2014
CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM?
They are guidelines not RULES, but...
...consistency and conventions are there to HELP your users. They help users
get things done and not worry about how to get things done.
Design guidelines are there to help you understand the consistency and
conventions, especially if you're not from around here.
Matias Duarte (Android design lead)

DEV

https://plus.google.com/u/0/114892667463719782631/posts/PXGZ48VaqHz

Droidcon Torino - 6/7 February 2014
ANDROID GUIDELINES

•
•
•
•
•

Make a beautiful app

Follow design guidelines
Optimize your layouts
Support multiple screens
Be consistent with the platform
Droidcon Torino - 6/7 February 2014
ANDROID GUIDELINES

•
•
•
•

I am building a beautiful app

I should follow design guidelines but...
I can customize all views
I can customize all behaviours

A señor developer
Droidcon Torino - 6/7 February 2014
ANDROID GUIDELINES

•
•
•
•

I want a beautiful app, an android beautiful app

I don’t know about design guidelines but...
… I don’t like to learn new things
I want to use simply your app

A user
Droidcon Torino - 6/7 February 2014
WHO IS RIGHT?
If one of your user uninstalls your app….

....you will LOSE him for ever!

Droidcon Torino - 6/7 February 2014
I AM WORRIED
My designers would like:

•
•

something new
a great app

My users would like:

•
•

Beautiful + easy to use

an app easy to use
a great app
Droidcon Torino - 6/7 February 2014
THEN?

•
•
•
•
•
•

Follow guidelines

Be creative, but don’t reinvent the wheel
Be reactive, because standards can change
Be consistent with platform
Listen to your users
Imagine unexpected things
Droidcon Torino - 6/7 February 2014
WHAT DOES IT MEAN???

Droidcon Torino - 6/7 February 2014
WHAT DOES IT MEAN???
A basic and common example: ACTIONBAR

Droidcon Torino - 6/7 February 2014
ACTIONBAR BEFORE 2011...

•
•

•
•

was first introduced by third party apps, not by Google.

had different implementations and behaviours
Someone had an idea (a magic idea)
Someone wasn’t afraid to be the first to introduce a new

component

Imagine unexpected things

Droidcon Torino - 6/7 February 2014
ACTIONBAR SINCE 2011...

•
•

•

became an official standard pattern with its rules

became a guideline

Be consistent

Don’t stop to evolve this component !!!
Imagine unexpected things

Droidcon Torino - 6/7 February 2014
YOU MUST: USE THE ACTIONBAR

•
•
•

Use the ActionBar with its rules

No Fake-ActionBar

Follow guidelines

Customize your ActionBar
http://jgilfelt.github.io/android-actionbarstylegenerator/)

Be creative
DEV

http://developer.android.com/design/patterns/actionbar.html

Droidcon Torino - 6/7 February 2014
YOU MUST: CUSTOMIZE THE ACTIONBAR
ActionBars haven’t to be identical (..since 2011)

DEV

http://jgilfelt.github.io/android-actionbarstylegenerator/

Droidcon Torino - 6/7 February 2014
YOU CAN: USE THE SECOND GENERATION OF ACTIONBAR
FadingActionBar: Google introduced it in Google Play Music

DEV

https://github.com/ManuelPeinado/FadingActionBar

Droidcon Torino - 6/7 February 2014
YOU CAN: USE THE SECOND GENERATION OF ACTIONBAR
NotBoringActionBar: Google introduced it in Google Play Newsstand

DEV

https://github.com/flavienlaurent/NotBoringActionBar/

Droidcon Torino - 6/7 February 2014
HOW MANY QUESTIONS…..
FadingActionBar, NotBoringActionBar...
● Are they in guidelines?
● Did they break guidelines? Be creative
● What would have happen if they had not been
built by Google?

Imagine unexpected things
Droidcon Torino - 6/7 February 2014
THEN
FadingActionBar, NotBoringActionBar…

Be reactive!! Use them !!!

Droidcon Torino - 6/7 February 2014
YOU CAN: USE THE SECOND GENERATION OF ACTIONBAR
A transparent actionbar

DEV

Be creative

https://play.google.com/store/apps/details?id=flipboard.app

Droidcon Torino - 6/7 February 2014
YOU CAN: ACTIONBAR + STATUSBAR
Something new… IMMERSIVE FULLSCREEN MODE

•
•

SYSTEM_UI_FLAG_IMMERSIVE
SYSTEM_UI_FLAG_IMMERSIVE_STICKY

DEV

http://developer.android.com/training/system-ui/immersive.html#sticky

Droidcon Torino - 6/7 February 2014
YOU CAN: ACTIONBAR + STATUSBAR
A transparent actionbar + transparent status bar
Be creative

Pay attention: I don’t think that all apps can use this feature.

DEV

https://play.google.com/store/apps/details?id=com.b2cloud.cookscompanion

Droidcon Torino - 6/7 February 2014
YOU CAN: ACTIONBAR + STATUSBAR
CREATE A BACKGROUNG “TINT”

FOR NAVIGATION & STATUS BARS
Be creative

DEV

https://github.com/jgilfelt/SystemBarTint

Droidcon Torino - 6/7 February 2014
THEN?

Be reactive!!
It is something new...then it can change quickly!
If it will become standard, change your code without breaking
the guidelines.

Droidcon Torino - 6/7 February 2014
THERE CAN BE (FEW) EXCEPTIONS
Break the established patterns when needed

but don't break them just to be different

Don’t reinvent the wheel

Droidcon Torino - 6/7 February 2014
WHAT DOES IT MEAN???
A basic and common example: NAVIGATION DRAWER

Droidcon Torino - 6/7 February 2014
NAVIGATION DRAWER BEFORE 2013

•
•
•
•
•

“Facebook navigation”

Side Navigation
Fly in app menu
Sliding menu
………….
Droidcon Torino - 6/7 February 2014
NAVIGATION DRAWER BEFORE 2013

•
•
•
•

was first introduced by third party apps, not by Google.

had different implementations and behaviours
Someone had an idea (a magic idea)
Someone wasn’t afraid to be the first to introduce a new

component

Imagine unexpected things

Droidcon Torino - 6/7 February 2014
NAVIGATION DRAWER SINCE 2013...

•
•
•

•

became an official standard pattern with its rules

became a guideline

Be consistent

same behaviour
Don’t stop to evolve this component !!!

Imagine unexpected things
Droidcon Torino - 6/7 February 2014
YOU MUST: USE THE NAVIGATION DRAWER

•
•
•

Use the Navigation Drawer with its rules

No Fake-Navigation Drawer

Follow guidelines

Customize your Navigation Drawer
Be creative

DEV

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

Droidcon Torino - 6/7 February 2014
YOU MUST: CUSTOMIZE THE NAVIGATION DRAWER
Navigation Drawers haven’t to be identical

Droidcon Torino - 6/7 February 2014
HOW MANY QUESTIONS…..
Navigation Drawer...
● Can I use a custom library instead of the official? Why????
● Can I use a different icon? Why????
● Can I use subtle animations or colored elements
inside my navigation drawer?
Be creative and imagine unexpected things
Droidcon Torino - 6/7 February 2014
THERE CAN BE (FEW) EXCEPTIONS
Wait…!! I think to know what you would like to ask me!
A little thought:

- built by Google: it is interesting…..
- built by unknown: ..eh?

what are you doing??
Why????

Google please can you change it?

Droidcon Torino - 6/7 February 2014
YOU CAN: THE 2nd GENERATION OF NAVIGATION DRAWER?
Available soon….stay tune!

•
•

Add colors
Add subtle animations but look
out for potential gesture
conflict!
Droidcon Torino - 6/7 February 2014
WHAT DOES IT MEAN???
A basic and common example: NEW GESTURES and NEW

PATTERNS

Droidcon Torino - 6/7 February 2014
YESTERDAY : PULL TO REFRESH
It was a new pattern:
● Learned by users

● Not in guidelines
They were creative

DEV

https://github.com/chrisbanes/Android-PullToRefresh * deprecated!

Droidcon Torino - 6/7 February 2014
TODAY: ACTION BAR PULL TO REFRESH
A new pattern:
● Learned by users

● Not in guidelines
● No official code
Be reactive
DEV

https://github.com/chrisbanes/ActionBar-PullToRefresh

Droidcon Torino - 6/7 February 2014
NEW GESTURES
Don’t be afraid to be the first to

integrate new gestures!

Droidcon Torino - 6/7 February 2014
NEW GESTURES
But use a wizard to explain NEW gesture

Droidcon Torino - 6/7 February 2014
NEW GESTURES:
Something new… “Circa News” app.
“Vertical swipe with pagination”
Be ready..

DEV

https://play.google.com/store/apps/details?id=cir.ca

Droidcon Torino - 6/7 February 2014
NEW GESTURES:
Something new… “Tumblr” app.
“Swipe back”
Be ready..

DEV

https://play.google.com/store/apps/details?id=com.tumblr

Droidcon Torino - 6/7 February 2014
THE CHANGES SOMETIMES ARE VIRAL

Droidcon Torino - 6/7 February 2014
THE CHANGES SOMETIMES ARE VIRAL
Also with guidelines….
Should I be reactive ?
Be ready..

Droidcon Torino - 6/7 February 2014
CLOSING

•
•

Write a great app, following Android guidelines

Break the established patterns when needed but don't break
them just to be different

•

Don’t be afraid to be the first to build unexpected things....
new patterns, new gestures, new views

Droidcon Torino - 6/7 February 2014
CLOSING
Remember:

•
•
•
•

users expect apps to work in a certain way
customize your views but don’t build an ANTIPATTERN

test the user experience
Guidelines change and evolve…. Be reactive!

Droidcon Torino - 6/7 February 2014
Gabriele Mariotti
gabri.mariotti@gmail.com
www.google.com/+GabrieleMariotti

Thank you!
Droidcon Torino - 6/7 February 2014

More Related Content

Similar to Droidcon Italy: You must and you can: Android UI Patterns

001-Mobile Application.pptx
001-Mobile Application.pptx001-Mobile Application.pptx
001-Mobile Application.pptxAhmedDarre
 
Designing an App: From Idea to Market
Designing an App: From Idea to MarketDesigning an App: From Idea to Market
Designing an App: From Idea to MarketEffectiveUI
 
Designing an Android App: From Idea to Market
Designing an Android App: From Idea to MarketDesigning an Android App: From Idea to Market
Designing an Android App: From Idea to MarketEffective
 
Designing an Android App from Idea to Market
Designing an Android App from Idea to MarketDesigning an Android App from Idea to Market
Designing an Android App from Idea to MarketTony Hillerson
 
Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Opersys inc.
 
Droidcon Italy 2014 on Train
Droidcon Italy 2014 on TrainDroidcon Italy 2014 on Train
Droidcon Italy 2014 on TrainGiuseppe Cerratti
 
Coders4Africa Ethiopia Developers & Technopreneurs Conference 2014: Building ...
Coders4Africa Ethiopia Developers & Technopreneurs Conference 2014: Building ...Coders4Africa Ethiopia Developers & Technopreneurs Conference 2014: Building ...
Coders4Africa Ethiopia Developers & Technopreneurs Conference 2014: Building ...John Adams
 
Video Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devicesVideo Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devicesMatteo Bonifazi
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Android Training Course In Chandigarh
Android Training Course In ChandigarhAndroid Training Course In Chandigarh
Android Training Course In ChandigarhExcellence Academy
 
Working better together designers & developers
Working better together   designers & developersWorking better together   designers & developers
Working better together designers & developersVitali Pekelis
 
JHipster for Spring Boot webinar
JHipster for Spring Boot webinarJHipster for Spring Boot webinar
JHipster for Spring Boot webinarJulien Dubois
 
Startup safary athens 2014 oleg lola
Startup safary athens 2014 oleg lolaStartup safary athens 2014 oleg lola
Startup safary athens 2014 oleg lolaOleg Lola
 
Lollipop vs Marshmallow: What are the major differences?
Lollipop vs Marshmallow: What are the major differences?Lollipop vs Marshmallow: What are the major differences?
Lollipop vs Marshmallow: What are the major differences?iScripts
 
Going Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product designGoing Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product designEzekiel Binion
 

Similar to Droidcon Italy: You must and you can: Android UI Patterns (20)

001-Mobile Application.pptx
001-Mobile Application.pptx001-Mobile Application.pptx
001-Mobile Application.pptx
 
Designing an App: From Idea to Market
Designing an App: From Idea to MarketDesigning an App: From Idea to Market
Designing an App: From Idea to Market
 
Designing an Android App: From Idea to Market
Designing an Android App: From Idea to MarketDesigning an Android App: From Idea to Market
Designing an Android App: From Idea to Market
 
Designing an Android App from Idea to Market
Designing an Android App from Idea to MarketDesigning an Android App from Idea to Market
Designing an Android App from Idea to Market
 
Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?
 
Droidcon Italy 2014 on Train
Droidcon Italy 2014 on TrainDroidcon Italy 2014 on Train
Droidcon Italy 2014 on Train
 
Coders4Africa Ethiopia Developers & Technopreneurs Conference 2014: Building ...
Coders4Africa Ethiopia Developers & Technopreneurs Conference 2014: Building ...Coders4Africa Ethiopia Developers & Technopreneurs Conference 2014: Building ...
Coders4Africa Ethiopia Developers & Technopreneurs Conference 2014: Building ...
 
Video Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devicesVideo Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devices
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Presentation
PresentationPresentation
Presentation
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Android Training Course In Chandigarh
Android Training Course In ChandigarhAndroid Training Course In Chandigarh
Android Training Course In Chandigarh
 
Working better together designers & developers
Working better together   designers & developersWorking better together   designers & developers
Working better together designers & developers
 
Are You Ready for Android L?
Are You Ready for Android L?Are You Ready for Android L?
Are You Ready for Android L?
 
JHipster for Spring Boot webinar
JHipster for Spring Boot webinarJHipster for Spring Boot webinar
JHipster for Spring Boot webinar
 
Startup safary athens 2014 oleg lola
Startup safary athens 2014 oleg lolaStartup safary athens 2014 oleg lola
Startup safary athens 2014 oleg lola
 
BHOLENDRA SINGH RESUME
BHOLENDRA SINGH RESUMEBHOLENDRA SINGH RESUME
BHOLENDRA SINGH RESUME
 
Lollipop vs Marshmallow: What are the major differences?
Lollipop vs Marshmallow: What are the major differences?Lollipop vs Marshmallow: What are the major differences?
Lollipop vs Marshmallow: What are the major differences?
 
Going Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product designGoing Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product design
 
How to make an app?
How to make an app?How to make an app?
How to make an app?
 

Recently uploaded

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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"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
 
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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
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
 
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
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 

Recently uploaded (20)

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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"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
 
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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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.
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
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
 
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
 
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?
 
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
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
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
 

Droidcon Italy: You must and you can: Android UI Patterns

  • 1. You must and you can: Android UI Patterns Gabriele Mariotti Droidcon Torino - 6/7 February 2014
  • 2. ANDROID GUIDELINES • • Should I follow them? Can I write a successful app without following them? • Users don’t know them Droidcon Torino - 6/7 February 2014
  • 3. CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM? Timely by Bitspin DEV https://play.google.com/store/apps/details?id=ch.bitspin.timely Droidcon Torino - 6/7 February 2014
  • 4. CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM? Yahoo Weather DEV https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.weather Droidcon Torino - 6/7 February 2014
  • 5. CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM? Timely by Bitspin Yahoo Weather Installs 1,000,000 - 5,000,000 Installs 5,000,000 - 10,000,000 Updated to December 2013 Droidcon Torino - 6/7 February 2014
  • 6. CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM? Timely by Bitspin Yahoo Weather They are guidelines not RULES, but... Updated to December 2013 Droidcon Torino - 6/7 February 2014
  • 7. CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM? Timely by Bitspin Yahoo Weather Droidcon Torino - 6/7 February 2014
  • 8. CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM? Timely by Yahoo Bitspin Weather Droidcon Torino - 6/7 February 2014
  • 9. CAN I WRITE A SUCCESSFUL APP WITHOUT FOLLOWING THEM? They are guidelines not RULES, but... ...consistency and conventions are there to HELP your users. They help users get things done and not worry about how to get things done. Design guidelines are there to help you understand the consistency and conventions, especially if you're not from around here. Matias Duarte (Android design lead) DEV https://plus.google.com/u/0/114892667463719782631/posts/PXGZ48VaqHz Droidcon Torino - 6/7 February 2014
  • 10. ANDROID GUIDELINES • • • • • Make a beautiful app Follow design guidelines Optimize your layouts Support multiple screens Be consistent with the platform Droidcon Torino - 6/7 February 2014
  • 11. ANDROID GUIDELINES • • • • I am building a beautiful app I should follow design guidelines but... I can customize all views I can customize all behaviours A señor developer Droidcon Torino - 6/7 February 2014
  • 12. ANDROID GUIDELINES • • • • I want a beautiful app, an android beautiful app I don’t know about design guidelines but... … I don’t like to learn new things I want to use simply your app A user Droidcon Torino - 6/7 February 2014
  • 13. WHO IS RIGHT? If one of your user uninstalls your app…. ....you will LOSE him for ever! Droidcon Torino - 6/7 February 2014
  • 14. I AM WORRIED My designers would like: • • something new a great app My users would like: • • Beautiful + easy to use an app easy to use a great app Droidcon Torino - 6/7 February 2014
  • 15. THEN? • • • • • • Follow guidelines Be creative, but don’t reinvent the wheel Be reactive, because standards can change Be consistent with platform Listen to your users Imagine unexpected things Droidcon Torino - 6/7 February 2014
  • 16. WHAT DOES IT MEAN??? Droidcon Torino - 6/7 February 2014
  • 17. WHAT DOES IT MEAN??? A basic and common example: ACTIONBAR Droidcon Torino - 6/7 February 2014
  • 18. ACTIONBAR BEFORE 2011... • • • • was first introduced by third party apps, not by Google. had different implementations and behaviours Someone had an idea (a magic idea) Someone wasn’t afraid to be the first to introduce a new component Imagine unexpected things Droidcon Torino - 6/7 February 2014
  • 19. ACTIONBAR SINCE 2011... • • • became an official standard pattern with its rules became a guideline Be consistent Don’t stop to evolve this component !!! Imagine unexpected things Droidcon Torino - 6/7 February 2014
  • 20. YOU MUST: USE THE ACTIONBAR • • • Use the ActionBar with its rules No Fake-ActionBar Follow guidelines Customize your ActionBar http://jgilfelt.github.io/android-actionbarstylegenerator/) Be creative DEV http://developer.android.com/design/patterns/actionbar.html Droidcon Torino - 6/7 February 2014
  • 21. YOU MUST: CUSTOMIZE THE ACTIONBAR ActionBars haven’t to be identical (..since 2011) DEV http://jgilfelt.github.io/android-actionbarstylegenerator/ Droidcon Torino - 6/7 February 2014
  • 22. YOU CAN: USE THE SECOND GENERATION OF ACTIONBAR FadingActionBar: Google introduced it in Google Play Music DEV https://github.com/ManuelPeinado/FadingActionBar Droidcon Torino - 6/7 February 2014
  • 23. YOU CAN: USE THE SECOND GENERATION OF ACTIONBAR NotBoringActionBar: Google introduced it in Google Play Newsstand DEV https://github.com/flavienlaurent/NotBoringActionBar/ Droidcon Torino - 6/7 February 2014
  • 24. HOW MANY QUESTIONS….. FadingActionBar, NotBoringActionBar... ● Are they in guidelines? ● Did they break guidelines? Be creative ● What would have happen if they had not been built by Google? Imagine unexpected things Droidcon Torino - 6/7 February 2014
  • 25. THEN FadingActionBar, NotBoringActionBar… Be reactive!! Use them !!! Droidcon Torino - 6/7 February 2014
  • 26. YOU CAN: USE THE SECOND GENERATION OF ACTIONBAR A transparent actionbar DEV Be creative https://play.google.com/store/apps/details?id=flipboard.app Droidcon Torino - 6/7 February 2014
  • 27. YOU CAN: ACTIONBAR + STATUSBAR Something new… IMMERSIVE FULLSCREEN MODE • • SYSTEM_UI_FLAG_IMMERSIVE SYSTEM_UI_FLAG_IMMERSIVE_STICKY DEV http://developer.android.com/training/system-ui/immersive.html#sticky Droidcon Torino - 6/7 February 2014
  • 28. YOU CAN: ACTIONBAR + STATUSBAR A transparent actionbar + transparent status bar Be creative Pay attention: I don’t think that all apps can use this feature. DEV https://play.google.com/store/apps/details?id=com.b2cloud.cookscompanion Droidcon Torino - 6/7 February 2014
  • 29. YOU CAN: ACTIONBAR + STATUSBAR CREATE A BACKGROUNG “TINT” FOR NAVIGATION & STATUS BARS Be creative DEV https://github.com/jgilfelt/SystemBarTint Droidcon Torino - 6/7 February 2014
  • 30. THEN? Be reactive!! It is something new...then it can change quickly! If it will become standard, change your code without breaking the guidelines. Droidcon Torino - 6/7 February 2014
  • 31. THERE CAN BE (FEW) EXCEPTIONS Break the established patterns when needed but don't break them just to be different Don’t reinvent the wheel Droidcon Torino - 6/7 February 2014
  • 32. WHAT DOES IT MEAN??? A basic and common example: NAVIGATION DRAWER Droidcon Torino - 6/7 February 2014
  • 33. NAVIGATION DRAWER BEFORE 2013 • • • • • “Facebook navigation” Side Navigation Fly in app menu Sliding menu …………. Droidcon Torino - 6/7 February 2014
  • 34. NAVIGATION DRAWER BEFORE 2013 • • • • was first introduced by third party apps, not by Google. had different implementations and behaviours Someone had an idea (a magic idea) Someone wasn’t afraid to be the first to introduce a new component Imagine unexpected things Droidcon Torino - 6/7 February 2014
  • 35. NAVIGATION DRAWER SINCE 2013... • • • • became an official standard pattern with its rules became a guideline Be consistent same behaviour Don’t stop to evolve this component !!! Imagine unexpected things Droidcon Torino - 6/7 February 2014
  • 36. YOU MUST: USE THE NAVIGATION DRAWER • • • Use the Navigation Drawer with its rules No Fake-Navigation Drawer Follow guidelines Customize your Navigation Drawer Be creative DEV http://developer.android.com/design/patterns/navigation-drawer.html Droidcon Torino - 6/7 February 2014
  • 37. YOU MUST: CUSTOMIZE THE NAVIGATION DRAWER Navigation Drawers haven’t to be identical Droidcon Torino - 6/7 February 2014
  • 38. HOW MANY QUESTIONS….. Navigation Drawer... ● Can I use a custom library instead of the official? Why???? ● Can I use a different icon? Why???? ● Can I use subtle animations or colored elements inside my navigation drawer? Be creative and imagine unexpected things Droidcon Torino - 6/7 February 2014
  • 39. THERE CAN BE (FEW) EXCEPTIONS Wait…!! I think to know what you would like to ask me! A little thought: - built by Google: it is interesting….. - built by unknown: ..eh? what are you doing?? Why???? Google please can you change it? Droidcon Torino - 6/7 February 2014
  • 40. YOU CAN: THE 2nd GENERATION OF NAVIGATION DRAWER? Available soon….stay tune! • • Add colors Add subtle animations but look out for potential gesture conflict! Droidcon Torino - 6/7 February 2014
  • 41. WHAT DOES IT MEAN??? A basic and common example: NEW GESTURES and NEW PATTERNS Droidcon Torino - 6/7 February 2014
  • 42. YESTERDAY : PULL TO REFRESH It was a new pattern: ● Learned by users ● Not in guidelines They were creative DEV https://github.com/chrisbanes/Android-PullToRefresh * deprecated! Droidcon Torino - 6/7 February 2014
  • 43. TODAY: ACTION BAR PULL TO REFRESH A new pattern: ● Learned by users ● Not in guidelines ● No official code Be reactive DEV https://github.com/chrisbanes/ActionBar-PullToRefresh Droidcon Torino - 6/7 February 2014
  • 44. NEW GESTURES Don’t be afraid to be the first to integrate new gestures! Droidcon Torino - 6/7 February 2014
  • 45. NEW GESTURES But use a wizard to explain NEW gesture Droidcon Torino - 6/7 February 2014
  • 46. NEW GESTURES: Something new… “Circa News” app. “Vertical swipe with pagination” Be ready.. DEV https://play.google.com/store/apps/details?id=cir.ca Droidcon Torino - 6/7 February 2014
  • 47. NEW GESTURES: Something new… “Tumblr” app. “Swipe back” Be ready.. DEV https://play.google.com/store/apps/details?id=com.tumblr Droidcon Torino - 6/7 February 2014
  • 48. THE CHANGES SOMETIMES ARE VIRAL Droidcon Torino - 6/7 February 2014
  • 49. THE CHANGES SOMETIMES ARE VIRAL Also with guidelines…. Should I be reactive ? Be ready.. Droidcon Torino - 6/7 February 2014
  • 50. CLOSING • • Write a great app, following Android guidelines Break the established patterns when needed but don't break them just to be different • Don’t be afraid to be the first to build unexpected things.... new patterns, new gestures, new views Droidcon Torino - 6/7 February 2014
  • 51. CLOSING Remember: • • • • users expect apps to work in a certain way customize your views but don’t build an ANTIPATTERN test the user experience Guidelines change and evolve…. Be reactive! Droidcon Torino - 6/7 February 2014