SlideShare a Scribd company logo
Excellence in the Android User
Experience
Roman Nurik
Roman Nurik
Android Developer Advocate
Google
@romannurik




I care about icons, and
I think you should too ;-)
Where does the
user experience
begin?
Hint:
It doesn’t
begin here.
More likely,
it starts
here:
Or sometimes here:
And where does
user experience
extend to?
App Usage      Reviews


    Recommendations


 Forums        Support
Agenda
1.  Making a great first impression
2.  Designing for ease of use
3.  UI design + dev tips
4.  New tools
5.  Continuing to impress the user
Making a great
first impression
You can start
setting appropriate expectations and
impressing the user
sooner than you think:


  Have a clean, beautiful and guideline-friendly icon
  Have a unique and appropriate listing title
  Have an honest and useful listing description
DO   DON’T
You don’t always have control over the
first impression.


  Press and word-of-mouth reviews
  User’s previous exposure to your brand
  Market ratings


Improving the quality of your app will help positively
influence these factors.
Once your app is installed,
get the user up and running
as quickly as possible.


  Don’t require a lengthy registration process
    –  Users hate typing on mobile devices


  Sync user data and context immediately
    –  Users shouldn’t have to recreate their desktop
       environment on their mobile phone
Your ‘home’ activity should be straightforward.




            It’s also an opportunity to
        show off available features, in a
highly aesthetic, consistent, yet brand-faithful way.
In some cases, your app
may call for a unique user
interface.

In these cases, consider
greeting the user and
educating them on the UI.

Make them feel comfortable
with your app.


Example:
Winamp for Android
Greeting the user with
a one-time tutorial
screen can also
inform them about app
features like widgets,
live wallpapers, or
global search
Designing for
ease of use
Clarity begets ease of use.


An ideal design process:
1.  Lay out your information hierarchy
    and data model
2.  Choose a primary UI navigation pattern
3.  Sketch or otherwise prototype your UI
DO                     DON’T
  Dashboard +              5+ tabs or bottom tabs
   Action bar
                            Navigation sections
  Top tabs (up to 4)        in options menu
  Sliding top tabs         On-screen back button
   (homogenous content)
Primary action bar
pattern




Alternative or
secondary
action bar
patterns
DO feel free to customize
the way tabs look
DON’T alter the back stack
if you’re using tabs
Scrollable tabs +
horizontal swiping
is best for
homogenous
content

Example:
News and Weather
(stock Android)
Prototyping tools and methods:


  Paper + pen
  Pencil for Firefox – more on this in a bit
  Adobe Fireworks – interactive prototypes
UI design + dev tips
      (abridged)
http://j.mp/androiddesigntips
  DON’T simply port your      DON’T use px units,
   UI from other platforms      use dp (sp for text)
  DON’T overuse modal         DON’T use small font
   progress &                   sizes
   confirmation dialogs


  DO make large,              DO support D-pad &
   obvious tap targets          trackball navigation
   (buttons, list items)
                               DO properly manage
  DO use proper margins        the activity stack
   and padding
                               DO properly handle
                                orientation changes
DO localize if you’re
available globally
DO work with visual and
interaction designer(s)
Drawable XML (no PNGs!)
PNGs, 9-patch PNGs,
optimized for multi. densities


Layout XML
optimized for
physical size and orientation


Styles and themes, etc.

Strings XML localized for your
target regions
foo.xml:


<selector>
    <item android:drawable="@drawable/foo_disabled"
          android:state_enabled="false" ... />
    <item android:drawable="@drawable/foo_pressed"
          android:state_pressed="true" ... />
    <item android:drawable="@drawable/foo_focused"
          android:state_focused="true" ... />
    <item android:drawable="@drawable/foo_default" /> 
</selector>
foo_default.png   foo_disabled.png foo_focused.png   foo_pressed.png




foo_default.png   foo_disabled.png foo_focused.png   foo_pressed.png
foo.9.png	




  Similar to CSS3 border-image	
  Border pixels indicate stretchable regions
  Make both -mdpi and -hdpi versions!
http://j.mp/androidiconguidelines
New tools
New Android UI Utilities
open source project:


  Prototyping stencils for Pencil
  Android Asset Studio
  Photoshop icon templates
http://j.mp/androiduiutils

http://j.mp/androidassetstudio
Continuing to
impress the user
http://j.mp/improvingappquality
Copyrights and Trademarks
  Android, Google are registered trademarks of
   Google Inc.
  All other trademarks and copyrights are the
   property of their respective owners.

More Related Content

What's hot

Lean prototyping for entrepreneurs
Lean prototyping for entrepreneursLean prototyping for entrepreneurs
Lean prototyping for entrepreneursAmir Khella
 
