There are many situations where I want to clear an episode from Up Next, but want to keep seeing new episodes show up as they are released. So hiding the whole show is not something I want to do. In fact, I don’t want to hide anything. I just want to clear it from the queue without ticking the watch counter or adding to the time spent watching.
An immediate example is QI. At the end of each season, they air a few compilation “best of” episodes. I never watch them, and because of that they are always waiting as the next episodes in Up Next. I can manually keep an eye on the calendar for new episodes, otherwise I won’t see them hiding behind the ones I don’t want to watch - which will continue to stare me in the face.
In this mockup, I repurposed the rewind badge to denote episodes that got skipped. The idea is to leave the watch button where it is so you can mark it as watched at any time. Once you do watch an episode, the skip tag is cleared in the system and that episode is treated like normal.
Or maybe the check icon can be turned into a fast forward icon, but clicking it would still offer the option to mark as watched. And, while an episode is skipped, hovering over the icon (wherever it is) tells you when the skip was applied (que second crude mockup):
This would be very useful for news and anthology programs where it’s okay to skip around and ignore certain episodes. But even outside of that I imagine most people have a list of episodes that they avoid watching for whatever reason.
Yes, I am aware that this feature has been requested before. Many times. But that’s pretty telling, I think. And the only official response that has ever been given is ‘That option doesn’t exist.’, without any reason as to why it doesn’t exist or why it wouldn’t be possible to implement. It’s clear that this is something people have been wanting for a long time. I hope this feature can be added, it would make keeping one’s que clean a whole lot easier.
It’s a good idea. The reason it doesn’t exist is for performance reasons. If a lot of episodes are hidden, it would be a lot more data to save and apply throughout the website and apps. It’s been a while since I looked into it, but that was my conclusion.
Most people won’t ignore thousands of episodes, but some people will. It’s a similar problem we had with lists where some people were adding 500,000 items to a single list.
That possibility was in the back of my head. But you could have it so episodes of a given show or season can’t be skipped until there is at least one watch somewhere in it. If nothing has been watched, nothing needs to be skipped.
You figured out how to keep lists from overburdening the site, I’m sure you could do the same with skips.
I’m curious how your code reads the database if the accumulation of a certain tag would eventually grind the site to a halt. How do you handle plays? Or ratings? Those are per-episode tags that, by design, are going to continue to pile up with no end in sight. Use whatever method you track those with to track skips.
The idea is to simultaneously clear an episode from a user’s queue without adding a watch to the user’s watch count or that episode’s runtime to the user’s total time spent watching. A modified version of the function that marks something as watched by another name with some of the attribute tags flipped.
As a person that watches wrestling, there are episodes that I not only won’t ever watch but likely wouldn’t be able to find them even if I wanted to. I ended up just marking them all as watched to get rid of them but I really did miss the option to just mark it as skipped.
As for performance, “skipped” could just be made equivalent to being a kind of “queue state”. As AeronMelon suggested above, you can only skip episodes in the “Up Next” queue. I’m not sure what it all looks like under the hood, but surely it could be made equivalent to “watched”.
Another suggestion is compression. If there are two states: watched and skipped, perhaps storing a long string of watched like “S01E01-S10E07:watched”, “S10E08-S10E22:skipped”, “S11E01:watched”. Then to find the correct state, you just check the range or something? Or maybe if it was a tree-like structure? Either way, compressing them might be a viable solution?