Some time ago Facebook launched it's cross platform messaging app: Facebook Messenger; the mobile stand alone app that fully integrates Facebook messaging with your cell phone. Sounds awesome right? Sadly, it's badly broken. I recently tweeted a designer at Facebook to ask why the UX of the app is so bad, in turn he asked me to describe what's wrong so they can fix it. So are you listening Facebook? Great. Here's what's wrong with the iOS version:
Starting the app Takes time. A lot of time. Why? There is no large graphics in use. Why does it start slower than some third party messaging or twitter apps? Short messaging on mobile devices is supposed to be fast. Loading the app for over a full second is bad user experience.
If I'd have to guess what's wrong I'd say Facebook Messenger is loading the entire message database at startup when all the user really needs is something like the last 5 messages.
Loading and responsiveness So the app is now loaded. Let's start messaging! No? Unresponsive?! But why? Why is there a second load time?
This second load becomes even weirder when I start the app from a notification. The app should be loading the message I was notified about but instead it seems to load for several full seconds. Even on WiFi.
If I'd have to guess what's wrong I'd say you're syncing ALL the messaging data with the server...
Don't, do, that. Ever.
Always smart load, download only the essential information to start using the app. Then download the rest in the background while the user is happily messaging away. This is critical on mobile devices.
Feedback If even Apple, that clearly doesn't get social at all, get's the importance of user feedback in short messaging. And the Facebook web interface clearly shows when the other party is writing something to you... Why do you not show this information in the Messenger app? If someone starts typing, send that information. Show an indication of this in the app.
And please, don't make my phone vibrate with every new messages when the thread is open on the screen.
Notifications Notifications on iOS are a bit strange. They don't sync between iPhone and iPad and the app can't receive any data from the notification. So some odd behavior is simply inescapable. However, most of the odd behavior with notifications from Facebook's Messenger app have nothing to do with that.
The main problem is that notifications aren't consistent between mobile app and web. As a matter of fact I haven't even been able to understand what triggers mobile notifications. In my tests some messenges have triggered notifications on both web and mobile while other, identical tests, have triggered only one of them. Once I even received a mobile notification while typing a response in that very thread on the web.
Notifications are hard. Really hard. But a few simple basics should at least get you of out this mess:
- If the thread open on web and the page is active (focused some time the last minute or so) - don't send a notification at all.
- If the thread not open and the page is not active - send a notification.
- If the thread minimized in the web browser but the page is active - send only a web notification.
Do I realize that these features are more complex than I have described them here? Yes. But they're not very complex for a product team such as the one behind Facebook.
Do I realize that Facebook usually releases features and then iterates on them to improve the user experience? Yes. But this is a web strategy. A mobile app is often, like in this case, just a good interface on top of a web service. If the interface is bad, the service is bad. Iterate all you want on the service. But "release early, release often" is not a viable strategy for a mobile interface.
So why am I taking time to
complain write all this? Because Facebook Messages, and Facebook Messenger, is a great product. It will help me organize my communication even better and have faster communications with my friends. No longer will discussions be spread through WhatsApp, iMessages, SMS, Email etc etc.
And the reason I can't do that today is the Facebook Messenger interface. With
god damn enourmous amounts of some luck this post might help Facebook create a really good Messenger app faster. Fingers crossed. Also, I'm available for hire.
Update: Ben from the Facebook Messenger team replies with some information about the upcoming version 1.5 of the app. Early the next morning I had it and started using it. And I must say it's a big improvement. I'll write a follow up shortly about this new version.