SlideShare a Scribd company logo
1 of 53
Android UI Patterns


           Presented by
           Vladan Pulec


Created by Vladan Pulec and Peter Pascale
Agenda

       Android UI History
     Android 4 UI Highlights
      Android UI Patterns
Android Version History




Look and Feel
Formalized

2009
Android Version History




2010 Google IO

Dashboard UI Pattern
Android Version History




2011 Google IO

Tablet Patterns

No More
Dashboard
Android Version History




Ice Cream Sandwich
October 19 2010

Honeycomb UI - Unification

No More Hardware Buttons
Android Market Share




http://blog.nielsen.com/nielsenwire/online_mobile/generation-app-62-of-mobile-users-25-34-own-smartphones/
Android Market Share




 Source: Nielsen
 (http://www.bgr.com/2011/12/15/smartphone-penetration-skyrockets-in-2011-iphone-becomes-no-1-handset/ )
Android Versions - Reality




Source: developer.android.com
As of March 5, 2012
UI Design Pattern Goals




Image Source: http://www.flickr.com/photos/jdhancock/5138860024/
Tablet vs. Phone User Experience
 Users hold and interact with phones and tablets differently

    UI needs to be adaptive to support user interaction
UI Design Goals Related to Patterns


                  Stay Consistent

             Use Visual Hierarchy

                  Value Simplicity

         Pay Attention to Patterns




Image Source: http://www.flickr.com/photos/45574318@N00/5370376951/
Android 4.0 UI Features

                                                                     Simplified Look and Feel

                                                                         Unified Tablet/Phone
                                                                               Platform

                                                                   System Bar and Action Bar

                                                                    Virtual Navigation Buttons

                                                                        No Hardware Buttons



Image Source: http://www.flickr.com/photos/lwallenstein/3870027760/sizes/m/in/photostream/
Navigation in Android 4.0

 Software Navigation Buttons


  System Back

  System Home

  Recents


  No Search or Menu
Android UI Patterns

                Action Bar

             Multi-Pane Layout

                 Carousel

               Quick Actions

                Dashboard

               Workspaces
Action Bar

Multi-Pane Layout

    Carousel

  Quick Actions

   Dashboard

  Workspaces
Action Bar



    Dedicated Real Estate at the Top of Each Screen

   Make Frequent Actions Prominent

   Support Navigation

   Indicate Current Location in App

   Consistent Between Tablets and Phones

   Provide Branding
Action Bar - Sections



          Where am I?
      application icon or logo
can be used for "upward" navigation
Action Bar - Sections



                What can I see?
                    view details
        (can have a navigation component)
     can include tabs, dropdowns, breadcrumbs
Action Bar - Sections



                      What can I do?
             action buttons (icons, text, or both)
           most important or frequently used actions

              new place for Search and Menu
Action Bar - Examples
Action Bar
Consistency Between Phone and Tablet
Action Bar - Antipatterns
     Ignoring the "Where - See - Do" Best Practice

      Button controls at the bottom of the screen

       Inconsistent across different applications
ActionBar Code Demo

https://github.com/vpulec/ActionBar-Demo
Backward Compatibility

ActionBar native support in Honeycomb and up

Remedy
• Compatibility Pack can be used for earlier
  version
• ActionBarSherlock (actionbarsherlock.com)
  makes the implementation easier
Backwards Compatibility Library




http://developer.android.com/sdk/compatibility-library.html
Action Bar - Summary

               Replaces traditional title bar

               Makes frequently used actions
               prominent

               Convenient means of handling menu
               and search

               Dedicated, persistent real estate

               Displays application icon together
               with the activity title
Action Bar

Multi-Pane Layout

    Carousel

  Quick Actions

   Dashboard

  Workspaces
Multi-Pane Layout
Multi-Pane Layout
Multi-Pane Layout - Orientation Change



 Preserve
 Functional
 Parity
Implementing Multi-Pane Layout

  Fragments... The Building Blocks



  The Resource System... The Dynamic Assembler



  Backwards Compatibility Library... support 1.6+
Fragments
Fragments                  Reusable Section of an Activity




  Master          Detail Fragment
  List Fragment
Fragment Basics


 Behavior

             .java


 Layout



             .xml
             or programatic...
             or not at all...
Resource System Changes

Old Layout Categories - Since 1.6:

res/layout/my-layout.xml             <-- Typical

Or

res/layout-land/my-layout.xml
res/layout-port/my-layout.xml
Resource System Changes

Honeycomb Layout Categories - 3.0 - 3.1:

Size        small, normal, large, xlarge
Orientation port, land

Ex:
res/layout/my-layout.xml
res/layout-xlarge-land/my-layout.xml
res/layout-xlarge-port/my-layout.xml
Resource System Changes

Honeycomb Layout Categories - 3.0 - 3.1:

Size        small, normal, large, xlarge
Orientation port, land

Ex:
res/layout/my-layout.xml
         Deprecated
res/layout-xlarge-land/my-layout.xml
res/layout-xlarge-port/my-layout.xml
Resource System Changes

New Layout Categories - 3.2+:

Allows Specific Screen Size Designation - Not Just Categories

res/layout/main_activity.xml                                                       Phones
res/layout-sw600dp/main_activity.xml                                               7" Tablets
res/layout-sw720dp/main_activity.xml                                               10" Tablets

sw = Smallest Width
w = Available Min Width
h = Available Min Height
http://developer.android.com/guide/practices/screens_support.html
http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts
Multi-Pane Layout Code Demo


  https://github.com/peterpascale/FragmentExample
Action Bar

Multi-Pane Layout

    Carousel

  Quick Actions

   Dashboard

  Workspaces
Carousel - "Beyond the List"
               Break the Monotony of List Views
Carousel - "Beyond the List"
                   YouTube Video Wall
Carousel - Implementation


   CarouselView

     - Renderscript
     - Ready for Customization



   Gallery

     - Single Items, Single Images
     - Not Full Screen

             http://j.mp/io2011-carousel-sample
Action Bar

Multi-Pane Layout

    Carousel

  Quick Actions

   Dashboard

  Workspaces
Quick Actions

Easy access to contextual
actions

Practical even for limited real-
estate

User easily sees context even
when quick action is open
Action Bar

Multi-Pane Layout

    Carousel

  Quick Actions

   Dashboard

  Workspaces
Dashboard

 Good application entry point

  Takes a lot of real estate

 May appear that application
  has limited functionality

May be overwhelming to a new
            user
Action Bar

Multi-Pane Layout

    Carousel

  Quick Actions

   Dashboard

  Workspaces
Workspaces



 Useful when dealing with a lot of data

           Clear navigation
Thank You
Android UI Patterns
      New Patterns                Problem                       Solution                 Since         Phone     Tablet
Action Bar               Access to most common         Horizontal action bar on top        3.0          Yes       Yes
                         actions                       of the screen
Carousel                 Engaging way to select        scrolling 2D/3D carousel         3rd party       Yes       Yes
                         options                                                         (3.0+)
Multi-pane Layout View   Provide effective use of      Composite UI with reusable          3.0           No       Yes
                         large screens                 components                       (with 1.6
                                                                                      compatibility)




   Existing Patterns              Problem                       Solution                Since          Phone     Tablet
Dashboard                Application home screen       Main brander landing page          Any          In Some     No
                                                                                                        Cases

Quick Action Menu        Provide contextual actions    simple pop-up menu               3rd party       Yes      In Some
                         on a small screen                                               (2.0+)                   Cases


Workspaces               Displaying a lot of data on a horizontally scrollable tabs       Any           Yes        No
                         small screen
Resources

•   http://en.wikipedia.org/wiki/User_interface_design
•   http://www.androiduipatterns.com/
•   http://momentummobile.com/mobile-app-ui-ux-design.html
•   http://developer.android.com/guide/topics/ui/declaring-layout.html
•   http://developer.android.com/guide/practices/screens_support.html
•   http://developer.android.com/guide/practices/ui_guidelines/icon_design.html
•   http://www.google.com/events/io/2011/sessions/designing-and-implementing-android-uis-for-phones-
    and-tablets.html
•   http://www.donnfelker.com/downloads/AndroidTabletDevelopment.pdf
•   http://developer.android.com/guide/topics/fundamentals/fragments.html
•   http://j.mp/io2011-carousel-sample

More Related Content

Viewers also liked

Android ui patterns
Android ui patternsAndroid ui patterns
Android ui patternsMobile March
 
Whats New in Jelly Bean
Whats New in Jelly BeanWhats New in Jelly Bean
Whats New in Jelly Beanvpulec
 
Java 8
Java 8Java 8
Java 8vpulec
 
Java Web services
Java Web servicesJava Web services
Java Web servicesvpulec
 
Enterprise beans
Enterprise beansEnterprise beans
Enterprise beansvpulec
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Viewers also liked (6)

Android ui patterns
Android ui patternsAndroid ui patterns
Android ui patterns
 
Whats New in Jelly Bean
Whats New in Jelly BeanWhats New in Jelly Bean
Whats New in Jelly Bean
 
Java 8
Java 8Java 8
Java 8
 
Java Web services
Java Web servicesJava Web services
Java Web services
 
Enterprise beans
Enterprise beansEnterprise beans
Enterprise beans
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Android ui patterns

2012/02/15 Android 4.0 UI Design Tips@happy designer meetup
2012/02/15 Android 4.0 UI Design Tips@happy designer meetup2012/02/15 Android 4.0 UI Design Tips@happy designer meetup
2012/02/15 Android 4.0 UI Design Tips@happy designer meetupJustin Lee
 
Android 4.0 UI Design Tips
Android 4.0 UI Design TipsAndroid 4.0 UI Design Tips
Android 4.0 UI Design TipsJustin Lee
 
Drupalcamp LA Aug 2009
Drupalcamp LA Aug 2009Drupalcamp LA Aug 2009
Drupalcamp LA Aug 2009Tom Deryckere
 
Designing and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tabletsDesigning and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tabletsCường Doãn
 
An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)rudigrobler
 
Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Androiddonnfelker
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsPaul Withers
 
