YTLitePlus icon indicating copy to clipboard operation
YTLitePlus copied to clipboard

[TODO] YTLitePlus Cleanup: Remove Duplicate Features, Update README.md and Website

Open Balackburn opened this issue 1 year ago • 34 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues

Do you use YouTube Premium?

❌ No, I don't use YouTube Premium

My feature request

YTLitePlus Cleanup: Remove Duplicate Features, Update README.md and Website

Over time a lot of features have been added to YTLite which means that some tweaks were no longer necessary, most have been removed but it seems to me that there are still duplicate functions between YT Plus and YTLitePlus.

Tasks:

  1. Feature cleanup: • Check all features and delete anything that's unnecessary or duplicated • Duplicate example : In the next version of YTLite(Plus) (5.0) there will be sponsorblock integrated, so iSponsorBlock will not be needed anymore • Unecessary example: LowContrastMode is useless as it doesn't work with current versions of Youtube, I don't see the need to keep it in YTLitePlus

  2. Documentation update: • The README.md list of features and the one on the github pages site are out of date • Make a clearer, up-to-date list with better description for YTLite(Plus) and remove all the tweaks that aren't in YTLitePlus anymore • Edit the screenshots with new features (YTLite download fonction), rewrite outdated parts (ReExplore & UnShorts) • Update the credits with all the missing contributors

@arichornloverALT @bhackel, I was thinking it would be cool to set up a project in GitHub's projects section we could use it to keep tabs on issues, feature requests, and to-do lists. What do you guys think?

Additional context

No response

Balackburn avatar Aug 11 '24 10:08 Balackburn

Hey lots of good ideas here, and I generally share the same sentiment. 1a. I’ve already removed a lot of duplicates. I mentioned this in another post, but there are actually very few or zero duplicates at the moment. Most of them are settings for features in YouTube that are very similar, which is why they might feel like duplicates. 1b. I think the issue is not that there are duplicates, but that it’s really hard to understand what the settings are doing. For example, with suggested videos, there are many places for them with different names, and it is confusing which setting does what. Therefore, this is also a documentation issue. 1c. I think we may want to keep iSponsorBlock included but set it to default disabled. Then people have a choice for what sponsor block they want to use 1d. LowContrastMode specifically I think we can keep, but it should be updated. However, I think we can start removing any other old or completely broken settings. 2a. It may be beneficial to keep the features list in one place, that way it would be easier to maintain. Maybe prioritize the website since it can look nicer. So then the readme.md is more of a link to info on the website. 2b. I think a long term goal would be a page detailing what each setting does. I heard that revanced has something like that. Since it is non-technical, community members can help contribute. 2c. New screenshots sounds good. 2d. Contributors list sounds good. 2e. Continuing off of 2b: Add a link from the YTLitePlus settings section to view the feature documentation page. A beautiful feature would be a long press on any setting to open a page that shows what that setting does. 3. I am open to using github projects. I have used it briefly before, and I think it would be cool to show employers in the future. It may be excessive for the scale of this project though. I am currently using the Assign feature in the Issues tab. 4. I would like to work on a tweak development guide specifically for YouTube

bhackel avatar Aug 11 '24 11:08 bhackel

1a. I think YTHoldForSpeed is duplicated with the Hold to Speed feature of YTLite.

Balackburn avatar Aug 11 '24 22:08 Balackburn

YTHoldForSpeed is similar, but the gesture toggles the speed instead of changing while keeping held down. Some users might prefer this. Also it has a bit more customization.

bhackel avatar Aug 11 '24 23:08 bhackel

I like the idea of a nice website - I also lack any front end experience, but I could ask around on the uYouEnhanced telegram group if anyone knows

bhackel avatar Aug 12 '24 19:08 bhackel

I like the idea of a nice website - I also lack any front end experience, but I could ask around on the uYouEnhanced telegram group if anyone knows

Also I think their should be a credit section in YTLitePlus, like YTLite does Screenshot 2024-08-14 at 04 40 55 Screenshot 2024-08-14 at 04 40 20

Balackburn avatar Aug 14 '24 02:08 Balackburn

I like the idea of a nice website - I also lack any front end experience, but I could ask around on the uYouEnhanced telegram group if anyone knows

Also I think their should be a credit section in YTLitePlus, like YTLite does Screenshot 2024-08-14 at 04 40 55 Screenshot 2024-08-14 at 04 40 20

In uYouEnhanced I technically have a Credits button in the tweak but it looks like this below. But may revamp it and actually include the Credits section.

    YTSettingsSectionItem *developers = [%c(YTSettingsSectionItem)
        itemWithTitle:LOC(@"SUPPORT_THE_DEVELOPERS")
        titleDescription:LOC(@"MiRO92, PoomSmart, level3tjg, BandarHL, julioverne & Galactic-dev")
        accessibilityIdentifier:nil
        detailTextBlock:^NSString *() {
            return nil;
        }
        selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
            return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/arichornloverALT/uYouEnhanced/blob/main/README.md#support-the-developers"]];
        }
    ];
    [sectionItems addObject:developers];

