You are previewing Android Design Patterns: Interaction Design Solutions for Developers.
O'Reilly logo
Android Design Patterns: Interaction Design Solutions for Developers

Book Description

Master the challenges of Android user interface development with these sample patterns

With Android 4, Google brings the full power of its Android OS to both smartphone and tablet computing. Designing effective user interfaces that work on multiple Android devices is extremely challenging. This book provides more than 75 patterns that you can use to create versatile user interfaces for both smartphones and tablets, saving countless hours of development time. Patterns cover the most common and yet difficult types of user interactions, and each is supported with richly illustrated, step-by-step instructions.

  • Includes sample patterns for welcome and home screens, searches, sorting and filtering, data entry, navigation, images and thumbnails, interacting with the environment and networks, and more

  • Features tablet-specific patterns and patterns for avoiding results you don't want

  • Illustrated, step-by-step instructions describe what the pattern is, how it works, when and why to use it, and related patterns and anti-patterns

  • A companion website offers additional content and a forum for interaction

Android Design Patterns: Interaction Design Solutions for Developers provides extremely useful tools for developers who want to take advantage of the booming Android app development market.

Note: The ebook version does not provide access to the companion files.

Table of Contents

  1. Cover
  2. Table of Contents
  3. Part I: UX Principles and Android OS Considerations
    1. Chapter 1: Design for Android: A Case Study
      1. Launch Icon
      2. Action Bars and Information Architecture
      3. Tabs
      4. Dedicated Selection Page
      5. Select Control
      6. Buttons
      7. Search Results
      8. Result Detail
      9. Bringing It All Together
    2. Chapter 2: What Makes Android Different
      1. Welcome to Flatland
      2. Tap Anywhere
      3. Right-Size for Every Device
      4. Mobile Space, Unbound
      5. Think Globally, Act Locally
    3. Chapter 3: Android Fragmentation
      1. What’s Fragmentation?
      2. Everything Is in Time and Passes Away
      3. Android Device Trends
      4. Celebrate Fragmentation
    4. Chapter 4: Mobile Design Process
      1. Observe Human-Mobile Interaction in the Real World
      2. Your Prototyping Methods Must Allow for Variety in Form Factors
      3. Your User Testing Must Allow People to Explore the Natural Range of Motion, Voice, and Multitouch
      4. Touch Interfaces Embody Simplicity and Sophistication
      5. Delight Is Mandatory
      6. Tell a Complete Story—Design for Cross-Channel Experiences
      7. Mobile Design Case Study
  4. Part II: Android Design Patterns and Antipatterns
    1. Chapter 5: Welcome Experience
      1. 5.1 Antipattern: End User License Agreements (EULAs)
      2. 5.2 Antipattern: Contact Us Impediments
      3. 5.3 Antipattern: Sign Up/Sign In
      4. 5.4 Pattern: Welcome Animation
      5. 5.5 Pattern: Tutorial
    2. Chapter 6: Home Screen
      1. 6.1 Pattern: List of Links
      2. 6.2 Pattern: Dashboard
      3. 6.3 Pattern: Updates
      4. 6.4 Pattern: Browse
      5. 6.5 Pattern: Map
      6. 6.6 Pattern: History
    3. Chapter 7: Search
      1. 7.1 Pattern: Voice Search
      2. 7.2 Pattern: Auto-Complete and Auto-Suggest
      3. 7.3 Pattern: Tap-Ahead
      4. 7.4 Pattern: Pull to Refresh
      5. 7.5 Pattern: Search from Menu
      6. 7.6 Pattern: Search from Action Bar
      7. 7.7 Pattern: Dedicated Search
      8. 7.8 Pattern: Search in the Content Page
      9. 7.9 Antipattern: Separate Search and Refinement
    4. Chapter 8: Sorting and Filtering
      1. 8.1 Antipattern: Crippled Refinement
      2. 8.2 Pattern: Refinement Page
      3. 8.3 Pattern: Filter Strip
      4. 8.4 Pattern: Parallel Architecture
      5. 8.5 Pattern: Tabs
    5. Chapter 9: Avoiding Missing and Undesirable Results
      1. 9.1 Antipattern: Ignoring Visibility of System Status
      2. 9.2 Antipattern: Lack of Interface Efficiency
      3. 9.3 Antipattern: Useless Controls
      4. 9.4 Pattern: Did You Mean?
      5. 9.5 Pattern: Partial Match
      6. 9.6 Pattern: Local Results
    6. Chapter 10: Data Entry
      1. 10.1 Pattern: Slider
      2. 10.2 Pattern: Stepper
      3. 10.3 Pattern: Scrolling Calendar
      4. 10.4 Pattern: Date and Time Wheel
      5. 10.5 Pattern: Drop Down
      6. 10.6 Pattern: Multiple Select
      7. 10.7 Pattern: Free-Form Text Input and Extract
      8. 10.8 Pattern: Textbox with Input Mask
      9. 10.9 Pattern: Textbox with Atomic Entities
    7. Chapter 11: Forms
      1. 11.1 Pattern: Inline Error Message
      2. 11.2 Pattern: Toast Alert
      3. 11.3 Pattern: Pop-up Alert
      4. 11.4 Pattern: Callback Validation
      5. 11.5 Pattern: Cancel/OK
      6. 11.6 Pattern: Top-Aligned Labels
      7. 11.7 Pattern: Getting Input from the Environment
      8. 11.8 Pattern: Input Accelerators
    8. Chapter 12: Mobile Banking
      1. 12.1 Pattern: Login Accelerator
      2. 12.2 Pattern: Dedicated Selection Page
      3. 12.3 Pattern: Form First
      4. 12.4 Pattern: Dedicated Pages Wizard Flow
      5. 12.5 Pattern: Wizard Flow with Form
      6. 12.6 Pattern: Verification-Confirmation
      7. 12.7 Pattern: Near Field Communication (NFC)
    9. Chapter 13: Navigation
      1. 13.1 Antipattern: Pogosticking
      2. 13.2 Antipattern: Multiple Featured Areas
      3. 13.3 Pattern: Carousel
      4. 13.4 Pattern: Popover Menu
      5. 13.5 Pattern: Watermark
      6. 13.6 Pattern: Swiss-Army-Knife Navigation
      7. 13.7 Pattern: Integration: The Final Frontier
    10. Chapter 14: Tablet Patterns
      1. 14.1 Pattern: Fragments
      2. 14.2 Pattern: Compound View
      3. 14.3 Experimental Pattern: Side Navigation
      4. 14.4 Pattern: Content as Navigation/Multitouch Gestures
      5. 14.5 Pattern: 2-D More Like This
      6. 14.6 Experimental Pattern: C-Swipe
  5. Foreword
  6. Introduction
    1. Why Mobile Computing?
    2. Why Android?
    3. Why This Book?
    4. What About the Code?
    5. How Should You Use This Book?
    6. Who Should Read This Book?