Communication Design for the Mobile Experience
Communication Design for the Mobile ExperienceCommunication Design for the Mobile Experience
Communication Design for the Mobile ExperienceDavid Drucker
 
Briding the Gap between Desktop and Mobile publishing
Briding the Gap between Desktop and Mobile publishingBriding the Gap between Desktop and Mobile publishing
Briding the Gap between Desktop and Mobile publishingTom Deryckere
 
Android ActionBar Navigation reloaded
Android ActionBar Navigation reloadedAndroid ActionBar Navigation reloaded
Android ActionBar Navigation reloadedDominik Helleberg
 
Introduction to Flex Hero for Mobile Devices
Introduction to Flex Hero for Mobile DevicesIntroduction to Flex Hero for Mobile Devices
Introduction to Flex Hero for Mobile DevicesRyan Stewart
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Patrick Lauke
 
QuickSoft Mobile Tips & Tricks 11-03-10
QuickSoft Mobile Tips & Tricks 11-03-10QuickSoft Mobile Tips & Tricks 11-03-10
QuickSoft Mobile Tips & Tricks 11-03-10Almog Koren
 
Dori waldman android _course_2
Dori waldman android _course_2Dori waldman android _course_2
Dori waldman android _course_2Dori Waldman
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentSimon Guest
 
