10 iPhone UX Anti-Patterns Toby Joe Boudreaux CTO, The Barbarian - - PowerPoint PPT Presentation

10 iphone ux anti patterns
SMART_READER_LITE
LIVE PREVIEW

10 iPhone UX Anti-Patterns Toby Joe Boudreaux CTO, The Barbarian - - PowerPoint PPT Presentation

10 iPhone UX Anti-Patterns Toby Joe Boudreaux CTO, The Barbarian Group Friday, April 3, 2009 Hi. I m Toby. Author of Programming the iPhone User Experience, for O Reilly CTO at The Barbarian Group twitter: tobyjoe


slide-1
SLIDE 1

10 iPhone UX Anti-Patterns

Toby Joe Boudreaux CTO, The Barbarian Group

Friday, April 3, 2009

slide-2
SLIDE 2
  • Hi. Iʼm Toby.
  • Author of Programming the

iPhone User Experience, for OʼReilly

  • CTO at The Barbarian Group
  • twitter: tobyjoe
  • tobyjoe.com

Friday, April 3, 2009

slide-3
SLIDE 3

The Barbarian Group

  • Full-service digital/

interactive company and consultancy

  • The Subservient Chicken

to the new iTunes 8 music visualizer to CNN Shirts to Plainview

Friday, April 3, 2009

slide-4
SLIDE 4

Todayʼs Talk

  • Terminology
  • iPhone UX Assumptions
  • 10 Anti-Patterns

Friday, April 3, 2009

slide-5
SLIDE 5

What is a Design Pattern?

  • Reusable solution to a common problem
  • Extractions of proven solutions
  • Collectively emergent

Friday, April 3, 2009

slide-6
SLIDE 6

What is an Anti-Pattern?

  • A design pattern that causes at least as many

problems as it solves, despite better options existing

Friday, April 3, 2009

slide-7
SLIDE 7

Anti-Patterns Are Not:

  • Bugs
  • Dumb features
  • Crappy code
  • Bad habits

Friday, April 3, 2009

slide-8
SLIDE 8

What are UX Anti-Patterns?

  • A user experience anti-pattern is measured by the

impact on the experience

  • More subjectively judged than technical or
  • perational anti-patterns

Friday, April 3, 2009

slide-9
SLIDE 9

Do Anti-Patterns Mean You Suck?

  • No. They mean you created software on par with

your peers, that you solved problems.

Friday, April 3, 2009

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

Apple-Like?

  • The HIG sets the stage
  • Apple leads by example, and developers follow

suit

  • Donʼt fear the HIG

Friday, April 3, 2009

slide-13
SLIDE 13

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

slide-14
SLIDE 14

The Patterns

  • Billboards
  • Sleight of Hand
  • App as OS
  • Bullhorns
  • The Bouncer
  • The High Bar
  • Memory Lapse
  • Gesture Hijacking
  • Spin Zone
  • Sound-Off

Friday, April 3, 2009

slide-15
SLIDE 15

Billboards

  • Splash screens are evil, even when theyʼre pretty

Friday, April 3, 2009

slide-16
SLIDE 16

Friday, April 3, 2009

slide-17
SLIDE 17

Friday, April 3, 2009

slide-18
SLIDE 18

Billboards

“Avoid displaying an About window, a splash screen, or providing any other type of startup experience that prevents people from using your application immediately.” – Mobile HIG

Friday, April 3, 2009

slide-19
SLIDE 19

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

slide-20
SLIDE 20

The Progressive Reveal

Friday, April 3, 2009

slide-21
SLIDE 21

Billboards

  • Show a structured screen, minus user data
  • Give the impression that your app unpauses

instantly

  • Make app cycling addictive

Friday, April 3, 2009

slide-22
SLIDE 22

Sleight of Hand

  • Swapping meaning for hot areas

Friday, April 3, 2009

slide-23
SLIDE 23

Sleight of Hand

  • A great example by Apple: the incoming call

screen

Friday, April 3, 2009

slide-24
SLIDE 24

Locked and unlocked

Friday, April 3, 2009

slide-25
SLIDE 25

Friday, April 3, 2009

slide-26
SLIDE 26

Sleight of Hand

  • Navigation stacks make this issue tricky

Friday, April 3, 2009

slide-27
SLIDE 27

Back buttons lead to extra taps

Friday, April 3, 2009

slide-28
SLIDE 28

Friday, April 3, 2009

slide-29
SLIDE 29

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

slide-30
SLIDE 30

App as OS

  • Creating tarpits is a sticky habit

Friday, April 3, 2009

slide-31
SLIDE 31

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

slide-32
SLIDE 32

App as OS

  • iPhone apps should be specialized, optimized,

and should interoperate

  • I call this Cooperative Single-Tasking

Friday, April 3, 2009

slide-33
SLIDE 33

App as OS

  • The App as OS anti-pattern leads to competing

applications, not cooperative applications

Friday, April 3, 2009

slide-34
SLIDE 34

Classic example: built-in browsers

Friday, April 3, 2009

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

App as OS

  • Let Apple set the stage for interleaved functionality
  • Anything not provided by Apple should be

cooperative

  • If you must compete, make it an option, with

cooperation as the default

Friday, April 3, 2009

slide-38
SLIDE 38

