SlideShare a Scribd company logo
1 of 59
Download to read offline
Q3 2011
Q3 2011




Designing UIs for
Phones and Tablets
Q3 2011
Q3 2011


Agenda

1.  Honeycomb visual design
2.  Tablet UI patterns + Honeycomb
    framework features
   –  Interaction design
   –  Implementation

3.  Do’s and don’ts
4.  Example — Google I/O 2011 App

                                          3
Q3 2011




Honeycomb visual design
Q3 2011


Introducing the Holographic UI




                                      5
Q3 2011


Early style explorations




                                6
Q3 2011


Widget styling – Theme.Holo.Light




                                         7
Q3 2011


Simplify UI – Removing boxes




                                    8
Q3 2011




Honeycomb UI patterns and
framework features
Q3 2011


UI patterns

§  General solutions to recurring problems
§  Framework-supported
§  Guidelines, not restrictions
§  Topics we’ll discuss today:
  1.  Action Bar
  2.  Multi-pane Layouts
  3.  App Navigation
  4.  Beyond the List
                                              10
Q3 2011


Action Bar




                  11
Q3 2011


Action Bar – Introduction

§  Not a new pattern
  –  Presented as phone UI pattern at Google I/O 2010
  –  Used in many apps through Android Market
  –  Honeycomb has greatly extended its usefulness

§  Dedicated real estate at the
    top of each screen
  –  Generally persistent throughout application



                                                       12
Q3 2011


Action Bar – Introduction

§  Used to make frequently used
    actions prominent
§  Supports navigation, give users
    a sense of place
§  Convenient means of handling
    Menu and Search


                                          13
Q3 2011


Action Bar – General organization



§  App icon — where am I?
§  View details — what can I see?
§  Action buttons — what can I do here?




                                               14
Q3 2011


Action Bar – General organization




§  App icon
  –  Can be replaced with logo or other branding
  –  Give the user a sense of place
  –  Used to support upward navigation within the
     app
                                                    15
Q3 2011


Action Bar – General organization




§  View details
  –  Simple: non-interactive title bar replacement
  –  Richer: Tabs, drop-down menus, breadcrumbs



                                                         16
Q3 2011


     Action Bar – General organization

17




     §  Action buttons
       –  More important / frequently-accessed action at left
       –  Buttons can be icon-only, text-only, or icon-and-text
       –  Overflow menu


                                                              17
Q3 2011


Action Bar – Contextual actions


§  Action bar can transform its appearance
    when items are selected
  –  Useful for single or multiple selection
  –  Typically invoking via touch and hold

§  Like normal action bar, three sections:
  –  Done button (for releasing selection)
  –  Selection details
  –  Contextual action buttons

§  Implemented using ActionMode!                  18
Q3 2011


Action Bar – Implementation

§  Basic action bar
  –  Theme.Holo (default if targetSdkVersion ≥ 11)
  –  Action items from res/menu/ with showAsAction!


§  Customizing the action bar
  –  ActionBar class

       j.mp/customizing-action-bar



                                                 19
Q3 2011


Action Bar – Compatibility

1.  Write a custom action bar
    implementation pre-Honeycomb
   –  iosched
   –  GreenDroid
   –  ActionBarSherlock



2.  Alternatively, defer to the standard
    Options menu
                                               20
Q3 2011


Action Bar – Phones and tablets




                                      21
Q3 2011


Multi-pane Layouts – Introduction

§  Take advantage of vastly increased real
    estate
  –  Avoids excessively long line lengths

§  Consolidate multiple related phone
    screens into a single compound view
§  Provide more context (e.g. Settings)



                                                22
Q3 2011


Multi-pane Layouts – Tips

§  Panes to the right should generally
    present more content or details for items
    selected in the panes on the left.




                                                23
Q3 2011


Multi-pane Layouts – Implementation

§  Fragment class
§  Optionally use the <fragment> tag in
    layout XML
§  But fragments are a lifecycle construct,
    not necessarily a visual construct




                                               24
Q3 2011