Interactive cues in flat design
Interactive cues in flat designInteractive cues in flat design
Interactive cues in flat designMing-Liang Liu
 

Similar to Android ui patterns (20)

Android UI Patterns
Android UI PatternsAndroid UI Patterns
Android UI Patterns
 
2012/02/15 Android 4.0 UI Design Tips@happy designer meetup
2012/02/15 Android 4.0 UI Design Tips@happy designer meetup2012/02/15 Android 4.0 UI Design Tips@happy designer meetup
2012/02/15 Android 4.0 UI Design Tips@happy designer meetup
 
Android 4.0 UI Design Tips
Android 4.0 UI Design TipsAndroid 4.0 UI Design Tips
Android 4.0 UI Design Tips
 
Drupalcamp LA Aug 2009
Drupalcamp LA Aug 2009Drupalcamp LA Aug 2009
Drupalcamp LA Aug 2009
 
Designing and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tabletsDesigning and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tablets
 
An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)
 
Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Android
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile Controls
 
Communication Design for the Mobile Experience
Communication Design for the Mobile ExperienceCommunication Design for the Mobile Experience
Communication Design for the Mobile Experience
 
Briding the Gap between Desktop and Mobile publishing
Briding the Gap between Desktop and Mobile publishingBriding the Gap between Desktop and Mobile publishing
Briding the Gap between Desktop and Mobile publishing
 
