One of the biggest opportunity for empathy in software applications is with notifications. Even simple, uni-taskers can offer valuable notifications, but as applications grow more complex, notifications are a very nice way to keep users informed of “the big picture”, to warn them when things go wrong and (maybe – definitely not always) send them kudos when things go really nice.
Some applications are such chatterboxes, though, that they render notifications useless.
On the other hand, some applications are so silent, it’s very hard, as a user, to know where you’re at: are things ok? Has something been broken for weeks without you knowing it?
And what about multiple channels? We can be reached so many different ways these days, and some applications try to reach us everywhere, for every notification! How do you like receiving an alert at 3AM as an email, a text message and an app notification?
There’s a very fine line between too much and too little notifications. And it’s also relative to each user. It is my belief the best option is to:
a) list all the notifications you send, so the user can opt out of any one of them
b) for each notification, give the user an easy way to acknowledge it was received – so you can stop sending it.
c) for each notification, let the user specify a call chain (i.e. “email first, text second, phone app notification last”) so that if a notification has not been acknowledged within a certain amount of time, it is sent to the next channel on the list. No more multiple pings at 3AM.
d) one could even (or maybe instead of call chains) allow the user to set notification schedules, i.e. “during the day, send everywhere, but during the night, only send by email”.
Of course, more settings make it even more important to have good, sensible defaults, and a nice introduction mechanism when users first use your app – be it a wizard, a tutorial, etc. Make sure these settings are there for optimal flexibility, but also make sure users who are not yet at that level of customization are not annoyed by the default values. You also want to make sure that it is clear to users that they can modify the notification settings, and how to do it. (if only applications could be made to hear users, we could even suggest help when we hear swear words or sighs of frustrations… We’re not there yet, unfortunately, so we need to be pro-active.) Maybe for the first few times a specific notification is sent, the user can reply to it and manage the settings for this notification only, right then, as she receives them. Give her a choice to “never receive on this device again”, or “never receive during the night”, etc. Or maybe just a “skip” reply – and if the device skips the reply often enough, the system automatically stops sending that notification to this device… We can definitely get creative, and some user research is required here – but you get the picture.
A lot of developers (and users) fear having a lot of settings, and I tend to agree that in most cases, you don’t want a whole lot of them. However, I think notifications are one of the exceptions: they intrude in our private lives, so we should have an exceptional amount of control over them. And again, if the default values are sensible, it’s a lesser evil because most users will just be happy with the defaults. Even better if your app can be made smart and learn from their responses and behavior. So developers, be empathetic to your users: silence your chatterbox, or send your silent app to a communications coach…