[HN Gopher] Show HN: A Chrome extension to give you back control...
___________________________________________________________________
Show HN: A Chrome extension to give you back control over short-
form videos
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/
Author : darajava
Score : 84 points
Date : 2025-04-01 11:51 UTC (1 days ago)
(HTM) web link (chromewebstore.google.com)
(TXT) w3m dump (chromewebstore.google.com)
| uptown wrote:
| An answer to my wishes ...
| https://news.ycombinator.com/item?id=43398696 thank you!
| darajava wrote:
| You're welcome! I knew I couldn't be the only one.
| joshdavham wrote:
| Thanks for sharing! Also, would you mind adding a license to your
| gh repo?
| darajava wrote:
| No problem. Yes, I never thought of that! What is the practical
| benefit of having a license here and which one should I choose?
| Jitnaught_ wrote:
| Without a license your repo is technically not open-source,
| only source-available. A license says what people are allowed
| to do with the code, so if you don't add a license, they're
| not allowed to do anything.
| darajava wrote:
| That's great, I've added an MIT license.
| https://github.com/darajava/reel-
| control/commit/4d014f578b93...
| captn3m0 wrote:
| Having a license clarifies what permissions are you giving to
| someone who downloads your code. The practical benefit is
| that others can clearly contribute back or build on your work
| without any legal concerns.
|
| Something like MIT gives them permission to do anything as
| long as attribution is maintained, while avoiding
| liabilities.
|
| But there are others you can pick:
| https://choosealicense.com/
| darajava wrote:
| Thank you! MIT license added.
| https://github.com/darajava/reel-
| control/commit/4d014f578b93...
| freedomben wrote:
| Without a license, legaly nobody can do anything with the
| code. The license is essentially the way that you communicate
| what you will allow people to do with it.
|
| For a project like this, I would strongly recommend an MIT
| license. That will essentially allow people to use the code
| and modify it, contribute back to it, and otherwise
| distribute their changes.
| robgibbons wrote:
| Thanks for this. I've thought about building this exact thing
| ever since this vicious trend began.
| darajava wrote:
| My pleasure! It was fun to build and didn't take too much time
| to do the individual platforms. So, if it breaks for one then
| patching it up should be pretty quick. Please leave a review if
| it's helpful to you.
| xnx wrote:
| Nice. Does this do more than the "Show Video Controls by Default"
| extension? https://chromewebstore.google.com/detail/show-video-
| controls...
| darajava wrote:
| Yeah - that extension seems to just update <video> elements to
| have the showcontrols attribute if they're missing. Doing that
| isn't enough for insta, youtube etc because you need to mess
| with their propriatary html.
| omoikane wrote:
| For youtube shorts, replacing the "shorts" in URL with "watch"
| will give you the usual interface, for example:
|
| https://www.youtube.com/shorts/GqkmtcirwYA ->
| https://www.youtube.com/watch/GqkmtcirwYA
|
| But actually I see that seek bar is already available in youtube
| shorts. Maybe it's a recent change?
| darajava wrote:
| YouTube shorts does have its own progress bar, but it's
| proprietary and kept out of view and so it doesn't allow the
| user to tell the length of the video at a glance.
| Sohcahtoa82 wrote:
| I've noticed the seek bar is available in MOST but not ALL
| shorts. I always thought it might be an option by the video
| owner.
| darajava wrote:
| I'd say it's more likely youtube A/B testing to see if they
| can increase engagement with that bar disabled.
| ensignavenger wrote:
| Thanks for releasing it! Whats the chance of this getting shipped
| to Firefox users? A future improvement might be to add the
| ability to change the playback speed :)
| darajava wrote:
| Nice idea. Playback rate should be pretty easy to implement!
|
| I've never done a Firefox extension before but I could
| definitely give it a go.
| megadata wrote:
| And perhaps allow 3x playback speed. It's too fast for me to
| understand speech on most videos but not all. But some videos
| are so long winded that it can be tremendously helpful.
| darajava wrote:
| You actually can control playback speed! You can find this
| on the bottom right of the videos. It doesn't go to 3x
| though and you can't access it on youtube unless it's in
| fullscreen for some reason. Will try to figure that out.
| mthoms wrote:
| For anyone looking: Safari has "Stop The Madness" which has
| something similar (and much more).
| Aissen wrote:
| I wrote a set of uBo rules to do the same on TikTok. Not sure if
| they still work, but might as well publish it:
|
| tiktok.com##sharing-main-video-el:watch-
| attr(controlslist):remove-attr(controlslist)
|
| It seems a bit flakey on mobile, but it was a nice addition to
| the other enhancements. I haven't been able to make the mobile
| web as useful as the desktop web version, but didn't want to
| spend too much time on it either.
| devmtk wrote:
| Thank you for that. Helps a lot!
| darajava wrote:
| My pleasure.
| 65 wrote:
| Instant download. Works great. Perhaps on Instagram you can make
| it save the audio level when the video is muted? If I mute a
| video then scroll to the next one, the audio still plays.
| Otherwise, thanks for making this, it's something I've wanted for
| a long time.
| darajava wrote:
| Oh nice catch, I'll get onto that asap. Edit: This will be
| fixed in the next update.
| umvi wrote:
| Adding a progress bar back might cause people to just skip to the
| part they want to see instead of watching the whole thing again
| though, and I'm worried that might not be in the best interests
| of the content creator or advertisers.
| cyberax wrote:
| > I'm worried that might not be in the best interests of the
| content creator or advertisers.
|
| My heart bleeds for them.
| ackfoobar wrote:
| In other words, this remove slop creators' ability to waste a
| minute of my life with bait. How is that not a good thing?
| TeMPOraL wrote:
| _But think of the economy!_
| Zak wrote:
| That looks pretty useful. A Firefox release would be most
| appreciated.
| darajava wrote:
| Working on it, I have a lot on atm but I'll reply to comments
| in this thread requesting FF once I have it out.
| varenc wrote:
| 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=[];["disablePictureI
| nPicture","disableRemotePlayback"].forEach((o=>{e.hasAttribute(o)
| &&(t.push(o),e.removeAttribute(o))})),e.hasAttribute("controlsLis
| t")&&(i.push(...e.getAttribute("controlsList").split(/\\s+/)),e.r
| emoveAttribute("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.
| darajava wrote:
| 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.
| xeromal wrote:
| I've tried to send bookmarklets to my family and they never
| "get" them. An extension like this is perfect. Thanks for
| your work!
| haberdasher wrote:
| I've made these for TikTok/Instagram:
|
| https://chromewebstore.google.com/detail/video-scrubber-for-...
|
| https://addons.mozilla.org/en-US/firefox/addon/video-scrubbe...
|
| https://chromewebstore.google.com/detail/video-controls-for-...
|
| https://microsoftedge.microsoft.com/addons/detail/video-cont...
| megadata wrote:
| I haven't tried this out but if it works it's one the biggest
| bang for the buck I've seen on HN. Thanks!
| 4jck wrote:
| is there a way to "save" a volume for instagram/youtube? i swear
| their volume is boosted to 200% volume
| darajava wrote:
| Just finished that feature. Volume saving will be available on
| instagram in the next update (tomorrow)
| ranger_danger wrote:
| Been using this extension to turn shorts back into regular videos
| for years: https://github.com/raven0230/Remove-Youtube-Shorts
|
| That way not only do you get the seek/pause controls back, but
| other stuff like volume, comments, keyboard shortcuts etc. now
| work as usual too.
___________________________________________________________________
(page generated 2025-04-02 23:00 UTC)