Multi-pane Layouts – Orientation change




           Stretch             Stack
        (e.g. Settings)     (e.g. Calendar)




      Expand/collapse       Show/hide
       (e.g. Google Talk)    (e.g. Gmail)

                                                  25
Q3 2011


Multi-pane Layouts – Orientation change

§  Orientation changes should preserve
    functional parity
  –  User shouldn’t have to rotate device to achieve a
     task

§  Strategies apply per-screen, not per app
§  For the show/hide orientation strategy,
    use UP navigation to show the master
    pane
  –  e.g. Gmail conversation view
                                                         26
Q3 2011


Multi-pane Layouts – Intents




                                   27
Q3 2011


Multi-pane Layouts – Intents




                                   28
Q3 2011


Multi-pane Layouts – Intents

§  If implementing A à B with multiple
    activities, need a strategy to “connect”
    fragments

  –  Activity 1 (Phone, A)
  –  Activity 2 (Phone, B)
  –  Activity 3 (Tablet, A & B)



                                                   29
Q3 2011


Strategies for “connecting” fragments

1.  Phone + tablet activities implement a
    common interface
2.  Fragments hold references to each
    other, or use setTargetFragment!
   –  Defer to startActivity if no target fragment!

   …!



                                                          30
Q3 2011


Strategies for “connecting” fragments

   …
3.  Fragments call startActivity,
    tablet activity intercepts/overrides it!
4.  Fragments call startActivity,
    tablet activity is singleTask (or
    singleTop) + routes intent to correct
    fragment in onNewIntent.!

                                                   31
Q3 2011


App Navigation – Introduction

§  One of the more dramatic changes
    in Honeycomb
§  Increased variety of mechanisms for
    direct, deep navigation into an app




                                              32
Q3 2011


App Navigation – Highlights



Richer notifications




Richer home screen widgets
                             ‘Recents’       33
Q3 2011


Navigation and user memory

§  Android has traditionally relied on
    temporal memory:
  –  We’re good at remembering what just happened
  –  Not so good with order of events from a while ago
  –  Potential for error, surprise

§  Users have strong structural memory
  –  Good at relationships between screens in an app
  –  Used to going “Home” in web apps
  –  Clearer expectations for behavior

                                                         34
Q3 2011


Back versus Up

§  APPLICATION UP
    navigates hierarchy within a single app



§  SYSTEM BACK
    navigates history between related screens


                                              35
Q3 2011


Example Flows




Contacts Task
                Contacts




                               36
Q3 2011


Example Flows




Contacts Task
                Contacts   Contact
                           details




                                         37
Q3 2011


Example Flows




                    38
Q3 2011


Example Flows




                    39
Q3 2011


Example Flows




Contacts Task
                Contacts




                               40
Q3 2011


Example Flows




Contacts Task
                Contacts   Contact
                           details




                                         41
Q3 2011


Example Flows




Contacts Task
                Contacts   Contact   Compose
                           details    email




                                               42
Q3 2011


Example Flows




                    43
Q3 2011


Example Flows




                    44
Q3 2011


Beyond the List – Introduction

§  Views for media-rich applications
§  “Hero moments” to break the monotony
    of list views
§  Encourage more engaged exploration,
    akin to flipping through a magazine




                                              45
Q3 2011


Beyond the List – Examples




                                 46
Q3 2011


Beyond the List – Implementation

§  CarouselView (3D)
  –  Renderscript
  –  Intended for customization

      j.mp/io2011-carousel-sample




§  ViewPager (2D) for showing
    one item or page at a time

                                        47
Q3 2011




Do’s and don’ts
Q3 2011



§  DO aim for a single     §  DO extract
    APK                         dimensions for
                                phones and tablets
§  DO use the                –  values/

    compatibility library          dimens.xml!
                              –  values-large/

§  DO customize visual            dimens.xml!
    design completely, if
    straying from Holo      §  DO use theme/style/
    theme                       etc. to reduce
                                redundancy
§  DO support both
    landscape and
    portrait
                                                      49
Q3 2011




DO marry OS visual style
with your brand/identity

§  drawable-hdpi!



§  drawable-large-mdpi-v11!

                                   50
