ParticleCore / Iridium

Iridium is an extension built to improve your YouTube experience
Other
1.32k stars 139 forks source link

[Update] Iridium is now a Firefox only extension #737

Closed ParticleCore closed 4 years ago

ParticleCore commented 5 years ago

Some of you might not have noticed (insert the biggest sarcasm face here) but I haven't been able to maintain this extension for a while and this is a choice I made as a result of no longer having enough free time as I did once before.

However, I never gave up on this extension and have recently been slowly (OK, maybe EXTREMELY slowly) experimenting better ways to keep this easier for me to keep developing and maintaining and I've reached a decision that will leave a lot of users upset - me included - but it's a change that has to be done as a result of my very limited to non-existent free time.

The extension will become a Firefox webextension only in the next version, this means no more userscripts and no more Chrome extension. Not because I want to exclude those platforms, but because they lack a very important extension API that only Firefox has at the moment, that api being filterResponseData.

What this API allows is the modification of any resource before it is loaded in the user's browser. This has a huge advantage over what I've been doing so far because unlike my past methods I no longer have to rely on finding "holes" in the YouTube source code in order to manipulate the page navigation, player behavior, etc. With this API I can easily modify the source code directly in any way I desire which cuts down a lot of headache and time spent with the previous method (there were times where it would take me one month just to make one feature work again).

Unfortunately this API only exists in Firefox. Chrome never adopted it - I believe they tried but it's very buggy and has been left forgotten since their first attempt - and userscript managers would need to expand or implement this permission in their framework. I'm going to request them to implement this, I know Tampermonkey is already trialing webRequest, which the API I need is a subset of, so it might be possible in the future to extend support to userscript as well, but no promises since it depends entirely on the developers' decision.

I've been focusing on the bad news mostly so far to get those out of the way, so now is time for the good news.

I plan to jump the major version to 1 and restart the rest, so this change will be released on version 1.0.0 and I'm going to leave the major version 0 just for any-scenario sake such as backporting something to previous versions, if it ever happens.

I thought I had more to write, but I've been staring at this draft for more than 10 minutes and I can't recall anything else. I'll probably remember after posting as usual, but if that's the case I'll update this with the relevant information.

As always I am very sorry that it has been taking this long, but as I always explained I couldn't put this over my professional life unless this was a reliable source of income. I thank everyone that has been sticking around - even though the extension barely works - and more importantly to those that have been trying to help other users in this repository.

Corruptinglyneedful commented 4 years ago

There was going to be backlash regardless.

On Wed, Oct 9, 2019 at 4:30 AM Jordy V notifications@github.com wrote:

I completely understand why you are updating and taking advantage of the API rather than hooking in as you've done previously. My only suggestion is that maybe this latest version could have been released as a beta, I feel like that would have avoided a lot of the backlash.

Personally the old version has worked fine for me, so I'll stick with that until the new one is a bit more feature complete, I just wish I'd followed the project more closely so I would have seen the notice earlier.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ParticleCore/Iridium/issues/737?email_source=notifications&email_token=ACMIFZXCMENM3HNMOI3ZWKLQNWQERA5CNFSM4IVXXUK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAXIPYI#issuecomment-539920353, or mute the thread https://github.com/notifications/unsubscribe-auth/ACMIFZVOAS6J76CVZ7YBYR3QNWQERANCNFSM4IVXXUKQ .

erkinalp commented 4 years ago

@ParticleCore Can you add a "download video" button on non-premium (always present on CC licensed videos and opt-in with standard ones)? Iridium conflicts with other extensions adding such buttons.

ParticleCore commented 4 years ago

@erkinalp I don't understand what you are asking, so please open a new issue and detail better what you are trying to explain.

JordyValentine commented 4 years ago

@CorruptinglyneedfulI I agree there still would have been some backlash, but making the update optional would have meant it was say, 10% of the user base upset, rather than having 100% percent of install break and wipe their settings.

LaquedemPF-zz commented 4 years ago

Glad to see that Iridium could have a future after all that issues that were before with the popout player & people locking the addon out of the chrome store back then... Yet it caught me offguard that the addon get's recoded and that much functionality is gone. I thought at the first moment that the addon broke due some YouTube Update, and so do probably a lot of people that just want to use the addon & don't step in the material and look it up on Github. So i wonder if you might want to notify users at some way about the recode before you lose both hundreds of users & the addon´s "Featured" State in AMO? https://addons.mozilla.org/de/firefox/addon/particle-iridium/reviews/ https://addons.mozilla.org/de/firefox/addon/particle-iridium/statistics/?last=30

