How APIs Could Save Facebook's User Experience (and others), But Won't

Have you used the Facebook app on Android or the Web recently? It used to be pretty solid. But now, it's atrocious (see below for more). Twitter was this way a long time ago. Some would argue it still is. Then, through Twitter's APIs, some clever people at a startup called Tweetdeck built a better User Experience. It was so good that Twitter eventually acquired the startup for $40 million. Unfortunately, now that we've reached the end of the API economy as we know it, the opportunity for an independent developer or Tweetdeck-like startup to bestow upon us a better, stable, and more enjoyable Facebook user experience is forever lost and the same is true for many other problematic apps and services (ie: LinkedIn).

I don't know about you or the Facebook experience on iOS. But over the years, with all of the features that have crept into the app — the stories, the marketplace, etc — so too have a bevy of ruinous, unenjoyable, and buggy experiences. My irrefutable proof was experienced on my current Android phone and the one that came before it and can be found in the screenshots that are peppered throughout this article, some of which include end-user perceptions about Facebook's functionality.

For example, over the last week, two of the top three posts in my Feed have not changed. I've seen my friends complaining about the same problem in their own Facebook posts. To fix the issue, I tried using Facebook's Web app to toggle my feed prioritization from the default "Top Stories" to "Most Recent," (see screenshot below). But Facebook apparently knows better when it comes to what I want and resets it back to the default within hours. It's maddening.

Facebook: Top Stories vs. Most Recent

I think the thing that drives me most nuts is how a great many features simply don't work as advertised in the User Interface. The most recent example of this surfaced when one of my Facebook posts garnered 13 "reactions" from friends. But when I went to double check the list of those reactions, it only showed me four of them despite the fact that I tapped the link to show me "All 13."

Facebook: 4 out of 13 reactions

One of the bugs I frequently encounter (multiple times daily) is a blank feed. As shown below, if I tap on Facebook's icon to see my feed (the icon to the left of the bell icon), I just get a large grey block of nothing. I often wait to see if the page will suddenly populate itself with posts. Maybe it's just taking extra long to figure things out. Or maybe it's a slow network connection. But nothing happens. As a remedy, closing and reopening Facebook works. But, sadly, not all the time.

Facebook: blank feed bug

Here's another one I'm seeing more and more. It happens when I go into Facebook's marketplace and I see that there are new matches for one or more saved searches (see screenshot below):

Facebook: marketplace saved searches

On some occasions, the notifications (which are tappable) simply disappear before I can act on them. But on other occasions, when I act fast enough and tap one, I'm told there was an "unexpected error." Tapping "Retry" doesn't work. Actually, given how things have been going recently, Facebook should probably change the warning message to say "Expected Error." After all; this sort of mediocrity is what I've come to expect.

Facebook: unexpected error

Here's one where something went wrong with the layout. The header area for the user whose profile I was looking at is off center. Whatever is on the right side is apparently floating in air, next to my phone. Maybe I need some Oculus virtual reality headgear to see it? I don't know.

Facebook: layout issues

In this next Facebook UX snafu, I'm asked if I want to view a Facebook post (while I'm already in Facebook) using something called "com.facebook.katana." At that moment, I had no clue what it was or why I was being asked the question (I eventually Googled it to learn that it's the name of the Facebook "package" on Android). The best part? It offered me the same option twice! Let me know if you know which one I should have picked.

Facebook: com.facebook.katana

There's probably no Facebook bug that drives me more batty than the one, where, while I'm in the middle of entering a comment onto someone else's Facebook post, both the soft-keyboard and my unfinished comment disappear. This bug cannot be shown with a screenshot. The remedy is to back out of the original post altogether, then, pretend like you're about to enter a new comment on the same post (if you can find it), and about half the time, both the unfinished comment and soft keyboard are restored so you can finish the comment. I often wonder how much aggregate engagement is lost across all Facebook users due to this bug. 

Speaking of comments, I'm not alone in my limited expectations of the Facebook UX. One morning, I noticed that a member of a Facebook group was apologizing for having made an error in his post. But other members of the group let him off the hook and blamed Facebook instead.

Facebook: apology for error in post

Clearly, I'm not alone in my reduced expectations for Facebook. I also have a sneaky suspicion — though it's only that (just a suspicion) — that we could be seeing the limitations of React (the Facebook-developed open source Front-end technology on which most current Facebook user experiences are built). React is supposed to make it a lot easier to build dynamic web and mobile user experiences with highly compartmentalized functionality. In other words, problems should be pretty easy to isolate and eliminate without broadly impacting the rest of the application. But if developers had access to the same underlying APIs that Facebook now reserves for itself, they might choose not to use React and the result could be a better user experience.

In the broader conversation about crappy user experiences and developers who are now powerless to do anything about them due to significantly neutered APIs, it would be unfair to single-out Facebook. One of my pet peeves when it comes to LinkedIn has to do with how the app displays new invitations. There are various default actions I can take when first viewing an invitation. But none of them, even behind the "More" button, is the command to ignore the invitation. For that (and in an utter waste of my time), I must navigate to a completely different part of LinkedIn's user interface.

LinkedIn: new invitations

If I didn't know better, and I probably don't, I would suspect LinkedIn of an ulterior motive where it's not in LinkedIn's best interests for it to be easy to ignore an invitation. When I shared that disappointment with my Facebook friends , I realized from the comments that I wasn't alone. One comment threw shade on Facebook too.

Comments About the LinkedIn User Interface

Bugs like those found in the Facebook apps aren't the only problems that innovative developers might solve. It could just be lousy UI design decisions like LinkedIn's.

Oh well. End-users and developers be damned.

It used to not be like this. There used to be a belief that if you thought " Platform-first" and made ALL of your functionality available through APIs, even to your own apps, that somewhere in the world, lightning would strike. Some other developer would innovatively revolutionize your user experience the way Tweetdeck did for Twitter (and for other social networks). Throughout the history of tech, rainmakers have surfaced from obscurity to show us the light.

But, admittedly, even when the APIs were there, such success stories were too few and too far between. But now, as best as I can tell, as companies like Facebook curtail the full functionality of their APIs, the more we are simply stuck for eternity with whatever user experiences that Facebook, LinkedIn, and others give us.

Editor's Note: Facebook was contacted to comment on this story but did not respond.

Be sure to read the next Design article: Daily API RoundUp: Biopass ID, Specify, Threat Jammer, Stytch