Q3 2011




§  DON’T assume API level ≥11 == tablet
§  DON’T assume xlarge == tablet
  –  7" tablet is large

§  DON’T use small font sizes
§  DON’T overuse fill_parent; avoid
    excessively long lines of text


                                           51
Q3 2011




DON’T think that tablets
are just big phones


Tablets fulfill a very
different need.

                               52
Q3 2011




Example:
Google I/O 2011 App
Q3 2011
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.




                                                                                                                                                                                                                                                                                  54
Q3 2011




    55
Q3 2011




    56
Q3 2011




    Get the code at
code.google.com/p/iosched




                                57
Q3 2011




    For more, visit
developer.android.com
Q3 2011


Copyrights and trademarks

§  Android, Google are registered
    trademarks of Google Inc.
§  All other trademarks and copyrights are
    the property of their respective owners.




                                               59

More Related Content

What's hot

iOS 7 UI Transition Guide
iOS 7 UI Transition GuideiOS 7 UI Transition Guide
iOS 7 UI Transition Guide
Evgeny Belyaev
 
Christopher Allen's Presentation at eComm 2009
Christopher Allen's Presentation at eComm 2009Christopher Allen's Presentation at eComm 2009
Christopher Allen's Presentation at eComm 2009
eCommConf
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBook
Mihai Corlan
 
iOS 7 Human Interface Guidelines
iOS 7 Human Interface GuidelinesiOS 7 Human Interface Guidelines
iOS 7 Human Interface Guidelines
Evgeny Belyaev
 
Jean henri cote portfolio
Jean henri cote portfolioJean henri cote portfolio
Jean henri cote portfolio
Jean Cote
 

What's hot (20)

iOS 7 UI Transition Guide
iOS 7 UI Transition GuideiOS 7 UI Transition Guide
iOS 7 UI Transition Guide
 
I phone human interface guidlines
I phone human interface guidlinesI phone human interface guidlines
I phone human interface guidlines
 
Designing the New Android Experience - The Golden Age of Android
Designing the New Android Experience - The Golden Age of AndroidDesigning the New Android Experience - The Golden Age of Android
Designing the New Android Experience - The Golden Age of Android
 
Christopher Allen's Presentation at eComm 2009
Christopher Allen's Presentation at eComm 2009Christopher Allen's Presentation at eComm 2009
Christopher Allen's Presentation at eComm 2009
 
Intel AppUp Webinar Italiano General Information
Intel AppUp Webinar Italiano General InformationIntel AppUp Webinar Italiano General Information
Intel AppUp Webinar Italiano General Information
 
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
 
The Blackberry Opportunity (RIM) 160612
The Blackberry Opportunity (RIM) 160612The Blackberry Opportunity (RIM) 160612
The Blackberry Opportunity (RIM) 160612
 
Creating Mobile Content Using Flash
Creating Mobile Content Using FlashCreating Mobile Content Using Flash
Creating Mobile Content Using Flash
 
Android Development with Flash Platform
Android Development with Flash PlatformAndroid Development with Flash Platform
Android Development with Flash Platform
 
R&a round table 2014
R&a round table 2014R&a round table 2014
R&a round table 2014
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
 
Layar code examples for developers
Layar code examples for developersLayar code examples for developers
Layar code examples for developers
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBook
 
iOS 7 Human Interface Guidelines
iOS 7 Human Interface GuidelinesiOS 7 Human Interface Guidelines
iOS 7 Human Interface Guidelines
 
Second-Screen Support in Android 4.2
Second-Screen Support in Android 4.2Second-Screen Support in Android 4.2
Second-Screen Support in Android 4.2
 
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
 
Jean henri cote portfolio
Jean henri cote portfolioJean henri cote portfolio
Jean henri cote portfolio
 
Android part1
Android part1Android part1
Android part1
 
Layar introduction for developers
Layar introduction for developersLayar introduction for developers
Layar introduction for developers
 
Android
AndroidAndroid
Android
 

Viewers also liked

Mechanical properties of matter Q1
Mechanical properties of matter Q1Mechanical properties of matter Q1
Mechanical properties of matter Q1
physics101
 
