FreeTubeApp / FreeTube

An Open Source YouTube app for privacy
https://freetubeapp.io/
GNU Affero General Public License v3.0
13.5k stars 838 forks source link

[Feature Request] The Wadsworth Constant #838

Closed truthinhoney closed 2 years ago

truthinhoney commented 3 years ago

Is your feature request related to a usage problem (not a bug)? Please describe. No, this feature request is not related to any bugs or usage problems.

Context In the past, there used to be a YouTube URL parameter "&wadsworth=1" which could be added to the end of a YouTube video URL to automatically enable The Wadsworth Constant. This feature has been removed from YouTube and I would like to have something similar in FreeTube.

The Wadsworth Constant is the fundamental idea that the true meaning of a video does not approach importance until a certain percentage into the content. The constant states that one can skip the first thirty percent of most videos, usually past their unnecessary introductions, while maintaining the integrity of the content.

Describe the solution you'd like to see implemented I would like to see a toggle switch in FreeTube for enabling and disabling The Wadsworth Constant. The toggle switch can be located either in the settings or in the video player toolbar itself. When enabled, the video player will automatically skip the beginning of a video. The amount skipped will can be customized, the default being 30%.

Describe alternatives you've considered Pressing the '3' key on the keyboard achieves the desired result but this solution is not automatic and requires effort. However, this does not currently work when the video player is in full-screen.

Additional context The Wadsworth Constant remains to be valid, it is a feature that will allow many users to save precious time. FreeTube already saves users time by skipping ads, why not save users even more time by allowing them to automatically skip unnecessary video content? This feature can be particularly useful if the user is watching a series where all the videos in the playlist have the same length introduction. It is similar to how Netflix has a "Skip Intro" button to automatically jump the video playback to skip the unnecessary beginning.

Thank you developers for your time and efforts.

GilgusMaximus commented 3 years ago

Hi, so this sounds like an interesting concept. This could be added as a setting. However for us something like this is not really a priority at the moment, especially when you can also use the button.

But if someone wants to implement this, we are open for PRs. A good first idea out of my mind would be to calculate 30% of the video length and then set the variable responsible for resuming the video from the last seen point to this value.

truthinhoney commented 3 years ago

I am thrilled that you find this concept to be interesting!

I firmly believe that the beginning of almost any video can be skipped because it contains no worthwhile or interesting information, especially when YouTube content creators have a monetary incentive to create longer videos to reach a minimum length to maximize revenue. In the past, only videos longer than 10 minutes were eligible for mid-roll advertisements. In August 2020, YouTube changed that minimum threshold to 8 minutes. However, many content creators are still creating unnecessary filler to stretch the length of their videos.

Maybe a simple algorithm can be developed to determine how much of the beginning is skipped based on the overall length of the video. For example:

1 minute video skips 5% 3 minute video skips 10% 5 minute video skips 15% 8 minute video skips 20% 10 minute video skips 30% 20 minute video skips 20% 30 minute video skips 15% 45 minute video skips 10% 1 hour video skips skips 5%

I am a novice programmer with minimal JavaScript experience but I can experiment and see what I can come up with. There have been a few programs already developed to implement The Wadsworth Constant but most of them relied on the defunct URL parameter.

PrestonN commented 3 years ago

There's a couple of things I see worth discussing here before any work gets started on. As Gilgus mentioned, we'd be open to a PR, though it wouldn't be a priority to incorporate it by someone within the team.

If we're always skipping the first 30% of a video, then this is fairly cut and dry. It'd be a pretty easy thing to incorporate if this is all we're doing.

If we need to skip different percentages of a video based on the time of a video, then this is still fairly simple, though it'll obviously require more work. We already do different percentages as you've noticed with our keyboard shortcuts, so we'll need to determine what works best for each length of videos. For this sake, we'd need to determine cut offs up to 24 hours of video length or possibly come up with an equation that the video length can be plugged into to determine that appropriate cut off point.

If this problem is more complicated than that, then we may need to look for outside solutions. The example is if 2 videos are both 10 minutes and this cut off point is different for each video, then it probably would end up being something that we wouldn't be able to implement. At this complexity, we would require something like Sponsorblock implementation to allow user submitted times for cut offs in each video. This would have to be a new category if I had to guess that they would have to start tracking, though once we incorporate their API, then we can take advantage of that data.

I would like for this to be determined before any potential contributor gets started. There's no rush in doing so, but I'd rather get the discussion started now before any serious work is done towards this.

truthinhoney commented 3 years ago

The Wadsworth Constant was first introduced to the internet in October 2011, before YouTube added a feature that makes the concept less relevant. Video playback speed is what I manipulate to skip through the beginning of a video. What if instead of skipping the first portion of a video entirely, we instead give the users an option to view it sped up? For instance, the initial video playback can begin at 2x speed and gradually return to 1x after reaching the 30% mark. Using this approach will eliminate the the viewer from experiencing FOMO (Fear Of Missing Out) when watching a video. The term Wadsworth Constant is also obscure and forgotten, the feature to view the beginning of a video sped up does not have to be named after it. I strongly prefer to avoid adding complexity to the project. What do you think about this?

GilgusMaximus commented 3 years ago

Every feature that is added produces additional complexity. That's the nature of code. I really like the idea of using the Sponsorblock code for this as well as PrestoN metnioned, if the sponsorblock and the introduction can be differentiated between. Then this makes it a lot easier to implement. Potentially.

ajayyy commented 3 years ago

As an update to crowd-sourcing this, SponsorBlock now has a Highlight category for this.