The Life of a Programmer


The simple things matter – examples of UX failure from Amazon Video

Good products can be hampered by relatively minor design issues. After a long period of development it’s often tempting to push something through the door despite its flaws. It is important to get to the market, but it’s also important to have user-relevant issue triage, and fix annoying things. It’s perplexing to see something like Amazon Video, which must represent a massive investment, suffer under minor UX flaws.

I apologize for the negative tone of the article. It’s just really frustrating to see this happen to products. Amazon video is not alone here. It just seems so ridiculous to spend millions developing a product then screw it up with minor UX issues.

Needless confirmation

Confirmation screens are used to double-check if an action is desired by a user. The intent is to avert doing something bad without the user knowing about it. The classic example: if I try to close my spreadsheet without having saved the contents, it seems reasonable to alert me to that.

By design these confirmations interrupt the user. They intentionally block a potentially unwanted action. Their use should be limited to only when absolutely necessary.

Simply leaving a program, or closing a document is not sufficient cause for a confirmation. If I press the “Back” button I expect to go back. Reversible actions, like going back to the overview screen from a movie, is not something that warrants a confirmation. It is a trivially reversible operation, simply press play again and the movie starts where I left off.

In modern design it’s questionable whether such “exit-path” confirmations should exist at all. A computer, or device, can shutdown due to a crash, or literally at the push of a button. My expectation of the application is to start back where I was before, whether I actively saved or not. It’s really the only user-friendly design; everything else is broken.

Long confusing click paths

When I start Amazon Video I can see an image of the series I watched recently. Quite often I can see it three times as it’s been chosen as the image for three categories. That’s a confusing choice, especially since the same type of menu appears behind all of them (or maybe not, I may not have checked all of them).

After clicking on the image I get to a menu, where I have to select the same image, where I’m then again presented with that image and a list of episodes. Here I press left to click on the title, and not play, to get into the options. Then I go up, across to languages, click, choose my language, then right, and press play.

I have to do this every single time I watch something!

I’m actually lucky to have found this click path at all. When I first went into the episode listing I didn’t realize that the left and right side of the items invoke different actions. The right side does a quick play and the left side goes into settings.

There is a myth about a three-click rule for websites: everything should be accessible from the main page with three clicks. The resolution, from users studies, is instead that everything should be clearly accessible and easy to find. However, for the most common actions, like playing a video on a video service, the click-path should be short — otherwise the product feels overly complicated.

Forgetting chosen options

Why do I need to chose my language every time I watch the show? That is a really good question. For whatever reason my choice of language is never saved. If I want to watch the next episode in a series I must choose the language again. Even if I want to continue watching the same show again later I need to select the language again.

Every setting in a program, from minor to major ones, needs to be remembered. This includes any action dialogs with options: the next time I get to this dialog I’ll assume my previous settings are there. This is how a program becomes personalized for a user.

Loading and responsiveness

In a distributed world it is often hard to deal with loading time. An application must retrieve data remotely, but meanwhile the user is waiting for something to happen. It can be a challenge to get the experience right. Nonetheless, it’s surprising how the Amazon Video app can get this so horribly wrong.

Between each screen the app needs to load data. This often means paused animations or a jerky transition. In the search menu the ability to enter characters is even blocked by this loading. It’s clear that loading is sometimes needed, but the UI must be designed around this. And it must always remain responsive. There’s never an excuse for blocking user input!

Is this excessive data loading really necessary at all though? Amazon Video seems to continually reload information it should already have. When given a list of movies, with pictures and description, surely it’s overview screen could be presented without needing to load more data? The meta-information for a movie is trivial in size compared to the image, so why isn’t it already available. Exiting movie playback and pressing play again also has this perplexing reloading. If I’ve done nothing in between why has the cache been flushed?

The key point here is this one: if your app has a lot of dynamic loading then the entire UI must be designed around this! The appropriate use of caching and preloading can significantly prevent loading delays.


Minor UX issues can often be difficult to solve from a programming perspective. Not surprisingly though, the typical user just doesn’t care about this. They perceive a minor issue and thus have trouble understanding why it is there. Especially when the competitor’s product does not have these problems.

I understand it’s extremely difficult to design and implement an intuitive responsive UI. Some issues are genuinely hard to fix, but others, such as not supporting the home button, just point to poor issue triage. For a startup with a tight budget getting the right balance can be very hard.

Amazon isn’t a startup struggling with funding though, so what happened?

Please join me on Discord to discuss, or ping me on Mastadon.

The simple things matter – examples of UX failure from Amazon Video

A Harmony of People. Code That Runs the World. And the Individual Behind the Keyboard.

Mailing List

Signup to my mailing list to get notified of each article I publish.

Recent Posts