Times Ascent Engineering Mastermind Quiz 2015
Times Ascent Engineering Mastermind Quiz 2015Times Ascent Engineering Mastermind Quiz 2015
Times Ascent Engineering Mastermind Quiz 2015
Alan Pinto
 
Mechanical ventilation-quiz
Mechanical ventilation-quizMechanical ventilation-quiz
Mechanical ventilation-quiz
lundyco
 

Viewers also liked (20)

Capitulo1
Capitulo1Capitulo1
Capitulo1
 
The Torque Quiz
The Torque QuizThe Torque Quiz
The Torque Quiz
 
Mechanical properties of matter Q1
Mechanical properties of matter Q1Mechanical properties of matter Q1
Mechanical properties of matter Q1
 
VVCE Mysore Alumni Meet General Quiz
VVCE Mysore Alumni Meet General QuizVVCE Mysore Alumni Meet General Quiz
VVCE Mysore Alumni Meet General Quiz
 
Machines
MachinesMachines
Machines
 
Times Ascent Engineering Mastermind Quiz 2015
Times Ascent Engineering Mastermind Quiz 2015Times Ascent Engineering Mastermind Quiz 2015
Times Ascent Engineering Mastermind Quiz 2015
 
Sack race quiz bee mechanics
Sack race quiz bee mechanicsSack race quiz bee mechanics
Sack race quiz bee mechanics
 
Physics numericals
Physics numericalsPhysics numericals
Physics numericals
 
QUIZ BEE GENERAL RULES
QUIZ BEE GENERAL RULESQUIZ BEE GENERAL RULES
QUIZ BEE GENERAL RULES
 
General quiz
General quizGeneral quiz
General quiz
 
Mechanical ventilation-quiz
Mechanical ventilation-quizMechanical ventilation-quiz
Mechanical ventilation-quiz
 
ExQuiz Me - 2016 Grand Finale
ExQuiz Me - 2016 Grand FinaleExQuiz Me - 2016 Grand Finale
ExQuiz Me - 2016 Grand Finale
 
Mechanical drafting materials with assessment (e-quiz) for Grade 7 students
Mechanical drafting materials with assessment  (e-quiz) for Grade 7 studentsMechanical drafting materials with assessment  (e-quiz) for Grade 7 students
Mechanical drafting materials with assessment (e-quiz) for Grade 7 students
 
Tech quiz 1
Tech quiz 1Tech quiz 1
Tech quiz 1
 
Engineer Golden Jubilee Edition - Science and Technology Quiz
Engineer Golden Jubilee Edition - Science and Technology QuizEngineer Golden Jubilee Edition - Science and Technology Quiz
Engineer Golden Jubilee Edition - Science and Technology Quiz
 
Till the day we meet again quiz
Till the day we meet again quizTill the day we meet again quiz
Till the day we meet again quiz
 
Definitions and mcqs of matric (10th class) physics
Definitions and mcqs of matric (10th class) physicsDefinitions and mcqs of matric (10th class) physics
Definitions and mcqs of matric (10th class) physics
 
Materials & Energy Quiz Prelims at The Quiz Fest 17
Materials & Energy Quiz Prelims at The Quiz Fest 17Materials & Energy Quiz Prelims at The Quiz Fest 17
Materials & Energy Quiz Prelims at The Quiz Fest 17
 
Materials & Energy Online Quiz at The Quiz Fest 17
Materials & Energy Online Quiz at The Quiz Fest 17Materials & Energy Online Quiz at The Quiz Fest 17
Materials & Energy Online Quiz at The Quiz Fest 17
 
Science and Technology Quiz
Science and Technology QuizScience and Technology Quiz
Science and Technology Quiz
 

Similar to Designing UIs for phones and tablets - Android Developr Lab Q3 2011

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
Cường Doãn
 
From Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small ScreensFrom Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small Screens
Joseph Labrecque
 

Similar to Designing UIs for phones and tablets - Android Developr Lab Q3 2011 (20)

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
 