Bullhorns

  • Notification mechanisms that are disproportional

to the messages being communicated

Friday, April 3, 2009

slide-39
SLIDE 39

Bullhorns

  • Example: Apple provides a very simple alert

mechanism, called UIAlert

Friday, April 3, 2009

slide-40
SLIDE 40

Bullhorns

  • The simplest thing that could possibly work...

works

Friday, April 3, 2009

slide-41
SLIDE 41

But it’s wicked harsh

Friday, April 3, 2009

slide-42
SLIDE 42

More appropriate

Friday, April 3, 2009

slide-43
SLIDE 43

Bullhorns

  • Keep the notification as passive as the situation

merits

Friday, April 3, 2009

slide-44
SLIDE 44

The Bouncer

  • Providing value only for registered users

Friday, April 3, 2009

slide-45
SLIDE 45

What now?

Friday, April 3, 2009

slide-46
SLIDE 46

The Bouncer

  • If possible, allow users to register from the app

Friday, April 3, 2009

slide-47
SLIDE 47

I signed up for all three. From the app.

Friday, April 3, 2009

slide-48
SLIDE 48

The Bouncer

  • If it isnʼt possible to register with the app, provide

value and information

Friday, April 3, 2009

slide-49
SLIDE 49

GoodFood options, WordPress info

Friday, April 3, 2009

slide-50
SLIDE 50

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

slide-51
SLIDE 51

The High Bar

  • Ignoring progressive enhancement

Friday, April 3, 2009

slide-52
SLIDE 52

The High Bar

  • Mobile users are unreliable
  • Build for the lowest common (functional)

denominator

  • Add optional, intuitive enhancements

Friday, April 3, 2009

slide-53
SLIDE 53

The High Bar

  • Example: Donʼt make me shake my phone.

Let me shake my phone.

Friday, April 3, 2009

slide-54
SLIDE 54

The High Bar

  • Example: Donʼt make me share my location.

Let me share my location.

Friday, April 3, 2009

slide-55
SLIDE 55

The High Bar

  • Load data lazily
  • Let users ask for more
  • Assume spotty networks

Friday, April 3, 2009

slide-56
SLIDE 56

The High Bar

  • Accept one-handed use (stop giggling)

Friday, April 3, 2009

slide-57
SLIDE 57

The High Bar

  • Pass the NYC Subway test

Friday, April 3, 2009

slide-58
SLIDE 58

Memory Lapse

  • Failing to persist content across pauses/launches

Friday, April 3, 2009

slide-59
SLIDE 59

Memory Lapse

  • The illusion of fast task-switching, pausing and

unpausing, requires state persistence

Friday, April 3, 2009

slide-60
SLIDE 60

No memory

Friday, April 3, 2009

slide-61
SLIDE 61

For the first launch, it’s ok to be empty

Friday, April 3, 2009

slide-62
SLIDE 62

After the first sync, show the last-known state

Friday, April 3, 2009

slide-63
SLIDE 63

Message failures appropriately

Friday, April 3, 2009

slide-64
SLIDE 64

Gesture Hijacking

  • Using established gestures for novel behavior in a

single app

Friday, April 3, 2009

slide-65
SLIDE 65

Gesture Hijacking

  • Gestures are learned, not intuited

Friday, April 3, 2009

slide-66
SLIDE 66

Gesture Hijacking

“...a brand new interface probably wonʼt be intuitive at the beginning.” – Aza Raskin

Friday, April 3, 2009

slide-67
SLIDE 67

Gesture Hijacking

  • Hijacking learned gestures injects uncertainty,

hindering the user experience

Friday, April 3, 2009

slide-68
SLIDE 68

Hijacking the table cell swipe

Friday, April 3, 2009

slide-69
SLIDE 69

Gesture Hijacking

  • Crowded interfaces are a real challenge
  • Novel gestures might seem like a solution, but

they too must be learned and may not be PE- compliant

Friday, April 3, 2009

slide-70
SLIDE 70

A better pattern exists: detail views

Friday, April 3, 2009

slide-71
SLIDE 71

Gesture Hijacking

  • Introducing new learning curves is a risk, and the

blowback might be larger than your app

Friday, April 3, 2009

slide-72
SLIDE 72

Spin Zone

  • Implementing rotation support for views

inconsistently, or forcing it arbitrarily

Friday, April 3, 2009

slide-73
SLIDE 73

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

slide-74
SLIDE 74

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

slide-75
SLIDE 75

Sound-Off

  • Hijacking the audio output

Friday, April 3, 2009

slide-76
SLIDE 76

Sound-Off

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

Friday, April 3, 2009

slide-77
SLIDE 77

Sound-Off

  • The iPhone has rich audio frameworks
  • Blending audio is pretty easy

Friday, April 3, 2009

slide-78
SLIDE 78

Sound-Off

  • Give users the option
  • If you canʼt do that, blend your audio

Friday, April 3, 2009

slide-79
SLIDE 79

Friday, April 3, 2009

slide-80
SLIDE 80

Summary

  • Some anti-patterns are emerging
  • That means stuff is being built, used
  • Compete in the App Store, cooperate on the

device

  • Differentiate, but not at the expense of

consistency

  • Keep it up!

Friday, April 3, 2009