UX UI - Principles and Best Practices 2014-2015
UX UI - Principles and Best Practices 2014-2015UX UI - Principles and Best Practices 2014-2015
UX UI - Principles and Best Practices 2014-2015
Harsh Wardhan Dave
 
UX/UI design process - Studio CreativeMe
UX/UI design process - Studio CreativeMeUX/UI design process - Studio CreativeMe
UX/UI design process - Studio CreativeMe
Madhuri Garg
 
What have you learnt about technologies?
What have you learnt about technologies?What have you learnt about technologies?
What have you learnt about technologies?michellejackson4
 
What have you learnt about technologies from the
What have you learnt about technologies from theWhat have you learnt about technologies from the
What have you learnt about technologies from the
Josh Mckay
 
Application GUI Design - Notes from a Toolkit Developer
Application GUI Design - Notes from a Toolkit DeveloperApplication GUI Design - Notes from a Toolkit Developer
Application GUI Design - Notes from a Toolkit DeveloperSamsung Open Source Group
 
UX Design: A Concept and Evolution
UX Design: A Concept and EvolutionUX Design: A Concept and Evolution
UX Design: A Concept and Evolution
Appsbee
 
I didn't know PowerPoint could do that
I didn't know PowerPoint could do thatI didn't know PowerPoint could do that
I didn't know PowerPoint could do that
Amey Holden
 
Mobile app development lesson 3
Mobile app development   lesson 3Mobile app development   lesson 3
Mobile app development lesson 3
KerryJTurner
 
Prototyping Apps for Real People, by Apple
Prototyping Apps for Real People, by ApplePrototyping Apps for Real People, by Apple
Prototyping Apps for Real People, by Apple
Franco Cedillo
 
Engl313 project2 slidedoc3 kirchmeier spring 2020
Engl313 project2 slidedoc3 kirchmeier spring 2020Engl313 project2 slidedoc3 kirchmeier spring 2020
Engl313 project2 slidedoc3 kirchmeier spring 2020
Barbara Ann
 
MobileWebAppsDesign
MobileWebAppsDesignMobileWebAppsDesign
MobileWebAppsDesign
mobileappsdesign
 
UI Design 101: Day 02 of 07
UI Design 101: Day 02 of 07UI Design 101: Day 02 of 07
UI Design 101: Day 02 of 07
Siegrid Agravante
 

What's hot (16)

Lean prototyping for entrepreneurs
Lean prototyping for entrepreneursLean prototyping for entrepreneurs
Lean prototyping for entrepreneurs
 
UX UI - Principles and Best Practices 2014-2015
UX UI - Principles and Best Practices 2014-2015UX UI - Principles and Best Practices 2014-2015
UX UI - Principles and Best Practices 2014-2015
 
UX/UI design process - Studio CreativeMe
UX/UI design process - Studio CreativeMeUX/UI design process - Studio CreativeMe
UX/UI design process - Studio CreativeMe
 
What have you learnt about technologies?
What have you learnt about technologies?What have you learnt about technologies?
What have you learnt about technologies?
 
What have you learnt about technologies from the
What have you learnt about technologies from theWhat have you learnt about technologies from the
What have you learnt about technologies from the
 
Application GUI Design - Notes from a Toolkit Developer
Application GUI Design - Notes from a Toolkit DeveloperApplication GUI Design - Notes from a Toolkit Developer
Application GUI Design - Notes from a Toolkit Developer
 
Blogs
BlogsBlogs
Blogs
 
UX Design: A Concept and Evolution
UX Design: A Concept and EvolutionUX Design: A Concept and Evolution
UX Design: A Concept and Evolution
 
Design for Mobile
Design for MobileDesign for Mobile
Design for Mobile
 
I didn't know PowerPoint could do that
I didn't know PowerPoint could do thatI didn't know PowerPoint could do that
I didn't know PowerPoint could do that
 
Mobile app development lesson 3
Mobile app development   lesson 3Mobile app development   lesson 3
Mobile app development lesson 3
 
Mockdown @ MOB
Mockdown @ MOBMockdown @ MOB
Mockdown @ MOB
 
Prototyping Apps for Real People, by Apple
Prototyping Apps for Real People, by ApplePrototyping Apps for Real People, by Apple
Prototyping Apps for Real People, by Apple
 
Engl313 project2 slidedoc3 kirchmeier spring 2020
Engl313 project2 slidedoc3 kirchmeier spring 2020Engl313 project2 slidedoc3 kirchmeier spring 2020
Engl313 project2 slidedoc3 kirchmeier spring 2020
 
MobileWebAppsDesign
MobileWebAppsDesignMobileWebAppsDesign
MobileWebAppsDesign
 
UI Design 101: Day 02 of 07
UI Design 101: Day 02 of 07UI Design 101: Day 02 of 07
UI Design 101: Day 02 of 07
 

Similar to Excellence in the Android User Experience

UI design for mobile apps
UI design for mobile appsUI design for mobile apps
UI design for mobile apps
Ivano Malavolta
 
