Hacker News new | past | comments | ask | show | jobs | submit login

So, this extension quality problem isn't new. Firefox's current extension API is really powerful, but really complicated and it's not really an API, it's more-so just a way to fuck around with Firefox's source code, so if Mozilla changes things then generally extensions break and need to be updated.

Because of that Mozilla has wanted to move to a different extension API for a long time, they just couldn't really afford to, because it would require breaking all extensions for good.

Now they are at the point where they do feel like breaking all extensions weighs up with the benefits. Another big factor here is the new multiprocess-architecture, which is the foundation for most of those performance improvements that you've seen, and also requires breaking all extensions. (Currently those old extensions can still be used, but Firefox will then drop back to singleprocess - another quality problem that you likely encountered.)

So, now they needed that new extension API. And instead of writing and testing a completely new API, Mozilla decided to base it off of Chrome's extension API.

Some smaller Chrome-specific APIs were left out / adjusted, but short of that and potential bugs in the implementation, Firefox is going to be compatible with Chrome extensions. (They are also adding new APIs that Chrome does not support, because they want to offer more extensibility, so it's essentially a superset of Chrome's extension API.)

For most extension developers, the only porting work is going to be to test it, work around bugs if they run into some and then upload it to addons.mozilla.org.

The more or less 1.0 release of that implementation is going to be with Firefox 57 on November 14th, which is also when the old extension API is going to be disabled. But most of this new extension API (called "WebExtensions") is already in Firefox as of today, there's just still some bugs left to be squished.

So, that's why and how you can run Chrome extensions in Firefox. It's up to the individual extension developers to port their extension.

Well, that's the normal path, which is not going to be so-so.

As I said, the porting work is often minimal. So minimal that it can almost be automated. That's why this extension can exist: https://addons.mozilla.org/en-US/firefox/addon/chrome-store-...

Assuming there's no bugs, then the only part which can't be automated is signing the extension. Haven't done it myself yet, but from what I hear, it's a matter of creating/having a Firefox Account, uploading the extension-file and then waiting for a few days or so.

So, to summarize: Firefox now supports Chrome extensions with minimal porting work necessary, meaning that lots of those will get ported over. You can try to port things on your own and if there's no bugs then it shouldn't be hard (and it's not hard to find out if there are bugs). And lots of old, unmaintained and problematic extensions will get thrown out with Firefox 57, making it much easier to find the qualitatively better ones.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: