←back to thread

128 points darajava | 1 comments | | HN request time: 0s | source

Hi HN! I built this little extension to prevent, in my opinion, the most offensive anti-pattern used by tech companies. That is removing the seek bar in short-form videos.

The "seek bar" is the bar at the bottom of a video that progresses as you play the video, and that you can click on or drag to skip around. Why companies ever thought it was a good idea to get rid of this I don't know, but I find it infuriating, so I decided to add it back for myself and thought others might like it too.

ReelControl adds a progress bar and seeking capabilities to videos on Instagram, YouTube Shorts, and Facebook Reels.

I do sometimes enjoy watching short-form content and I've found that with this extension enabled I can be more mindful about it and get sucked in way less. I'm also on my phone less because I tend to favor the web versions of these platforms now.

Open source--PRs and issues welcome! https://github.com/darajava/seek-anywhere/

Show context
varenc ◴[] No.43561092[source]
I have a simple bookmarklet does does something similar:

    javascript:(function(){document.querySelectorAll("video").forEach(((e,o)=>{console.log(`VideoFixer: Processing <video> #${o+1}:`,e),e.style.position="relative",e.style.zIndex="999999",e.controls=!0,e.style.pointerEvents="auto";const t=[],i=[];["disablePictureInPicture","disableRemotePlayback"].forEach((o=>{e.hasAttribute(o)&&(t.push(o),e.removeAttribute(o))})),e.hasAttribute("controlsList")&&(i.push(...e.getAttribute("controlsList").split(/\\s+/)),e.removeAttribute("controlsList")),t.length&&console.log(`VideoFixer: Removed attributes: ${t.join(", ")}`),i.length&&console.log(`VideoFixer: Removed controlsList restrictions: ${i.join(", ")}`),t.length||i.length||console.log("VideoFixer: No restrictions found to remove.")})),console.log("VideoFixer: All videos processed.");}());

It just re-enables all controls on all <video> elements and uses z-indexing to push them to the top. Works on instagram but needs to be re-ran for new video elements.
replies(3): >>43561925 #>>43566000 #>>43576676 #
darajava ◴[] No.43561925[source]
Ah that's a good idea! Similar effect to this but I guess packaging it in a chrome extension lends itself to "set it and forget it". I also have some customization options.
replies(2): >>43562329 #>>43564825 #
rendaw ◴[] No.43564825[source]
It's also a security risk though, as in someone could take it over and push a bad update at any time... I have a few extensions installed but I'm terrified of adding more, even though there are parts of my browsing experience that could be significantly improved.

I really wish there were a middle ground, like an external extension manager where you could opt into updates, with reproducible builds, changelogs, etc.

replies(2): >>43568385 #>>43576770 #
1. darajava ◴[] No.43568385{3}[source]
You could add it from source which is pretty easy to do but you lose chrome’s syncing feature.

Having said that I haven’t developed a chrome extension in years. They are so strict now. I know they can’t manually inspect each line but I do hope it helps solve the problem of extensions going rogue.