Android UI Design Tips
Android UI Design TipsAndroid UI Design Tips
Android UI Design Tips
 
Android ui patterns
Android ui patternsAndroid ui patterns
Android ui patterns
 
Android ui patterns
Android ui patternsAndroid ui patterns
Android ui patterns
 
User Experience Design for Tablets
User Experience Design for TabletsUser Experience Design for Tablets
User Experience Design for Tablets
 
Communication Design for the Mobile Experience
Communication Design for the Mobile ExperienceCommunication Design for the Mobile Experience
Communication Design for the Mobile Experience
 
Introducing Honeycomb
Introducing HoneycombIntroducing Honeycomb
Introducing Honeycomb
 
Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1
 
Training Session iOS UI Guidelines
Training Session iOS UI GuidelinesTraining Session iOS UI Guidelines
Training Session iOS UI Guidelines
 
From Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small ScreensFrom Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small Screens
 
Mobiles & usbaility
Mobiles & usbailityMobiles & usbaility
Mobiles & usbaility
 
Android UI Patterns
Android UI PatternsAndroid UI Patterns
Android UI Patterns
 
IAT334-Lec02-TaskAnalysis.pptx
IAT334-Lec02-TaskAnalysis.pptxIAT334-Lec02-TaskAnalysis.pptx
IAT334-Lec02-TaskAnalysis.pptx
 
Application Design - Part 3
Application Design - Part 3Application Design - Part 3
Application Design - Part 3
 
Interactive cues in flat design
Interactive cues in flat designInteractive cues in flat design
Interactive cues in flat design
 
usability review
usability reviewusability review
usability review
 
Design rule 3
Design rule 3Design rule 3
Design rule 3
 
Design rule 3
Design rule 3Design rule 3
Design rule 3
 
Insight into Application Design & Oracle Fusion
Insight into Application Design & Oracle Fusion Insight into Application Design & Oracle Fusion
Insight into Application Design & Oracle Fusion
 
iOS Human Interface Guideline
iOS Human Interface GuidelineiOS Human Interface Guideline
iOS Human Interface Guideline
 

More from Paris Android User Group

Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014
Paris Android User Group
 
Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014
Paris Android User Group
 
Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014
Paris Android User Group
 
Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014
Paris Android User Group
 
Efficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardEfficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas Roard
Paris Android User Group
 

More from Paris Android User Group (20)

Workshop: building your mobile backend with Parse - Droidcon Paris2014
Workshop: building your mobile backend with Parse - Droidcon Paris2014Workshop: building your mobile backend with Parse - Droidcon Paris2014
Workshop: building your mobile backend with Parse - Droidcon Paris2014
 
Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014
 
Extending your apps to wearables - DroidCon Paris 2014
Extending your apps to wearables -  DroidCon Paris 2014Extending your apps to wearables -  DroidCon Paris 2014
Extending your apps to wearables - DroidCon Paris 2014
 
Scaling android development - DroidCon Paris 2014
Scaling android development - DroidCon Paris 2014Scaling android development - DroidCon Paris 2014
Scaling android development - DroidCon Paris 2014
 
Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014
 
Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014
 
Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014
 
Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014
 
Porting VLC on Android - DroidCon Paris 2014
Porting VLC on Android - DroidCon Paris 2014Porting VLC on Android - DroidCon Paris 2014
Porting VLC on Android - DroidCon Paris 2014
 
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
 
Buildsystem.mk - DroidCon Paris 2014
Buildsystem.mk - DroidCon Paris 2014Buildsystem.mk - DroidCon Paris 2014
Buildsystem.mk - DroidCon Paris 2014
 
maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014
 
Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014
 
Holo material design transition - DroidCon Paris 2014
Holo material design transition - DroidCon Paris 2014Holo material design transition - DroidCon Paris 2014
Holo material design transition - DroidCon Paris 2014
 
Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014
 
Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014
 
Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014
 
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
 
Efficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardEfficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas Roard
 
