An unsolicited streaming app spec
hypercritical.co
hypercritical.co
I'm looking at you Netflix, who until very recently didn't have playback speed settings but also use HTML5 videos so if you have an extension that allow you to change it but would work for a few seconds and then break the Netflix stream because they are doing something weird with it. It not a DRM Thing because it works just fine on prime video.
Also like the post said prime video please regroup all of the seasons under a single jacket, telling me to continue watching TV show x at season 1 when I've already binged through to season 3 without clicking on their jackets is a sucky UX.
The stock video player is perfectly fine, please don’t screw with it excessively!
Favorite example: you have to press "Menu" to hide the player UI while a video is playing (the native one just requires a tap on the touchpad). It'll also auto-hide after a delay (a longer delay than the native video player, of course), and once it's hidden, pressing "Menu" will instead back you out of the video.
So this leads to my favorite dance, which is:
1. Play a video
2. Notice the player UI isn't going away, and the YouTube player UI is super obnoxious and blocks half the screen, and I want to see the video
2. Press "Menu" to hide the player UI
3. Oops! right before I hit "Menu" the player UI auto-hid, and now YouTube took me back to Home (which, bafflingly, does not remember my video position, so if I just resume on the same video, it'll start at the beginning)
4. Now I have to navigate to Library > History (which _does_ remember my position) and find the video, just to keep watching from where I was.
Countless other complaints of course. The saddest thing is it just isn't getting better -- I can't remember the last functional update, it must have been years ago.
> On launch, it must be immediately obvious how to resume watching whatever the user was watching previously. This may be the most important feature outside the video player itself.
> If the user was in the middle of watching an episode of a TV show, the most prominent thing on the screen should be a way to continue that episode. If the user just finished an episode, then “resuming” means watching the next episode, and so on.
With my speculate hat on, I've hypothesized the lack of this screamingly obvious feature is a deliberate choice designed to encourage users to "discover" new shows, since I imagine that's a metric they want to increase.
I put "data driven" in scare quotes there because you can observe the immediate per-session metrics but you can't observe the annoyance or long-term frustration with the platform. Or, say, long-term fall-off of watch behavior because now you finished ONE of the things you had had in progress but forgot about the other series because the "continue watching" row isn't presented up front, you had to go dig every time.
This isn't always true. Some shows release specials that aren't linked to any season, but go between seasons. Some shows (like web serials) release in one continuous stream. Sure there are workarounds/hacky solutions to these, but assuming all shows have the exact same hierarchy is a bad assumption to make.
Now it's true that some shows aren't really designed to be serialized, e.g. for the Fate series there is a complicated mess of a graph (https://i.redd.it/6fz5fzz6sfv11.png) and most relationships will have to be encoded as "other", but since it's so messy, almost any watch order is reasonable, so there isn't much structure lost.
I’m convinced that not a single person on that team dog foods on an Apple TV at home.
I wouldn’t trust myself the app on an Apple TV around children because I wouldn’t be able to hold back my cursing when attempting to scroll a list, selecting an element, using the seekbar, or use basic functionality implemented on other platforms like “add to watch later”.
With current DRM laws this is impossible to have as a market, but hypothetically if anyone could build a player for Netflix, I wonder if Netflix's official app might not start to improve. Even more impossible scenario, but hypothetically if both Netflix and the Disney+ catalog were available from both services, the only distinguishing feature between those services would be which one had a better app and user services and recommendations and features around that content.
At least with Youtube I can use unofficial apps like NewPipe that have much better UI experiences than the official apps. Even that isn't perfect, it's hard to call NewPipe a "competitor" for Youtube's official client on Android. But the situation is still a lot better than being locked into an experience that is allowed to be bad because there's no reason for it to be good. I mean, if you're on Disney+ because your kids want to watch classic movies, how bad can the client get before you actually decide to switch? The bar to keep you on the service is probably not that high.
Maybe I'm over-cynical, but I'm somewhat surprised occasionally that these kinds of apps are even as good as they are given that (as far as I can tell) the primary competition between services is mostly just content.
Or "Falsehoods programmers believe about streaming apps"
I cannot conceive of any reason for dropping these features which they already implemented except a petulant desire to maintain full control of the user experience rather than ceding anything to the platform conventions. Well, I bought a Roku because I like the platform conventions. Since Netflix seems intent on pissing in my cheerios I'll happily be pirating what little interesting content they put out in the future, so I can watch it in Plex where things work as they should.
I mean, I've seen this happen where developers legitimately want to fix little annoyances in the UI, but they can't. I think the reason why is a combination of two things. First, a mature product has to handle a ton of different scenarios making it a major PITA to change anything. If it's not a quick fix, it has to go trough the normal product process which brings me to the second reason - the product managers don't get evaluated based on how usable something is, rather it's some sort of an engagement metric. As long as the watched minutes go up, nobody cares if people are throwing their remotes in rage. So this is on product leadership, but maybe they just need better metrics, like a rage button on the remote.
Some clicking / tapping controls should be available in the video player without first clicking / tapping to make the controls appear. C/t in the center should play / pause. Generally on the left and right sides should go back / forward by n seconds.
After a commercial break, seeking back to re-watch what happened before the break, or back to catch what you missed right after the break, should not force re-watching of the commercials. Hulu is horrible about this.
Edit: Also, allow seeking backwards in commercials!! Some commercials are interesting in some way. Why on earth would you prevent customers from watching more commercial time?
1. This is mostly personal preference, but the way to resume previously playing media could be more obvious on startup
2. I'm unsure if it supports the "still frame" feature the author wants as I've never tried to do this
3. It doesn't really support lists, but arguably the media the user chooses to put on a Jellyfin server effectively acts as a list
I mean, sure, they’d probably prefer you watch an original property they have more control over than something with a costly license, but overall the primary concern is keeping usage levels up and cancellations down.
I'd add: Figure out a way to detect that I'm doing a re-watch of a series and do something with the progress bar on episode previews to reflect that. So if I've watched all of a series/season and then watch episodes 1, 2 and 3, maybe the progress bar on episodes 4+ reset themselves to an unwatched state or have some kind of greyed-out tint to show where I left off this time around.
It somehow lacked an easy way to jump back to the last episode you were on. You had to dig it up anew. And then if you looked up a TV series and wanted to pick a season, they were somehow out of order. Like, what? How do you get those two things wrong?
> Skip to the beginning or the end of the video.
What critical use does skipping to the end of a video have?
As a concrete example, I frequently find Funimation's app recommends I "continue watching" an episode that I'd consider already completed, and unfortunately the quickest way to "fix" instead of backing back out and browsing around is to frantically scrub through to the end so it auto-plays to the next episode.
And: Don't make the scrub bar so small that you have to find a small child to click on it for you as your fat fingers can never select it.
It is hard to change an app. It is actually easier to change other aspects of life by writing an intentional spec.