UI and UX for Mobile Developers
UI and UX for Mobile DevelopersUI and UX for Mobile Developers
UI and UX for Mobile Developers
Mohamed Nabil, MSc.
 
Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014
MoodLabs
 
Android UI Design Tips
Android UI Design TipsAndroid UI Design Tips
Android UI Design Tips
Android Developers
 
dmedia DP2 Interaction Design - Deliverable 2
dmedia DP2 Interaction Design - Deliverable 2dmedia DP2 Interaction Design - Deliverable 2
dmedia DP2 Interaction Design - Deliverable 2Stanford dmedia
 
Interactive cues in flat design
Interactive cues in flat designInteractive cues in flat design
Interactive cues in flat design
Ming-Liang Liu
 
UI Design
UI DesignUI Design
UI Design
Ivano Malavolta
 
UI design for mobile apps
UI design for mobile appsUI design for mobile apps
UI design for mobile apps
Ivano Malavolta
 
10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App Developers10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App Developers
Jigyasa Makkar
 
Presentation Ux
Presentation UxPresentation Ux
Presentation Ux
Jochen Vandendriessche
 
Designing for Mobile: User-centering; How-tos; Trends
Designing for Mobile: User-centering; How-tos; TrendsDesigning for Mobile: User-centering; How-tos; Trends
Designing for Mobile: User-centering; How-tos; Trends
Netcetera
 
UX Prototyping and Personas 9 25-15
UX Prototyping and Personas 9 25-15UX Prototyping and Personas 9 25-15
UX Prototyping and Personas 9 25-15
Shilpa Thanawala
 
Make better apps - Guide for Better UX
Make better apps - Guide for Better UXMake better apps - Guide for Better UX
Make better apps - Guide for Better UX
Dhaval Jani
 
Usability principles 1
Usability principles 1Usability principles 1
Usability principles 1
Sameer Chavan
 
Web UI Design Patterns 2014
Web UI Design Patterns 2014Web UI Design Patterns 2014
Web UI Design Patterns 2014
Lewis Lin 🦊
 
Application Design - Part 3
Application Design - Part 3Application Design - Part 3
Application Design - Part 3
Kelley Howell
 
UX Prototyping and Personas 11-14-14
UX Prototyping and Personas 11-14-14UX Prototyping and Personas 11-14-14
UX Prototyping and Personas 11-14-14
Shilpa Thanawala
 
Droidcon2014 - Android UX
Droidcon2014 - Android UXDroidcon2014 - Android UX
Droidcon2014 - Android UX
Piervincenzo Madeo
 
UX Prototyping and Personas 9-5-14
UX Prototyping and Personas 9-5-14UX Prototyping and Personas 9-5-14
UX Prototyping and Personas 9-5-14
Shilpa Thanawala
 
Casestudy
CasestudyCasestudy
Casestudy
Vera Kovaleva
 

Similar to Excellence in the Android User Experience (20)

UI design for mobile apps
UI design for mobile appsUI design for mobile apps
UI design for mobile apps
 
UI and UX for Mobile Developers
UI and UX for Mobile DevelopersUI and UX for Mobile Developers
UI and UX for Mobile Developers
 
Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014
 
Android UI Design Tips
Android UI Design TipsAndroid UI Design Tips
Android UI Design Tips
 
dmedia DP2 Interaction Design - Deliverable 2
dmedia DP2 Interaction Design - Deliverable 2dmedia DP2 Interaction Design - Deliverable 2
dmedia DP2 Interaction Design - Deliverable 2
 
Interactive cues in flat design
Interactive cues in flat designInteractive cues in flat design
Interactive cues in flat design
 
UI Design
UI DesignUI Design
UI Design
 
UI design for mobile apps
UI design for mobile appsUI design for mobile apps
UI design for mobile apps
 
10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App Developers10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App Developers
 
Presentation Ux
Presentation UxPresentation Ux
Presentation Ux
 
Designing for Mobile: User-centering; How-tos; Trends
Designing for Mobile: User-centering; How-tos; TrendsDesigning for Mobile: User-centering; How-tos; Trends
Designing for Mobile: User-centering; How-tos; Trends
 
UX Prototyping and Personas 9 25-15
UX Prototyping and Personas 9 25-15UX Prototyping and Personas 9 25-15
UX Prototyping and Personas 9 25-15
 
Make better apps - Guide for Better UX
Make better apps - Guide for Better UXMake better apps - Guide for Better UX
Make better apps - Guide for Better UX
 
Usability principles 1
Usability principles 1Usability principles 1
Usability principles 1
 
Web UI Design Patterns 2014
Web UI Design Patterns 2014Web UI Design Patterns 2014
Web UI Design Patterns 2014
 
Application Design - Part 3
Application Design - Part 3Application Design - Part 3
Application Design - Part 3
 