Build a user experience by Eyal Lezmy
Build a user experience by Eyal LezmyBuild a user experience by Eyal Lezmy
Build a user experience by Eyal Lezmy
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Designing UIs for phones and tablets - Android Developr Lab Q3 2011

  • 2. Q3 2011 Designing UIs for Phones and Tablets Q3 2011
  • 3. Q3 2011 Agenda 1.  Honeycomb visual design 2.  Tablet UI patterns + Honeycomb framework features –  Interaction design –  Implementation 3.  Do’s and don’ts 4.  Example — Google I/O 2011 App 3
  • 5. Q3 2011 Introducing the Holographic UI 5
  • 6. Q3 2011 Early style explorations 6
  • 7. Q3 2011 Widget styling – Theme.Holo.Light 7
  • 8. Q3 2011 Simplify UI – Removing boxes 8
  • 9. Q3 2011 Honeycomb UI patterns and framework features
  • 10. Q3 2011 UI patterns §  General solutions to recurring problems §  Framework-supported §  Guidelines, not restrictions §  Topics we’ll discuss today: 1.  Action Bar 2.  Multi-pane Layouts 3.  App Navigation 4.  Beyond the List 10
  • 12. Q3 2011 Action Bar – Introduction §  Not a new pattern –  Presented as phone UI pattern at Google I/O 2010 –  Used in many apps through Android Market –  Honeycomb has greatly extended its usefulness §  Dedicated real estate at the top of each screen –  Generally persistent throughout application 12
  • 13. Q3 2011 Action Bar – Introduction §  Used to make frequently used actions prominent §  Supports navigation, give users a sense of place §  Convenient means of handling Menu and Search 13
  • 14. Q3 2011 Action Bar – General organization §  App icon — where am I? §  View details — what can I see? §  Action buttons — what can I do here? 14
  • 15. Q3 2011 Action Bar – General organization §  App icon –  Can be replaced with logo or other branding –  Give the user a sense of place –  Used to support upward navigation within the app 15
  • 16. Q3 2011 Action Bar – General organization §  View details –  Simple: non-interactive title bar replacement –  Richer: Tabs, drop-down menus, breadcrumbs 16
  • 17. Q3 2011 Action Bar – General organization 17 §  Action buttons –  More important / frequently-accessed action at left –  Buttons can be icon-only, text-only, or icon-and-text –  Overflow menu 17
  • 18. Q3 2011 Action Bar – Contextual actions §  Action bar can transform its appearance when items are selected –  Useful for single or multiple selection –  Typically invoking via touch and hold §  Like normal action bar, three sections: –  Done button (for releasing selection) –  Selection details –  Contextual action buttons §  Implemented using ActionMode! 18
  • 19. Q3 2011 Action Bar – Implementation §  Basic action bar –  Theme.Holo (default if targetSdkVersion ≥ 11) –  Action items from res/menu/ with showAsAction! §  Customizing the action bar –  ActionBar class j.mp/customizing-action-bar 19
  • 20. Q3 2011 Action Bar – Compatibility 1.  Write a custom action bar implementation pre-Honeycomb –  iosched –  GreenDroid –  ActionBarSherlock 2.  Alternatively, defer to the standard Options menu 20
  • 21. Q3 2011 Action Bar – Phones and tablets 21
  • 22. Q3 2011 Multi-pane Layouts – Introduction §  Take advantage of vastly increased real estate –  Avoids excessively long line lengths §  Consolidate multiple related phone screens into a single compound view §  Provide more context (e.g. Settings) 22
  • 23. Q3 2011 Multi-pane Layouts – Tips §  Panes to the right should generally present more content or details for items selected in the panes on the left. 23
  • 24. Q3 2011 Multi-pane Layouts – Implementation §  Fragment class §  Optionally use the <fragment> tag in layout XML §  But fragments are a lifecycle construct, not necessarily a visual construct 24
  • 25. Q3 2011 Multi-pane Layouts – Orientation change Stretch Stack (e.g. Settings) (e.g. Calendar) Expand/collapse Show/hide (e.g. Google Talk) (e.g. Gmail) 25
  • 26. Q3 2011 Multi-pane Layouts – Orientation change §  Orientation changes should preserve functional parity –  User shouldn’t have to rotate device to achieve a task §  Strategies apply per-screen, not per app §  For the show/hide orientation strategy, use UP navigation to show the master pane –  e.g. Gmail conversation view 26
  • 27. Q3 2011 Multi-pane Layouts – Intents 27
  • 28. Q3 2011 Multi-pane Layouts – Intents 28
  • 29. Q3 2011 Multi-pane Layouts – Intents §  If implementing A à B with multiple activities, need a strategy to “connect” fragments –  Activity 1 (Phone, A) –  Activity 2 (Phone, B) –  Activity 3 (Tablet, A & B) 29
  • 30. Q3 2011 Strategies for “connecting” fragments 1.  Phone + tablet activities implement a common interface 2.  Fragments hold references to each other, or use setTargetFragment! –  Defer to startActivity if no target fragment! …! 30
  • 31. Q3 2011 Strategies for “connecting” fragments … 3.  Fragments call startActivity, tablet activity intercepts/overrides it! 4.  Fragments call startActivity, tablet activity is singleTask (or singleTop) + routes intent to correct fragment in onNewIntent.! 31
  • 32. Q3 2011 App Navigation – Introduction §  One of the more dramatic changes in Honeycomb §  Increased variety of mechanisms for direct, deep navigation into an app 32
  • 33. Q3 2011 App Navigation – Highlights Richer notifications Richer home screen widgets ‘Recents’ 33
  • 34. Q3 2011 Navigation and user memory §  Android has traditionally relied on temporal memory: –  We’re good at remembering what just happened –  Not so good with order of events from a while ago –  Potential for error, surprise §  Users have strong structural memory –  Good at relationships between screens in an app –  Used to going “Home” in web apps –  Clearer expectations for behavior 34
  • 35. Q3 2011 Back versus Up §  APPLICATION UP navigates hierarchy within a single app §  SYSTEM BACK navigates history between related screens 35
  • 36. Q3 2011 Example Flows Contacts Task Contacts 36
  • 37. Q3 2011 Example Flows Contacts Task Contacts Contact details 37
  • 40. Q3 2011 Example Flows Contacts Task Contacts 40
  • 41. Q3 2011 Example Flows Contacts Task Contacts Contact details 41
  • 42. Q3 2011 Example Flows Contacts Task Contacts Contact Compose details email 42
  • 45. Q3 2011 Beyond the List – Introduction §  Views for media-rich applications §  “Hero moments” to break the monotony of list views §  Encourage more engaged exploration, akin to flipping through a magazine 45
  • 46. Q3 2011 Beyond the List – Examples 46
  • 47. Q3 2011 Beyond the List – Implementation §  CarouselView (3D) –  Renderscript –  Intended for customization j.mp/io2011-carousel-sample §  ViewPager (2D) for showing one item or page at a time 47
  • 48. Q3 2011 Do’s and don’ts
  • 49. Q3 2011 §  DO aim for a single §  DO extract APK dimensions for phones and tablets §  DO use the –  values/
 compatibility library dimens.xml! –  values-large/
 §  DO customize visual dimens.xml! design completely, if straying from Holo §  DO use theme/style/ theme etc. to reduce redundancy §  DO support both landscape and portrait 49
  • 50. Q3 2011 DO marry OS visual style with your brand/identity §  drawable-hdpi! §  drawable-large-mdpi-v11! 50
  • 51. Q3 2011 §  DON’T assume API level ≥11 == tablet §  DON’T assume xlarge == tablet –  7" tablet is large §  DON’T use small font sizes §  DON’T overuse fill_parent; avoid excessively long lines of text 51
  • 52. Q3 2011 DON’T think that tablets are just big phones Tablets fulfill a very different need. 52
  • 54. Q3 2011 The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. 54
  • 55. Q3 2011 55
  • 56. Q3 2011 56
  • 57. Q3 2011 Get the code at code.google.com/p/iosched 57
  • 58. Q3 2011 For more, visit developer.android.com
  • 59. Q3 2011 Copyrights and trademarks §  Android, Google are registered trademarks of Google Inc. §  All other trademarks and copyrights are the property of their respective owners. 59