3 ms·
The fundamental problem with the legacy Firefox extension API is that its incredible power comes from putting incredible constraints on Firefox internals. Every
by jaas 9y ago
The fundamental problem with the legacy Firefox extension API is that its incredible power comes from putting incredible constraints on Firefox internals. Every stable API commitment involves some constraints, but the constraints from legacy Firefox extensions were out of control. They were killing the browser.
The "legacy" Firefox extension API is powerful because it reaches its tentacles into every corner of the internals of the browser. Keeping that API stable involves freezing a large amount of internal architecture and behavior.
Firefox needs to evolve if it's going to live, and it can't evolve in the ways that it needs to if so much of its internals are effectively frozen. It's a painful drag on development, slowing things down and preventing necessary changes.
I'm not even going to get into the problems with the API itself except to say that it had many, including widespread dependencies on synchronous behavior.
Mozilla's sacred-cow-level commitment to preserving legacy extension support is a big reason why Chrome beat Firefox on so many technical levels for so long. It ate up a ton of developer time, held off or killed critical architectural changes, was the cause of a lot of crashes, hangs, memory leaks, security problems... Thank goodness that's about to be over.
I'm sorry that you'll miss it but this is a really important step. Mozilla is doing a great job with WebExtensions, I suspect you'll be happy with how things shake out in the end.
- frik 9y agoIncredible short sighted decisions on Mozilla side, destroying their legacy plugin & addon platform. It's like Microsoft would switch off WinAPI support and kill thereby their platform. Firefox is all about "legacy API", Windows is all about "legacy API (WinAPI)" - almost no one gives a shit about WebExtension or UWP, there is no advantage over better competition Chrome / iOS or Android. Good luck with that. Wouldn't it be better to offer a legacy addon API shim - old addons would still work even on new Firefox.
- nindalf 9y agoI don't see how it's short sighted. Long time Firefox user here and the extensions I depend upon Just Work (TM). The few remaining ones like NoScript are being worked on. I find it absurd when users of a handful of extensions claim "it's all thanks to us that you're successful, you'd better keep our sacred cow alive or we'll make everyone switch to Chrome". Here's the thing, I'm a power user too, and in the past I've installed modern browsers for friends and family who didn't know better. But by now, most of these casual users use Chrome because it's fast. The way to appeal to these users is to make a browser that's lighter and faster. That's how I can make a pitch to my friends to use Firefox again - "hey why don't you just use the browser that loads quicker and uses less memory?" That's something they'll listen to, rather than "hey why don't you use this incredibly modifiable browser that allows you to disable JS if you want to?" Look, I get it. You have your extensions and you don't want to see them go away. But you're a tiny niche and even other power users don't use these extensions that you find essential. Certainly the vast majority of users rarely install extensions at all. Mozilla is doing the right thing and an entire thread praising the performance of the latest version vindicates their approach.
- frik 9y agoWhy not just give the NEW browser that is incompatible but faster a different brand name? Why is the NEW browser not based on Servo? The potential new users don't know Firefox anyway, and the current user that still use Firefox despite Firefox-tech-standstill for like 5 years (multi-process is coming next year, we promise) are power user who customized it heavily (and deactivated phone-home/telemetry). Microsoft made the same mistake, same rabbit hole. Where is the next Servo based browser? Instead of refactoring the 20year old mess (with COM and XML), the should focus 99% on Rust and Servo, and finally release a stable build with a lightweight HTML5 UI (Vivaldi).
- nindalf 9y ago> Why not Well, you answered your own question. Clearly they have a userbase that will stay with them out of inertia or loyalty. These users can now benefit from the improvements in the latest release. If they released a new browser, few people if any would try it out because of inertia. The lack of users would kill the product pretty quickly. Of course, some users who rely on old addons will be left behind, but they have the option to use Firefox Extended Support Release, which will get security updates. Eventually the extensions situation will sort itself out and these few users can move to the main release.
- kibwen 9y ago> Where is the next Servo based browser? That's Firefox. Many of the components in Firefox 57 are taken from Servo.