Swift
SwiftSwift
Swift
 
Android ActionBar Navigation reloaded
Android ActionBar Navigation reloadedAndroid ActionBar Navigation reloaded
Android ActionBar Navigation reloaded
 
Introduction to Flex Hero for Mobile Devices
Introduction to Flex Hero for Mobile DevicesIntroduction to Flex Hero for Mobile Devices
Introduction to Flex Hero for Mobile Devices
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010
 
QuickSoft Mobile Tips & Tricks 11-03-10
QuickSoft Mobile Tips & Tricks 11-03-10QuickSoft Mobile Tips & Tricks 11-03-10
QuickSoft Mobile Tips & Tricks 11-03-10
 
Android UI Design Tips
Android UI Design TipsAndroid UI Design Tips
Android UI Design Tips
 
Mat Marquis - JQuery Mobile
Mat Marquis - JQuery MobileMat Marquis - JQuery Mobile
Mat Marquis - JQuery Mobile
 
Dori waldman android _course_2
Dori waldman android _course_2Dori waldman android _course_2
Dori waldman android _course_2
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web Development
 
Interactive cues in flat design
Interactive cues in flat designInteractive cues in flat design
Interactive cues in flat design
 

Recently uploaded

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Android ui patterns

  • 1. Android UI Patterns Presented by Vladan Pulec Created by Vladan Pulec and Peter Pascale
  • 2. Agenda Android UI History Android 4 UI Highlights Android UI Patterns
  • 3. Android Version History Look and Feel Formalized 2009
  • 4. Android Version History 2010 Google IO Dashboard UI Pattern
  • 5. Android Version History 2011 Google IO Tablet Patterns No More Dashboard
  • 6. Android Version History Ice Cream Sandwich October 19 2010 Honeycomb UI - Unification No More Hardware Buttons
  • 8. Android Market Share Source: Nielsen (http://www.bgr.com/2011/12/15/smartphone-penetration-skyrockets-in-2011-iphone-becomes-no-1-handset/ )
  • 9. Android Versions - Reality Source: developer.android.com As of March 5, 2012
  • 10. UI Design Pattern Goals Image Source: http://www.flickr.com/photos/jdhancock/5138860024/
  • 11. Tablet vs. Phone User Experience Users hold and interact with phones and tablets differently UI needs to be adaptive to support user interaction
  • 12. UI Design Goals Related to Patterns Stay Consistent Use Visual Hierarchy Value Simplicity Pay Attention to Patterns Image Source: http://www.flickr.com/photos/45574318@N00/5370376951/
  • 13. Android 4.0 UI Features Simplified Look and Feel Unified Tablet/Phone Platform System Bar and Action Bar Virtual Navigation Buttons No Hardware Buttons Image Source: http://www.flickr.com/photos/lwallenstein/3870027760/sizes/m/in/photostream/
  • 14. Navigation in Android 4.0 Software Navigation Buttons System Back System Home Recents No Search or Menu
  • 15. Android UI Patterns Action Bar Multi-Pane Layout Carousel Quick Actions Dashboard Workspaces
  • 16. Action Bar Multi-Pane Layout Carousel Quick Actions Dashboard Workspaces
  • 17. Action Bar Dedicated Real Estate at the Top of Each Screen Make Frequent Actions Prominent Support Navigation Indicate Current Location in App Consistent Between Tablets and Phones Provide Branding
  • 18. Action Bar - Sections Where am I? application icon or logo can be used for "upward" navigation
  • 19. Action Bar - Sections What can I see? view details (can have a navigation component) can include tabs, dropdowns, breadcrumbs
  • 20. Action Bar - Sections What can I do? action buttons (icons, text, or both) most important or frequently used actions new place for Search and Menu
  • 21. Action Bar - Examples
  • 22. Action Bar Consistency Between Phone and Tablet
  • 23. Action Bar - Antipatterns Ignoring the "Where - See - Do" Best Practice Button controls at the bottom of the screen Inconsistent across different applications
  • 25. Backward Compatibility ActionBar native support in Honeycomb and up Remedy • Compatibility Pack can be used for earlier version • ActionBarSherlock (actionbarsherlock.com) makes the implementation easier
  • 27. Action Bar - Summary Replaces traditional title bar Makes frequently used actions prominent Convenient means of handling menu and search Dedicated, persistent real estate Displays application icon together with the activity title
  • 28. Action Bar Multi-Pane Layout Carousel Quick Actions Dashboard Workspaces
  • 31. Multi-Pane Layout - Orientation Change Preserve Functional Parity
  • 32. Implementing Multi-Pane Layout Fragments... The Building Blocks The Resource System... The Dynamic Assembler Backwards Compatibility Library... support 1.6+
  • 34. Fragments Reusable Section of an Activity Master Detail Fragment List Fragment
  • 35. Fragment Basics Behavior .java Layout .xml or programatic... or not at all...
  • 36. Resource System Changes Old Layout Categories - Since 1.6: res/layout/my-layout.xml <-- Typical Or res/layout-land/my-layout.xml res/layout-port/my-layout.xml
  • 37. Resource System Changes Honeycomb Layout Categories - 3.0 - 3.1: Size small, normal, large, xlarge Orientation port, land Ex: res/layout/my-layout.xml res/layout-xlarge-land/my-layout.xml res/layout-xlarge-port/my-layout.xml
  • 38. Resource System Changes Honeycomb Layout Categories - 3.0 - 3.1: Size small, normal, large, xlarge Orientation port, land Ex: res/layout/my-layout.xml Deprecated res/layout-xlarge-land/my-layout.xml res/layout-xlarge-port/my-layout.xml
  • 39. Resource System Changes New Layout Categories - 3.2+: Allows Specific Screen Size Designation - Not Just Categories res/layout/main_activity.xml Phones res/layout-sw600dp/main_activity.xml 7" Tablets res/layout-sw720dp/main_activity.xml 10" Tablets sw = Smallest Width w = Available Min Width h = Available Min Height http://developer.android.com/guide/practices/screens_support.html http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts
  • 40. Multi-Pane Layout Code Demo https://github.com/peterpascale/FragmentExample
  • 41. Action Bar Multi-Pane Layout Carousel Quick Actions Dashboard Workspaces
  • 42. Carousel - "Beyond the List" Break the Monotony of List Views
  • 43. Carousel - "Beyond the List" YouTube Video Wall
  • 44. Carousel - Implementation CarouselView - Renderscript - Ready for Customization Gallery - Single Items, Single Images - Not Full Screen http://j.mp/io2011-carousel-sample
  • 45. Action Bar Multi-Pane Layout Carousel Quick Actions Dashboard Workspaces
  • 46. Quick Actions Easy access to contextual actions Practical even for limited real- estate User easily sees context even when quick action is open
  • 47. Action Bar Multi-Pane Layout Carousel Quick Actions Dashboard Workspaces
  • 48. Dashboard Good application entry point Takes a lot of real estate May appear that application has limited functionality May be overwhelming to a new user
  • 49. Action Bar Multi-Pane Layout Carousel Quick Actions Dashboard Workspaces
  • 50. Workspaces Useful when dealing with a lot of data Clear navigation
  • 52. Android UI Patterns New Patterns Problem Solution Since Phone Tablet Action Bar Access to most common Horizontal action bar on top 3.0 Yes Yes actions of the screen Carousel Engaging way to select scrolling 2D/3D carousel 3rd party Yes Yes options (3.0+) Multi-pane Layout View Provide effective use of Composite UI with reusable 3.0 No Yes large screens components (with 1.6 compatibility) Existing Patterns Problem Solution Since Phone Tablet Dashboard Application home screen Main brander landing page Any In Some No Cases Quick Action Menu Provide contextual actions simple pop-up menu 3rd party Yes In Some on a small screen (2.0+) Cases Workspaces Displaying a lot of data on a horizontally scrollable tabs Any Yes No small screen
  • 53. Resources • http://en.wikipedia.org/wiki/User_interface_design • http://www.androiduipatterns.com/ • http://momentummobile.com/mobile-app-ui-ux-design.html • http://developer.android.com/guide/topics/ui/declaring-layout.html • http://developer.android.com/guide/practices/screens_support.html • http://developer.android.com/guide/practices/ui_guidelines/icon_design.html • http://www.google.com/events/io/2011/sessions/designing-and-implementing-android-uis-for-phones- and-tablets.html • http://www.donnfelker.com/downloads/AndroidTabletDevelopment.pdf • http://developer.android.com/guide/topics/fundamentals/fragments.html • http://j.mp/io2011-carousel-sample

Editor's Notes

  1. Peter
  2. Peter Android UI as a bit of a moving target. Android 4 - the focus Android UI patterns in the context of Android 4
  3. Peter UI layout established default color schemes boxy immature UI patterns
  4. Peter Dashboard pattern introduced Action bars implemented inconsistently
  5. Peter Dashboard is being replaced with action bar
  6. Peter UI unification lesson learned - UI keeps constantly evolving and applications need to adjust hardware navigation going away
  7. Peter
  8. Peter/Vladan diversified support for multiple versions
  9. Vladan
  10. Vladan phones - one hand holds the device, the other interacts tablets - Because of the size and the weight of tablets, you might design your screens differently to accept interactions on the left and on the right portions of the screen. Ideally, some users would just use their left and right thumbs to interact with your app. Google SDK supports reuse between devices of different screen sizes
  11. Vladan Google Emphasizes Platform Consistency user should feel in control http://momentummobile.com/mobile-app-ui-ux-design.html
  12. Vladan Support in Action Bar or other mechanism Don&apos;t Assume Search Hard Key Unified UI toolkit: A single set of UI components, styles, and capabilities for phones, tablets, and other devices. Rich communication and sharing: New social and calendar APIs, Android Beam for NFC-based instant sharing, Wi-Fi Direct support, Bluetooth Health Device Profile support. Deep interactivity and customization: Improved notifications, lockscreen with camera and music controls, and improved app management in the launcher. New graphics, camera, and media capabilities: Image and video effects, precise camera metering and face detection, new media codecs and containers. Interface and input: Hardware-accelerated 2D drawing, new grid-based layout, improved soft keyboard, spell-checker API, stylus input support, and better mouse support.
  13. Vladan Navigation to Search and Menu items must be supported in the application UI - These functions have to find a place in the UI.
  14. Vladan actions - context sensitive actions, most used actions for each screen  navigation tabs incorporated directly into the bar search button throughout an application Honeycomb tables (and future Ice Cream Sandwich phones) lack physical navigation buttons Contextual actions can be used based on user&apos;s action on the screen (ie. selecting text or an email message) overflow - less commonly used actions, tablets do not have &amp;quot;Menu&amp;quot; button, Overflow menu replaces it Branding and Home Access - excellent spot for application logo, selecting the logo should either send users to the home screen, go back within the application
  15. close to hardware controls
  16. Peter
  17. Peter Take Advantage of Tablet Real Estate Consolidate Multiple Phone Screens into One Layout Master - Detail
  18. Peter Android goal: Create a single APK (android exe) for both tablet and phone app. Ambitious, but Android provides a number of facilities  to support this. First - Fragments You can think of a fragment as a modular section of an activity, which has its own lifecycle, receives its own input events, and which you can add or remove while the activity is running. You can combine multiple fragments in a single activity to build a multi-pane UI and reuse a fragment in multiple activities. 
  19. Peter Android goal: Create a single APK (android exe) for both tablet and phone app. Ambitious, but Android provides a number of facilities  to support this. First - Fragments You can think of a fragment as a modular section of an activity, which has its own lifecycle, receives its own input events, and which you can add or remove while the activity is running. You can combine multiple fragments in a single activity to build a multi-pane UI and reuse a fragment in multiple activities. 
  20. Fragment - represents a behavior or a portion of user interface in an Activity  Can combine multiple fragments in a single activity to build a multi-pane UI and reuse a fragment in multiple activities.  modular section of an activity,  which has its own lifecycle,  receives its own input events,  you can add or remove while the activity is running 
  21. Peter Honeycomb added new layout categories which you could combine with sizes.
  22. Peter
  23. Peter
  24. Vladan
  25. Vladan
  26. Vladan
  27. Vladan/Peter categorize the patterns into categories-new, relevant, dated new patterns - action bar - multipane - carousel Still good - dashboard - busy indicator - quick action menu - workspaces Not so good - action drawer - dynamic list - look what this is -