27
Show HN: Reversing YouTube’s “Most Replayed” Graph
Hi HN,
I recently noticed a recurring visual artifact in the "Most Replayed" heatmap on the YouTube player. The highest peaks were always surrounded by two dips. I got curious about why they were there, so I decided to reverse engineer the feature to find out.
This post documents the deep dive. It starts with a system design recreation, reverse engineering the rendering code, and ends with the mathematics.
This is also my first attempt at writing an interactive article. I would love to hear your thoughts on the investigation and the format.
I found this article pretty interesting because ultimately it didn't cover a lot of ground, but instead examined the ground with a microscope. I was expecting it to be some really complex system youtube was using—and an even more complex attempt to r/e—but really it was mostly intuitive solutions. YET with that being said it was a really enjoyable read because of how in depth everything was covered. I think this article presents a very strong teaching tool, as the best lessons are taught with a strong motivating example to ground in. Kudos to the author. Reminds me a bit of Josh Comeau though arguably better in some regards.
Thank you for reading and for the kind words!
It’s often surprising how "intuitive" or elegant solutions can seem once you peel back the layers, isn't it? That simplicity is part of the beauty of good engineering!
I actually wasn't familiar with Josh Comeau’s work before this, but I just looked him up and... wow. To be mentioned in the same breath (let alone "arguably better") is a massive compliment. I’ll definitely be diving into his archives now.
I mean Josh's site is undeniably more visually polished as a merit to him. His site is definitely more SEO optimized, by covering a technical topic generally instead of multiple topics surrounding a single problem. But this SEO strategy is to the detriment of the enjoyability, at least for me. If I was seeking documentation, I'd be happy to see Josh's work, but for entertainment I wouldn't read that but I would read this.
Great article! I've always wondered how youtube implemented it. Love the interactive canvases too. But maybe it's just me, the canvases look blurry?
Rendering bezier curves on the client side seems reasonable. Calculating ~400 points and rendering 100 curves would not impact performance, but I wonder if these little interactions would impact performance if added up.
About YouTube's comment about Gangnam Style, it wasn't a tweet. You can't find the original post because it was google+, which is dead. Google said it was a joke shortly afterwards: https://www.cnet.com/tech/services-and-software/gangnam-styl...
Thanks for reading and for the kind words!
Re: Blurry canvases: You are spotting the classic HTML5 Canvas high-DPI issue. It happens because the canvas backing store pixels don't map 1:1 to CSS pixels on high-density displays (like Retina screens). I likely need to scale the canvas drawing context by window.devicePixelRatio to fix that sharpness. Good catch. EDIT: Made the change.
Re: Performance: That is an interesting thought. Since the calculation only triggers when you visit (or resize) the video player, there is definitely a CPU spike. My guess is they chose this approach to have a "plug and play" rendering logic that adapts perfectly to the client's specific device width and pixel density, rather than generating thousands of static image variations on the server.
Re: Gangnam Style: Ah, Google+! That explains why I couldn't find the original source. Thanks for the correction. EDIT: Added the correction.
> We are living in the era of the “Bouba” effect.
Is this an invented bit of humor ... or an existing usage applied to the prevalence of rounded corners we see (once again) in User Interfaces of today?
(The original term has nothing to do with web design or UI per se)
https://en.wikipedia.org/wiki/Bouba/kiki_effect
Edit: i see the article goes on to explain the term in context.
But I feel the sharp corners versus round corners is a design/fad cycle that will keep repeating.
We will see sharp corners once again in vogue within the next decade if not sooner.
It will start small with one or two players wanting to distinguish their offering from the crowd, and one of them seeing success, and others copying them slowly at first and then it catches on.
It was definitely a bit of invented humor! I wanted a sticky way to describe that universal drift toward "friendliness" and safety in modern UI.
You are spot on about the cycle, though. I suspect that once everything is perfectly round and polished, the only way to stand out will be to go sharp again.