aricloverEXTRA avatar Aug 14 '24 02:08 aricloverEXTRA

Hey I have come around to the idea of removing duplicate tweaks like YTHoldForSpeed and iSponsorBlock in favor of the YouTube Plus implementations. Then if people want the tweaks back, we can add them back.

bhackel avatar Aug 19 '24 07:08 bhackel

@bhackel I agree with you

Balackburn avatar Aug 19 '24 07:08 Balackburn

I agree aswell.

aricloverEXTRA avatar Aug 19 '24 21:08 aricloverEXTRA

@bhackel

Here some duplicate, and they are more with 5.0

. Hide Cast Button:

  • YTLite: "RemoveCast" = "Hide Cast button";
  • YTLitePlus: "HIDE_CAST_BUTTON" = "Hide Cast button";

Enable YouTube Startup Animation:

  • YTLite: "StartupAnimation" = "Startup animation";
  • YTLitePlus: "ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";

Oled Theme (Dark mode):

  • YTLite: "OledTheme" = "Oled theme";
  • YTLitePlus: "OLED_DARK_THEME" = "OLED dark theme"; (it's just the localization strings but they are still their)

Hide Modern Interface:

  • YTLite: "OldYTUI" = "Old UI";
  • YTLitePlus: "HIDE_MODERN_INTERFACE" = "Hide Modern Interface (YTNoModernUI)";

Hide Comment Previews Under Player:

  • YTLite: "NoRelatedWatchNexts" = "Hide all videos under player";
  • YTLitePlus: "HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";

For 5.0 you can enable ipad / iphone layout so that will be duplicate too, I think they are strings leftover too for the localizations

Balackburn avatar Aug 19 '24 21:08 Balackburn

👍 Looks good, I think we can make a lot of major changes after v5 is released publicly. Two things though

  1. The cast button hiding is in different places. The one in YTLite is in the navigation bar (home page at the top), whereas the YTLitePlus one is in the video player
  2. The YTLite NoRelatedWatchNexts is not hiding the comments tag. However, YTLite does have a feature to hide the comment box. However this feature is different than YTLitePlus's feature, which is to hide the comment teaser that appears in the comment box. So they sound similar, but are not the same.

I also just added an MIT license to the project since we did not have one I think.

bhackel avatar Aug 19 '24 21:08 bhackel

For the hide cast button maybe we should change the localization from Hide Cast button to Hide Cast button from the video player.

Thank you for the license (and all the work you put on this project)

Balackburn avatar Aug 19 '24 21:08 Balackburn

Per #316, its actually broken at the moment - Might want to remove it, and then once we have a working implementation, then it can be readded

Yep no problem, development has been very fun

bhackel avatar Aug 19 '24 21:08 bhackel

Hide Modern Interface:

  • YTLite: "OldYTUI" = "Old UI";
  • YTLitePlus: "HIDE_MODERN_INTERFACE" = "Hide Modern Interface (YTNoModernUI)";

I don’t think these are the same, maybe keep this one, but other then that it looks good like bhackel said. 👍

aricloverEXTRA avatar Aug 19 '24 22:08 aricloverEXTRA

Yeah I think it would be a good idea to get some documentation about what each feature does - then it would be easier to tell which ones are duplicates. This would be a good amount of work to make though.

bhackel avatar Aug 19 '24 22:08 bhackel

Another duplicate feature: YouRememberCaption is built in to YTLitePlus with no setting. YouTube Plus/YTLite also has this feature, and v5 has a even more expansive version of it with default caption settings.

bhackel avatar Aug 21 '24 01:08 bhackel

@dora727 mentions that YouTube Plus/YTLite v5 contains a setting for the big miniplayer, which is a duplicate of an existing setting in YTLite

bhackel avatar Aug 21 '24 01:08 bhackel

@bhackel @arichornloverALT I don't know if you've seen dayanch96's opinion on this project: https://www.reddit.com/r/sideloaded/comments/1et741n/comment/liebmqq/

Balackburn avatar Aug 25 '24 00:08 Balackburn

it's fine, it's Dayanch96's own opinion about YTLitePlus and it shouldn't really affect the project but the good thing is that there has been a lot of progress on removing the duplicates in this repository so it should be alright but overall Dayanch96 is right.

aricloverEXTRA avatar Aug 25 '24 01:08 aricloverEXTRA

Yeah I have seen a bit of the sentiment around recently. I think that his feelings do make sense though - He has been working hard on improving YouTube Plus, and YTLitePlus is definitely benefitting from those changes. I am not sure about specific usage numbers, but I would guess that more people download YTLitePlus instead of YouTube Plus because of the historic ability to easily sideload YTLitePlus, since it already includes sponsorblock, youpip, ytuhd, etc, and it is able to be built as an iPA very easily. With his additions in v5 of a new sponsorblock, and I assume PiP or other features, the purpose of YTLitePlus makes less sense, since these other tweaks do not need to be injected. Additionally, now that he is releasing pre-built iPAs, that also cancels out another role that YTLitePlus served. Therefore, the main thing keeping YTLitePlus as a leader is historic branding, which will diminish over time.

The argument to download YouTube Plus directly was not always valid however, and it's easy to see in the original tweak name - YTLite. It was intended to be a lightweight tweak with some, but not all, features. Then, YTLitePlus acted as a way to get an iPA built from YTLite, with other tweaks, for sideloading. With the shift towards YouTube Plus, this is no longer applicable. The comment about "duplicated features" in YTLitePlus and YouTube Plus is only applicable today because he has worked very hard to add features that used to exist in YTLitePlus and previously not in YTLite.

My concern for YouTube Plus in the future is that Dan will move on and leave the project behind. This is especially possible given that jailbreak devs don't seem to last more than a few years from what I have seen. The original advantage of YTLitePlus was the modularity in the tweaks. It used to be the case that all tweaks in YTLitePlus were open source. Having open source tweaks has mixed benefits, but it allows new developers to come in and repair a project after the original dev has left. An example of trouble was uYou, which was left closed-source and barely maintainable in uYouEnhanced/uYouPlus. Given that YouTube Plus is now closed source, and the License on the old YTLite code was removed, signals that Dan does not plan to open-source the tweak for now. It is possible that it becomes open in the future though, which would be beneficial for other developers because he has clearly done some very impressive research in the innerworkings of the YouTube app.

The use of "I don’t mean to offend anyone" and "It’s not my place to judge" and "they might still be learning" and "personally, I wouldn’t use something like that" shows that he does not respect the current position of YTLitePlus, which makes sense given my ramble above. Then, what should we do with YTLitePlus to find a place where it fits?

One potential option I see is allowing all tweak suggestions, and attempt implementations, no matter how small they are. This is already something that we are doing, and matches the role that uYouEnhanced served over uYouPlus. This position also makes sense given that Dan is not interested in developing tweaks that clutter the settings of YouTube Plus, as he brands it towards a clean, minimal solution. We could brand YTLitePlus as a kitchen-sink app, with all tweaks. This is also my reasoning for keeping the old iSponsorBlock. Additionally, this would brand the app towards a sense of community. A tweak idea that I have had for a while is something called Presets, where people can share and vote for settings that they like, and a single button press in the app can apply these settings. These types of community-oriented decisions would improve the appeal of YTLitePlus. Other ideas that we have already discussed are a website with feature descriptions, and a "development guide" to encourage new developers to learn how to develop YouTube tweaks.

As an aside, currently the only major open-source YouTube tweak is YouTube-X by PoomSmart. uYou is closed source, YTKillerPlus is closed source, YouTube Reborn was open-source briefly, but is no longer visible, and YTLite went closed source.

bhackel avatar Aug 25 '24 01:08 bhackel

I've been thinking about potential ways to write the "feature description" web pages. I think it would be advantageous to use a simple format like Markdown that we deploy using GitHub pages

Here is an example from revanced for reference: https://kazimmt.github.io/rv-features/youtube/

bhackel avatar Aug 26 '24 07:08 bhackel

Actually we can use a tool like this

https://blowfish.page/samples/

bhackel avatar Aug 26 '24 07:08 bhackel

YTLitePlus 5 is out

Stephan-87 avatar Sep 01 '24 15:09 Stephan-87

@bhackel @arichornloverALT Could you do the release for 5.0v I can't test it myself as my phone is broken.

Balackburn avatar Sep 01 '24 16:09 Balackburn

I built an iPA and it needs a bit of work. Dan added the incompatible tweaks popup, so I will remove iSponsorBlock. Will handle it soon. Sorry about your phone, that is not fun.

bhackel avatar Sep 01 '24 17:09 bhackel

I built an iPA and it needs a bit of work. Dan added the incompatible tweaks popup, so I will remove iSponsorBlock. Will handle it soon. Sorry about your phone, that is not fun.

Hi, How can i built an IPA with DEB can you share the steps

Stephan-87 avatar Sep 01 '24 18:09 Stephan-87

Hi, How can i built an IPA with DEB can you share the steps

Hey, new builds using the normal building method do not need the .deb to build. A release will be coming shortly after we have removed any duplicate tweaks.

bhackel avatar Sep 01 '24 19:09 bhackel

IMG_2623

naolad avatar Sep 07 '24 12:09 naolad

👍 Developer’s choice. I’ll be stepping back from development for a bit, thanks everyone

bhackel avatar Sep 07 '24 17:09 bhackel

👍 Developer’s choice. I’ll be stepping back from development for a bit, thanks everyone

I understand, thank you for your contributions.

Balackburn avatar Sep 07 '24 20:09 Balackburn