Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Push / Interactive Notifications

Push / Interactive Notifications

Things to keep in mind before you set off to build Notifications for your apps or sites.

Nick Parfene

April 10, 2015
Tweet

More Decks by Nick Parfene

Other Decks in Technology

Transcript

  1. Interactive
    Notifications
    presented by NI CK PARFE NE
    APRI L 2105
    1

    View Slide

  2. I’ M A DAD
    NICK PARFENE - COF FE E ADDI CT I’M A P EOPLE PE RSON
    I’M A HUSBA ND
    2

    View Slide

  3. A DE FINIT ION
    BE ST P RACT ICES
    HOW MA NY TYPE S ARE T HE RE ?
    CONST RAINT S
    I WANT SOM E. WHAT SHOULD I DO?
    Agenda
    3

    View Slide

  4. TR UST ME ON THIS ONE
    4

    View Slide

  5. A DE FI NI TION
    BE ST P RACT ICES
    HOW MA NY TYPE S ARE T HE RE ?
    CONST RAINT S
    I WANT SOM E. WHAT SHOULD I DO?
    Agenda
    This will be quick and painless.
    5

    View Slide

  6. Notifi cations are m essages or dat a se nt to the use r’s de vi ce by a ce ntra li se d se rve r.
    DEFI NI TIO N
    • They don’t have to have a payload
    • Text, sound, and badge
    • All notifications are interactive notifications
    6

    View Slide

  7. ANDROID
    BLACKBERRY? WINDOWS PHONE
    iOS
    7

    View Slide

  8. A DE FI NI TION
    BE ST P RACT ICES
    HOW MA NY TYPE S ARE T HE RE ?
    CONST RAINT S
    I WANT SOM E. WHAT SHOULD I DO?
    Agenda
    Brace yourself for information overload.
    8

    View Slide

  9. • Local / Remote
    • Browser / Native
    • Android / iOS / Windows Something
    • Silent / With Payload: Text, Sound, or Badge (or a selection of these)
    • Scheduled by time / Scheduled by location (geo-fenced)
    • With Custom actions / Without Custom actions
    • Annoying / Useful
    NOTIFICATIO N TYP ES
    9

    View Slide

  10. • They look the same
    • Not all notifications have to be sent by a server
    • The Game notifications that drive you nuts are most often Local notifications
    • The same rules / content restrictions apply to both Local & Remote notifications
    NOTIFICATIO N TYP ES
    10
    LOCAL / REMOTE

    View Slide

  11. • HTML5 Notifications API (supported by Chrome, Firefox and Safari)
    • IE supports Pinned Sites (think Live tiles for your website)
    • Notify.js also offers a nice abstraction for the Notifications API
    NOTIFICATIO N TYP ES
    11
    BROWSER / NATI VE
    SERVER P USH ED NOTI FICATIONS MAY APPLY TO YOUR WEBSITE, T OO!

    View Slide

  12. • Android
    • Device
    • Android Wear
    • iOS
    • Mobile Device
    • Mac
    •  Watch
    NOTIFICATIO N TYP ES
    12
    ANDROID / I OS / WI NDOW S SOM ETHI NG
    I’M SURE THER E’S SU PPORT FOR BLACKBERRY, TOO
    • Windows Phone / Windows 10
    • Mobile device
    • PC
    • Band
    • BlackBerry
    • LOL, just trolling you

    View Slide

  13. 1. Silent notifications for background refresh
    2. Visible notifications
    • The User must opt-in
    • Can badge the App icon. (I’m OCD about those damn badges)
    NOTIFICATIO N TYP ES
    13
    SILENT / W ITH PAYLOAD
    DON’T UNDER ESTIMATE THE QUIE T ONES

    View Slide

  14. 1. Local notifications are scheduled to fire at a certain point in time (including “now”)
    2. Geofenced notifications
    • Location Services hybrid new in iOS 8
    • When the user enters a monitored region, the app can schedule a Local notification to
    fire “now”
    NOTIFICATIO N TYP ES
    14
    SCHEDULED BY TI ME / SCHE DULE D BY LOCATIO N (GEO -F ENCE D)
    OKAY, I’M C HEATIN G

    View Slide

  15. 4 CUST OM ACTI ONS
    15

    View Slide

  16. • There can be up to 4 custom actions
    • App does not need to start after an interaction
    • You may create actions that do not require the device to be unlocked!
    • Custom actions can be marked as “destructive”. Cannot be styled, though.
    NOTIFICATIO N TYP ES
    16
    WI TH CUSTOM ACTI ONS / WIT HOUT CUST OM ACTIO NS
    FINA LLY!

    View Slide

  17. • Please help me with this one!
    • Dislike
    • Like
    NOTIFICATIO N TYP ES
    17
    ANNOYING / USEFUL
    YOU KNO W WH AT I ’M TALKING ABOUT

    View Slide

  18. STE RLING ARCHER
    18

    View Slide

  19. • Local / Remote
    • Browser / Native
    • Android / iOS / Windows Something
    • Silent / With Payload: Text, Sound, or Badge (or a selection of these)
    • Scheduled by time / Scheduled by location (geo-fenced)
    • With Custom actions / Without Custom actions
    • Annoying / Useful
    NO TI FICATION TY P ES - RECAP
    19

    View Slide

  20. A DE FI NI TION
    BE ST P RACT ICES
    HOW MA NY TYPE S ARE T HE RE ?
    CONST RAINT S
    YOU WA NT SOME. WHAT TO DO?
    Agenda
    Less technical than you might fear.
    20

    View Slide

  21. YOU WA NT SOME. WH AT SHOULD YOU DO?
    21

    View Slide

  22. PART 1
    REGISTER THE USER
    • Do it as late as possible & guide the user
    • Consider supporting just certain types of notifications (e.g. Direct
    Messages)
    YOU WA NT SOME. WH AT SHOULD YOU DO?
    22

    View Slide

  23. PART 2
    RESP OND TO EVENT
    PART 1
    • When a condition is satisfied (event, time, trigger, etc)
    • Query the user’s state (do they have a Do Not Disturb set? What is
    the time in their current Time Zone)
    YOU WA NT SOME. WH AT SHOULD YOU DO?
    23
    REGISTER THE USER
    • Do it as late as possible & guide the user
    • Consider supporting just certain types of notifications (e.g. Direct
    Messages)

    View Slide

  24. PART 2
    RESP OND TO EVENT
    PART 3
    HAN DLE THE NOTIF ICATI ON
    PART 1
    • Is the app running? Should you even disturb the user?
    • Don’t overwhelm the user!
    • Be respectful
    YOU WA NT SOME. WH AT SHOULD YOU DO?
    24
    REGISTER THE USER
    • Do it as late as possible & guide the user
    • Consider supporting just certain types of notifications (e.g. Direct
    Messages)
    • When a condition is satisfied (event, time, trigger, etc)
    • Query the user’s state (do they have a Do Not Disturb set? What is
    the time in their current Time Zone)

    View Slide

  25. PART 2
    RESP OND TO EVENT
    PART 3
    HAN DLE THE NOTIF ICATI ON
    PART 1
    YOU WA NT SOME. WH AT SHOULD YOU DO?
    25
    REGISTER THE USER
    • Do it as late as possible & guide the user
    • Consider supporting just certain types of notifications (e.g. Direct
    Messages)
    • Is the app running? Should you even disturb the user?
    • Don’t overwhelm the user!
    • Be respectful
    • When a condition is satisfied (event, time, trigger, etc)
    • Query the user’s state (do they have a Do Not Disturb set? What is
    the time in their current Time Zone)

    View Slide

  26. YOU WA NT SOME. HOW SHOULD YOU DO I T?
    26

    View Slide

  27. OP TION 1
    USE A THIRD PART Y
    YOU WA NT SOME. HOW SHOULD YOU DO I T?
    • Parse or Urban Airship make it ridiculously easy to get started ($ cost)
    • Relying on a 3rd part may cause grievances that are outside of your control
    • If you’re serious about it, then move to Option 2.
    27

    View Slide

  28. OP TION 2
    BUILD IT IN-HOUSE
    OP TION
    USE A THIRD PART Y
    YOU WA NT SOME. HOW SHOULD YOU DO I T?
    • Parse or Urban Airship make it ridiculously easy to get started ($ cost)
    • Relying on a 3rd part may cause grievances that are outside of your control
    • If you’re serious about it, then move to Option 2.
    • Build a Façade on top of your API
    • Backend code used to be hard to write
    • Tip: Make sure you implement the Feedback Queue
    28

    View Slide

  29. OP TION
    BUILD IT IN-HOUSE
    OP TION 3
    OP TION
    USE A THIRD PART Y
    YOU WA NT SOME. HOW SHOULD YOU DO I T?
    • Parse or Urban Airship make it ridiculously easy to get started ($ cost)
    • Relying on a 3rd part may cause grievances that are outside of your control
    • If you’re serious about it, then move to Option 2.
    • LOL
    • I wish I knew how to blush. This would be a good time to do it
    29
    AS K ME. IT’LL BE MAGI CAL
    • Build a Façade on top of your API
    • Backend code used to be hard to write
    • Tip: Make sure you implement the Feedback Queue

    View Slide

  30. OP TION 2
    BUILD IT IN-HOUSE
    OP TION 3
    OP TION 1
    USE A THIRD PART Y
    YOU WA NT SOME. HOW SHOULD YOU DO I T?
    30
    AS K ME. IT’LL BE MAGI CAL
    • Parse or Urban Airship make it ridiculously easy to get started ($ cost)
    • Relying on a 3rd part may cause grievances that are outside of your control
    • If you’re serious about it, then move to Option 2.
    • LOL
    • I wish I knew how to blush. This would be a good time to do it
    • Build a Façade on top of your API
    • Backend code used to be hard to write
    • Tip: Make sure you implement the Feedback Queue

    View Slide

  31. A DE FI NI TION
    BE ST P RACT ICES
    HOW MA NY TYPE S ARE T HE RE ?
    CONST RAI NT S
    I WANT SOME . WHAT T O DO?
    Agenda
    It’s not too bad, really.
    31

    View Slide

  32. CONSTRA IN TS
    • Limited payload 2 kilobytes for iOS 8. 256 bytes for iOS 7 and older
    • Delivery of notifications is a “best effort”, not guaranteed. It is not intended to deliver data
    to your app, only to notify the user that there is new data available.
    • Limited number of custom actions
    • Limited “styling” options
    •  Watch Glances and Custom Long-look notifications require a Watch extension
    • No confirmation that the Notification was displayed to the user
    32

    View Slide

  33. A DE FI NI TION
    BE ST P RACT ICES
    HOW MA NY TYPE S ARE T HE RE ?
    CONST RAI NT S
    I WANT SOME . WHAT T O DO?
    Agenda
    It’s mostly common sense.
    33

    View Slide

  34. BEST PR ACTICES - NICK’S T OP 10
    1. Guided “Opt In” rather than “Opt Out”
    2. Allow user to specify the types of messages they wish to receive. Support DND. Think Time Zone!
    3. High volume of Notifications? Consider providing a “Snooze” custom action!
    4. Only send relevant messages. This is NOT a direct marketing channel
    5. Don't send confidential or sensitive data through push notifications
    6. Consider promoting custom actions that do not require the app to start up
    7. Use clear language and keep the message short
    8. Choose the lowest frequency of notifications that still delivers a great user experience
    9. Be aware of context. Is the user in your app right now?
    10.Consider aggregating multiple messages into a more generic “group”
    34

    View Slide

  35. BE ST PR ACTICES
    35

    View Slide

  36. WWW
    PAR FENE.COM
    READ MY S TUFF
    @NI CKTMRO
    FOLLOW ME
    NICKTMRO
    HOW SAD
    THA NK YO U!
    36

    View Slide

  37. FOLLOW ME
    @NICKTMRO
    QUE STIONS?
    37
    • Google Developer Group Wellington
    • Cocoaheads Wellington
    • Android Meetup
    • parfene.com
    SHA MELESS PLUGS

    View Slide