The Atlantic and Why Android Apps Suck
I’ll admit, I love The Atlantic.
That puts me in what I can only imagine is a tiny minority of content-consuming Americans that want to read a 6000 word essay about how democracy is failing in America. Today, most people don’t even read anything online at all… they skim.
It might be surprising, then, that the Atlantic’s Android app is an unapologetic pile of garbage. Let’s take a look at why Android apps seem so much worse than iOS apps, and what makes The Atlantic’s Android app such a maddening heap of wet trash.
Android App Quality in General
Before we get to The Atlantic’s specific failures, a note about Android apps in general: They suck. Android apps, in my experience, are nearly always inferior to their iOS counterparts, and on every team I’ve worked on building mobile apps, iOS has been the focus of both design and testing. Android is always second. In most startups, the iOS app will likely be the only app that is built, and if it has success, it *might* get ported to Android later. Why?
Market Share
This might be partially because iOS has a solid market-share lead in the US over Android, but not as solid as you might think, at only 14% . Go back five years, and you find — surprisingly — that this lead is even smaller at only 7%. Another report, however, finds the market split right down the center, at 50/50.
Dev Tools
Another reason that Android apps tend to suck so hard is that Google is constantly and dramatically changing its mind about how developers should build them. Back in 2018, Google was evangelizing “Two-way Data Binding” — a way to automatically bind data to a UI in the XML layout file — as the new standard for best-practice Android architecture. This method of binding data required an entire toolset of support, and instead of the clean delineation between logic and layout that existed before, now logic could live in two places, in two different languages. This made it more difficult to read, understand and maintain the code, and got worse over time.
The Data-Binding library Google created hasn’t seen an update since 2019.
The new standard today for what Google laughably calls “Modern Android Development” or MAD, is Jetpack Compose. Compose turns Android development similarly on its head, abandoning that decade-old rock-solid XML layout system for “Declarative UI”: a ground up rethinking that smashes data and ui together, violating virtually every rule of traditional front-end software development, introducing a host of new bugs and problems that don’t exist in the old system, and requiring a complete re-write of all code — and a fundamental shift in architectural design — to covert an app to use it. This schizophrenic shuffling of development techniques makes Android development a constant exercise in re-writing your app to migrate to the newest tools. It also requires navigating around each new system’s critical bugs, and re-solving all the problems Android inherently presents — since Google has never bothered to address many of the worts on the OS itself.
Other than the switch from the absolutely awful Objective-C programming language to Swift, Apple has been comfortably un-opinionated about how devs build apps, and that’s been a boon to engineers. Also, Apple had the good sense to realize at the very beginning that users would reorient their devices, and iOS handles that change beautifully. Over on Android, developers have been furiously writing orientation-change-recovery code for 12 years.
Product and Design Apathy
Here’s the real reason, though: Inevitably you’ll find this to be true in corporations: Product Owners, Designers and Executives inevitably all use iPhones. I recently overhead a Product Owner for an app that is Globally Distributed outright say “Oh… yeah, I don’t really care about Android.” Android controls over 70% of the global smartphone market, vs iOS’s paltry 28%.
But people who design and fund the construction of technology in the United States overwhelmingly use iPhones. That means they will inherently care more about that platform. It’s the one they’ll use and test on. So all the bugs in the Android version of the app they’re building will be comfortably stashed in the backlog.
Why Use an App To Read Journalism
So, we know Android apps kind of suck. But before we look at how The Atlantic’s Android app specifically fails so miserably, let’s identify the core reasons to even bother with it at all. There are two:
- Be able to read articles anywhere at anytime on your phone
- Get notified about new content
These are the only two reasons to use the app over, say, a print magazine. The app is the only medium that has both of these features, and for the record, The Atlantic’s website fails just as hard on #1 as the app, so that’s out.
How The Atlantic Fails
The Atlantic has great journalism and intriguing headlines, which is why is such a shame that they provide such trash technology for reading it.
Notifications
The Atlantic’s simple push notifications are more than enough to engage me — the title and subtitle of the articles are all it takes to draw me in.
One big problem though: They frequently don’t work. As far as I can tell, if the Atlantic isn’t already running, clicking on the notification will launch it, but not take you to the article. And this is the majority of the time on my device. This leads to the next problem:
Design
Stuff is inherently difficult to find; The main screen (titled “Today”) has one section: “Editors Picks.” It is not a list of today’s articles, it’s a list of at-most 10 articles, with no rhyme or reason to the presentation other than, ostensibly, that the editor picked them.
If you actually want to see a time-based publication history you have to go to the second tab: “Latest”. Latest goes back, at most, 3 days. So if you have a busy life, and you left a notification in your tray for a later time — it’s conceivable that the article you wanted is in neither of the first two tabs. And since the notifications don’t work — now you have to search for it. The app makes content much more difficult to find than if you had a printed copy of the magazine.
Reading Experience
Here’s another place where the app is inferior to paper. The Atlantic is long-form journalism and essays… and who has time to read 6000 words in one go? Naturally, due to the demands of modern life, you’re going to come back many times to get through that article. Here’s where The Atlantic’s Android app fires a harpoon into your metatarsis: If you did other stuff on your phone between readings, it’s not uncommon for The Atlantic app to get closed by the system. If that’s happened, not only will you lose your place in the article, but unless you’ve saved it, you’ll lose the entire article as well. You need to go re-find it, and then sort through it to find your place. Again, a print magazine doesn’t close itself, and I can mark my place in an article. Technology, fail.
What can we do?
Iterate
Google’s penchant for continuously changing Android development is unavoidable, so all we can do is iterate towards Google’s standards in a way that makes sense for our teams. That means NOT rewriting your app every two years. Instead think about creating new screens in Compose (for screens where it will actually work) and migrate existing functionality only when it makes sense to do so.
Evangelize
So first of all, not all Android apps suck. That’s an unfair generalization. But, a lot of them do, at least when compared to their iOS counterpart. As technologists that care about the products we build, it’s our responsibility to evangelize ALL the platforms we run on, and provide the business with justifications to both invest in and care about Android apps.
Sneak in Awesome Stuff
I’m not telling you to go against the product team’s wishes or to implement stuff no one asked for, but… why not animate stuff when you have an opportunity (even if it’s not in the design). Maybe go ahead and put in pressed states, even though the design team doesn’t know what they are. In short, lend your keen eye for what makes Android apps delightful and put it in there when no one is looking. That way, when they are, they notice.