You are likely right that I over-rotated on the "storytelling" aspect there. My curiosity about the "100 segments" stemmed from wondering if there was a deeper statistical reason for that specific granularity (e.g., optimal binning relative to average video length) versus it just being a "nice round number."
That said, I can see how dedicating two paragraphs to it felt like over-dramatizing a constant. I will try to tighten the pacing on the next one. Thanks for reading despite the irritation!
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 the aforementioned 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.
I really appreciate that you found it entertaining; that was the main goal! Same here, I'll take "fun to read" over "SEO optimized" any day of the week.
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.
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.
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 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.