Slide 1

Slide 1 text

Android Notifications What's new in Android Lollipop?

Slide 2

Slide 2 text

How users experience notifications

Slide 3

Slide 3 text

Where we come from

Slide 4

Slide 4 text

New Style

Slide 5

Slide 5 text

New Style

Slide 6

Slide 6 text

Where we come from

Slide 7

Slide 7 text

New way

Slide 8

Slide 8 text

New way Public notifications Private notifications

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Heads Up Notifications ● Are less intrusive than old way ● Yet still annoying enough to not go unnoticed ● For the most pressing notifications

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Android Wear ● Mirrors notifications of device ● Well, kind of – it's actually more flexible than that ● For stuff that is important now

Slide 13

Slide 13 text

User is in Control ● User can disable all notifications for specific apps ● User can define periods of „Downtime“ – Only priority notifications will go through – Only users can elevate apps to priority apps ● Users can opt out of Lockscreen Notifications

Slide 14

Slide 14 text

User is in Control

Slide 15

Slide 15 text

User is in Control ● User can go there either from the settings ● Or when long-clicking your notification:

Slide 16

Slide 16 text

How devs create this stuff

Slide 17

Slide 17 text

The minimum

Slide 18

Slide 18 text

Always set the content intent ● That's the intent that gets fired when the user clicks your Notification ● Users expect notifications to be clickable ● Not required, but necessary :-)

Slide 19

Slide 19 text

Always set the content intent

Slide 20

Slide 20 text

PendingIntents ● Independent of app lifecycle ● Allows other apps to use your permissions ● Key is combined of: – Intent (without Extras!) – Requestcode ● Use correct flags – Most often FLAG_UPDATE_CURRENT

Slide 21

Slide 21 text

More actions possible

Slide 22

Slide 22 text

Updating notifications ● Android updates when ID is the same ● Important for – Actions – Persistent notifications ● To avoid flicker: builder.setWhen(naturalTimestamp) ● Consider adding this line: builder.setOnlyAlertOnce(true);

Slide 23

Slide 23 text

Priority ● HIGH or MAX -> Heads up notification ● MIN -> no small icon will be displayed – Don't use sound, light or vibration! ● LOW -> small icon will be displayed – Don't use sound, light or vibration! ● DEFAULT – Documentation recommends to use light and sound ● Ranking in Lollipop more complex than before

Slide 24

Slide 24 text

Big Styles ● BigPictureStyle ● BigTextStyle ● InboxStyle – Doesn't work great on Wear – Use stacked notifications on Wear instead ● MediaStyle – New in Lollipop

Slide 25

Slide 25 text

Big Styles

Slide 26

Slide 26 text

Visibility ● Important for lockscreen notifications – VISIBILITY_PUBLIC ● Android displays everything – VISIBILITY_PRIVATE ● Is the default level ● Android displays the icon and the ticker text – VISIBILITY_SECRET ● Android shows nothing on the lockscreen ● builder.setVisibility(VISIBILITY_PUBLIC) ● Consider setPublicVersion()

Slide 27

Slide 27 text

Visibility

Slide 28

Slide 28 text

Link to the Settings Activity

Slide 29

Slide 29 text

How to not spoil the user experience

Slide 30

Slide 30 text

PITA ● Always consider the „Pain in the A**“ level ● Notifications are attracting the user's attention ● Thus they are always distracting ● MIN do not show an icon – The only one without any PITA attached – Use them whenever possible and appropriate Her

Slide 31

Slide 31 text

Ticker text ● Is very distracting ● Only use it if the user cares about it now – The user's favorite club scored: Yes – Some other club scored: No

Slide 32

Slide 32 text

LED colors ● Just leave them white ● The user doesn't know your color anyway ● If at all, let the user select a color

Slide 33

Slide 33 text

Icon colors ● Leave them white! ● I mean it: Leave them white!

Slide 34

Slide 34 text

Icon colors ● Leave them white! ● I mean it: Leave them white! ● This is a horrible mess:

Slide 35

Slide 35 text

User notifications ● For cloud based notifications: Use user notifications ● See once, delete everywhere!

Slide 36

Slide 36 text

Priority ● Do not use a higher priority to improve ranking ● Consider the importance for the user only

Slide 37

Slide 37 text

Give the user control ● Provide settings for notifications ● Let them disable them completely ● Let them control the PITA level – Color, sound, vibration, priority, frequency

Slide 38

Slide 38 text

Make them a benefit „Notifications embody your app's voice, and contribute to your app's personality“ https://developer.android.com/design/patterns/notifications.html

Slide 39

Slide 39 text

No content