UX Prototyping and Personas 11-14-14
UX Prototyping and Personas 11-14-14UX Prototyping and Personas 11-14-14
UX Prototyping and Personas 11-14-14
 
Droidcon2014 - Android UX
Droidcon2014 - Android UXDroidcon2014 - Android UX
Droidcon2014 - Android UX
 
UX Prototyping and Personas 9-5-14
UX Prototyping and Personas 9-5-14UX Prototyping and Personas 9-5-14
UX Prototyping and Personas 9-5-14
 
Casestudy
CasestudyCasestudy
Casestudy
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 

Excellence in the Android User Experience

  • 1.
  • 2. Excellence in the Android User Experience Roman Nurik
  • 3. Roman Nurik Android Developer Advocate Google @romannurik I care about icons, and I think you should too ;-)
  • 4. Where does the user experience begin?
  • 8. And where does user experience extend to?
  • 9. App Usage Reviews Recommendations Forums Support
  • 10. Agenda 1.  Making a great first impression 2.  Designing for ease of use 3.  UI design + dev tips 4.  New tools 5.  Continuing to impress the user
  • 11. Making a great first impression
  • 12. You can start setting appropriate expectations and impressing the user sooner than you think:   Have a clean, beautiful and guideline-friendly icon   Have a unique and appropriate listing title   Have an honest and useful listing description
  • 13. DO DON’T
  • 14. You don’t always have control over the first impression.   Press and word-of-mouth reviews   User’s previous exposure to your brand   Market ratings Improving the quality of your app will help positively influence these factors.
  • 15. Once your app is installed, get the user up and running as quickly as possible.   Don’t require a lengthy registration process –  Users hate typing on mobile devices   Sync user data and context immediately –  Users shouldn’t have to recreate their desktop environment on their mobile phone
  • 16. Your ‘home’ activity should be straightforward. It’s also an opportunity to show off available features, in a highly aesthetic, consistent, yet brand-faithful way.
  • 17. In some cases, your app may call for a unique user interface. In these cases, consider greeting the user and educating them on the UI. Make them feel comfortable with your app. Example: Winamp for Android
  • 18. Greeting the user with a one-time tutorial screen can also inform them about app features like widgets, live wallpapers, or global search
  • 20. Clarity begets ease of use. An ideal design process: 1.  Lay out your information hierarchy and data model 2.  Choose a primary UI navigation pattern 3.  Sketch or otherwise prototype your UI
  • 21. DO DON’T   Dashboard +   5+ tabs or bottom tabs Action bar   Navigation sections   Top tabs (up to 4) in options menu   Sliding top tabs   On-screen back button (homogenous content)
  • 22.
  • 23. Primary action bar pattern Alternative or secondary action bar patterns
  • 24.
  • 25. DO feel free to customize the way tabs look
  • 26. DON’T alter the back stack if you’re using tabs
  • 27. Scrollable tabs + horizontal swiping is best for homogenous content Example: News and Weather (stock Android)
  • 28.
  • 29. Prototyping tools and methods:   Paper + pen   Pencil for Firefox – more on this in a bit   Adobe Fireworks – interactive prototypes
  • 30. UI design + dev tips (abridged)
  • 32.   DON’T simply port your   DON’T use px units, UI from other platforms use dp (sp for text)   DON’T overuse modal   DON’T use small font progress & sizes confirmation dialogs   DO make large,   DO support D-pad & obvious tap targets trackball navigation (buttons, list items)   DO properly manage   DO use proper margins the activity stack and padding   DO properly handle orientation changes
  • 33. DO localize if you’re available globally
  • 34. DO work with visual and interaction designer(s)
  • 35. Drawable XML (no PNGs!) PNGs, 9-patch PNGs, optimized for multi. densities Layout XML optimized for physical size and orientation Styles and themes, etc. Strings XML localized for your target regions
  • 36. foo.xml: <selector> <item android:drawable="@drawable/foo_disabled" android:state_enabled="false" ... /> <item android:drawable="@drawable/foo_pressed" android:state_pressed="true" ... /> <item android:drawable="@drawable/foo_focused" android:state_focused="true" ... /> <item android:drawable="@drawable/foo_default" /> </selector>
  • 37. foo_default.png foo_disabled.png foo_focused.png foo_pressed.png foo_default.png foo_disabled.png foo_focused.png foo_pressed.png
  • 38. foo.9.png   Similar to CSS3 border-image   Border pixels indicate stretchable regions   Make both -mdpi and -hdpi versions!
  • 41. New Android UI Utilities open source project:   Prototyping stencils for Pencil   Android Asset Studio   Photoshop icon templates
  • 43.
  • 44.
  • 47. Copyrights and Trademarks   Android, Google are registered trademarks of Google Inc.   All other trademarks and copyrights are the property of their respective owners.