Edit: Just noticed your message inside the description, my bad. Let's hope the casualties in the user counts are not to big. Good luck with the recode!

ghost commented 4 years ago

@ParticleCore I recommend reverting the firefox extension to the previous version. The rebuilt code must be matured, functional, and considered stable before a proper release no matter how long it takes. Ik an extension (not to be mentioned here) that has 2 store versions one is the beta and the other is the stable build. I hope this helps you develop your extension better.

jrial commented 4 years ago

Just adding my $0.02 that this release could've been handled better. Apart from the autoplay being broken, there was nothing wrong with the previous version, which had tons of functionality.

It's great that autoplay works again, but frankly, Firefox kind of fixed that for my use case a long time ago by not playing videos opened in new, inactive tabs. On the other hand, I now lost the mini player that remains on screen while scrolling, which was the main selling point for me. Furthermore, reading the reviews, I see people complaining about the settings being wiped: downgrading to previous version doesn't bring back the blocklist people spent so much time building, and after a downgrade, the settings get reset every time the browser restarts.

This release came out of nowhere, replaced a mostly working piece of software people relied on with something utterly devoid of functionality, caused data loss, and didn't warn its users about any of this. All of this could've been avoided by simply creating a second "beta" or "preview" release and informing the users through the "extension has been updated" news page.

There's a lesson in there. I hope it's taken into account the next time you're faced with a similar choice.

Oh, well, it's done now. I guess I'll just have to wait for the features to gradually reappear. Bummer about the chrome version though, as it'll be only a matter of time until the addon becomes entirely useless on that platform thanks to Google's constant changes to the YT platform.

ParticleCore commented 4 years ago

Gonna leave this as the final say on this topic and lock the issue to prevent further repetition.

@jrial I had over 400 users reporting that most of the features of the extension were no longer working, that's 400 more than the ones that said that most of the features of the extension were still working. On my side of things most of the features were indeed not working any more and without any other way or time to ask the remaining users to confirm this I only had the information that most features were no longer working.

I could've made a beta version, I could have updated the previous version with a pending breaking change warning, all of this could've been handled differently. Which it did, twice before, and in the end it still resulted in a lot of users complaining about the changes - because most don't like changes - others complaining that it was taking too long for the release and they'd prefer to have featured releases (release with every new feature implemented) and all of that. I've done it before, with this extension and the one before it. The result? The exact same result as the one right now: users complaining.

Given the end result is still the same regardless of the release method and given that I have almost no free time to develop the extension it is only logical that I'd chose to go with the method that gives me the least work; fresh start right into stable.

Remember, at this point I still only know that most features don't work.

Then the release is out and guess what, apparently for other users most features were still working. How do I know this? Because of the users complaining about it after the fact.

I've made a few announcements in past issues informing of the situation that lead to this, I've yet to find anyone saying that most of the features were still working.

Granted GitHub issues are not the best way to reach the user base, but I had nothing to suspect that there were users with most features working as such I never had any need to reach out to other users for that feedback.

I do appreciate all the feedback even after the fact, although it is not productive, I find it the only thing it helps is for others to vent out because they were upset.

What about me? Like I said before plenty of times, I do this as a hobby for myself and share publicly for others that'd like to enjoy YouTube better. Donations are welcome, but they don't dictate the direction the extension takes, I've had users emailing me they'd pay to add features and all I reply back is that I add the features that I find to be useful and I appreciate the offering, but aside from donations the feature implementations are free and not pay-based.

I don't have a lot of free time, I do this when I find a chance and what the donations amount to is a nice pocket change at the end of the month, but it is not by any means any income that would allow me to drop my work and focus on this 100%. I'd like for that to be possible, but that's not the reality at the moment.

Users got upset about this? I already apologized. Settings got lost? There's a way to get them, but honestly that's up to the users now. In all honesty I'm just tired of hearing people complaining about this in a way that is not constructive. Especially when users recognize that they are just repeating what others already said, what's the point? That's a rhetorical question by the way.

If you (not "you you", but "general you") don't like the extension - be it at the current or previous state - then it is not doing what it was meant to do: improve user experience on YouTube. If that is the case then find another extension that will help achieve that goal better, this is not a loyalty-based extension, users should not be bound to it.

That's the lesson in here.

I'd like to end this with a more positive note: I appreciate everyone's feedback and interest in the extension, I'm glad to see it helps others as well as it does with me and I plan on adding most, if not all features from the previous version.

Also features the previous version did not have before will be implemented in this version.