10 iPhone User Experience Anti-Patterns Presentation

Embed Size (px)

Citation preview

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    1/80

    10 iPhone UX

    Anti-Patterns

    Toby Joe BoudreauxCTO, The Barbarian Group

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    2/80

    Hi. I!m Toby.

    ! Author of Programming theiPhone User Experience, for

    O"Reilly

    ! CTO at The Barbarian Group

    ! twitter: tobyjoe

    !tobyjoe.com

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    3/80

    The Barbarian Group

    ! Full-service digital/

    interactive company andconsultancy

    ! The Subservient Chickento the new iTunes 8 music

    visualizer to CNN Shirts toPlainview

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    4/80

    Today!s Talk"

    ! Terminology

    ! iPhone UX Assumptions

    ! 10 Anti-Patterns

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    5/80

    What is a Design Pattern?

    ! Reusable solution to a common problem

    ! Extractions of proven solutions

    ! Collectively emergent

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    6/80

    What is an Anti-Pattern?

    !A design pattern that causes at least as manyproblems as it solves, despite better optionsexisting

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    7/80

    Anti-Patterns Are Not:

    ! Bugs

    ! Dumb features! Crappy code

    ! Bad habits

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    8/80

    What are UX Anti-Patterns?

    ! A user experience anti-pattern is measured by the

    impact on the experience! More subjectively judged than technical or

    operational anti-patterns

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    9/80

    Do Anti-Patterns Mean You Suck?"

    ! No. They mean you created software on par withyour peers, that you solved problems.

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    10/80

    So, How Does It Happen?

    ! The simplest thing that can possibly work isn"t

    always perfect! Collectively, users and use cases mature

    ! Better solutions to a problem evolve

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    11/80

    Some iPhone UX Assumptions

    ! With the iPhone, the platform is the experience

    ! Apps should feel Apple-like (the HIG is back!)

    ! Apps should perform a small, focused set of tasks

    very well! Apps should be optimized for mobile users

    ! Differentiation should come in how the app solves

    its main problem! Immersive 3D games are exempt

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    12/80

    Apple-Like?

    ! The HIG sets the stage

    ! Apple leads by example, and developers followsuit

    ! Don"t fear the HIG

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    13/80

    Users Want the Apple Experience

    ! You don"t have to drink the Kool-Aid! You have to serve the Kool-Aid

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    14/80

    The Patterns

    !Billboards

    ! Sleight of Hand

    ! App as OS

    !Bullhorns

    ! The Bouncer

    ! The High Bar

    !Memory Lapse

    ! Gesture Hijacking

    ! Spin Zone

    ! Sound-OffFriday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    15/80

    Billboards

    ! Splash screens are evil, even when they"re pretty

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    16/80Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    17/80Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    18/80

    Billboards

    Avoid displaying an About window, a splash

    screen, or providing any other type of startupexperience that prevents people from using yourapplication immediately. Mobile HIG

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    19/80

    Billboards

    ! Forget quit and launch

    ! Replace with pause and unpause! Think about fast app cycling

    ! Don"t put branding ahead of users

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    20/80

    The Progressive Reveal

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    21/80

    Billboards

    ! Show a structured screen, minus user data

    ! Give the impression that your app unpausesinstantly

    ! Make app cycling addictive

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    22/80

    Sleight of Hand

    ! Swapping meaning for hot areas

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    23/80

    Sleight of Hand

    ! A great example by Apple: the incoming callscreen

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    24/80

    Locked and unlocked

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    25/80

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    26/80

    Sleight of Hand

    ! Navigation stacks make this issue tricky

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    27/80

    Back buttons lead to extra taps

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    28/80

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    29/80

    Sleight of Hand

    ! Consider muscle memory and habit

    !Overlay screens and consider proximity

    ! Account for one extra, accidental touch

    ! Always confirm potential accidents

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    30/80

    App as OS

    ! Creating tarpits is a sticky habit

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    31/80

    App as OS

    ! The device is effectively all screen

    ! One app at a time, and that app is full screen

    ! This creates the illusion of app as OS

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    32/80

    App as OS

    ! iPhone apps should be specialized, optimized,and should interoperate

    ! I call this Cooperative Single-Tasking

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    33/80

    App as OS

    ! The App as OS anti-pattern leads to competingapplications, not cooperative applications

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    34/80

    Classic example: built-in browsers

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    35/80

    App as OS

    ! Use custom URL schemes to interoperate

    ! Safari catches http://

    !Mail catches mailto://

    ! YouTube catches http://www.youtube.com/

    ! Text catches sms://

    ! Twitterrific catches twitterrific://

    Friday, April 3, 2009

    http://www.youtube.com/http://www.youtube.com/
  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    36/80

    App as OS

    ! Use shared views as they are added

    ! With 2.x use Photos and Contacts

    ! With 3.0 add Maps and Mail

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    37/80

    App as OS

    ! Let Apple set the stage for interleaved functionality

    ! Anything not provided by Apple should becooperative

    ! If you must compete, make it an option, withcooperation as the default

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    38/80

    Bullhorns

    ! Notification mechanisms that are disproportionalto the messages being communicated

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    39/80

    Bullhorns

    ! Example: Apple provides a very simple alertmechanism, called UIAlert

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    40/80

    Bullhorns

    ! The simplest thing that could possibly work...works

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    41/80

    But its wicked harsh

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    42/80

    More appropriate

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    43/80

    Bullhorns

    ! Keep the notification as passive as the situationmerits

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    44/80

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    45/80

    What now?

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    46/80

    The Bouncer

    ! If possible, allow users to register from the app

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    47/80

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    48/80

    The Bouncer

    ! If it isn"t possible to register with the app, providevalue and information

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    49/80

    GoodFood options, WordPress info

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    50/80

    The Bouncer

    ! Your mobile app can be an HTTP client no

    different than a desktop Web browser! Reward installs instead of penalizing or

    stonewalling

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    51/80

    The High Bar

    ! Ignoring progressive enhancement

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    52/80

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    53/80

    The High Bar

    ! Example: Don"t make me shake my phone.

    Let me shake my phone.

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    54/80

    The High Bar

    ! Example: Don"t make me share my location.

    Let me share my location.

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    55/80

    The High Bar

    ! Load data lazily

    ! Let users ask for more

    ! Assume spotty networks

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    56/80

    The High Bar

    ! Accept one-handed use (stop giggling)

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    57/80

    The High Bar

    #Pass the NYC Subway test

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    58/80

    Memory Lapse

    ! Failing to persist content across pauses/launches

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    59/80

    Memory Lapse

    ! The illusion of fast task-switching, pausing andunpausing, requires state persistence

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    60/80

    No memory

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    61/80

    For the first launch, its ok to be empty

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    62/80

    After the first sync, show the last-known state

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    63/80

    Message failures appropriately

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    64/80

    Gesture Hijacking

    !Using established gestures for novel behavior in asingle app

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    65/80

    Gesture Hijacking

    ! Gestures are learned, not intuited

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    66/80

    Gesture Hijacking

    ...a brand new interface probably won"t be

    intuitive at the beginning. Aza Raskin

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    67/80

    Gesture Hijacking

    !Hijacking learned gestures injects uncertainty,hindering the user experience

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    68/80

    Hijacking the table cell swipe

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    69/80

    Gesture Hijacking

    ! Crowded interfaces are a real challenge

    ! Novel gestures might seem like a solution, butthey too must be learned and may not be PE-compliant

    Friday, April 3, 2009

    A b tt tt i t d t il i

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    70/80

    A better pattern exists: detail views

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    71/80

    Gesture Hijacking

    !Introducing new learning curves is a risk, and theblowback might be larger than your app

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    72/80

    Spin Zone

    !Implementing rotation support for viewsinconsistently, or forcing it arbitrarily

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    73/80

    Spin Zone

    ! Why can!t I rotate this built-in browser?

    ! Why can I only play this game rotated to the left?

    ! Why do I have to rotate to see feature (x)?

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    74/80

    Spin Zone

    ! Rotation support is great, but testing for it is work

    ! Support it fully, or not at all

    ! Match user expectations for the type of app

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    75/80

    Sound-Off

    ! Hijacking the audio output

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    76/80

    Sound-Off

    ! Secret: the iPhone is an iPod with a phone built in

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    77/80

    Sound-Off

    !The iPhone has rich audio frameworks

    ! Blending audio is pretty easy

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    78/80

    Sound-Off

    !Give users the option

    ! If you can"t do that, blend your audio

    Friday, April 3, 2009

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    79/80

    Friday, April 3, 2009

    S

  • 8/9/2019 10 iPhone User Experience Anti-Patterns Presentation

    80/80

    Summary

    ! Some anti-patterns are emerging

    ! That means stuff is being built, used

    ! Compete in the App Store, cooperate on thedevice

    ! Differentiate, but not at the expense ofconsistency

    ! Keep it up!