Story 2015-08-24 J940 Firefox aims to simplify cross-browser Extension development

Firefox aims to simplify cross-browser Extension development

in code on (#J940)
Mozilla has been rethinking its add-on architecture for browser extensions, and has just made an announcement that may have profound implications for developers and browser users everywhere:

"Mozilla today announced major changes to how Firefox will implement add-ons going forward. The most important of these is the adoption of a new extension API that will be largely compatible with the one currently in use by Blink-based browsers like Chrome and Opera. This so-called WebExtensions API will ensure that developers will only have to make a few small changes to their code for their add-on to run on Firefox.

“We would like add-on development to be more like Web development: the same code should run in multiple browsers according to behavior set by standards, with comprehensive documentation available from multiple vendors,”Mozilla’s Kev Needham writes in today’s announcement. "

Not everyone is happy about it. The developer of the popular DownThemAll browser extension has proclaimed this move to be the end of his extension, and potentially many others. He says,
Gone with DownThemAll! will be add-ons that e.g. let you change major bits about the Firefox user interface (e.g. tabs tree add-ons), add-ons that allow you to do more “advanced” stuff than just showing or slightly altering websites, such as e.g. restarting the browser upon click (unless mozilla kindly provides an API for that, which won’t be compatible with Chrome, of course). Add-ons like NoScript will be severely limited in their feature set as well. Say byebye to Greasemonkey and hello to Tampermonkey, with it’s limitations. Want that add-on that lets you change the new tab page for something else or enhances that page? Maybe it will be available, maybe not, depending on if and when mozilla kindly provides WebExtensions APIs for such things. And of course, depending on if there will be an author creating this entirely new add-on from scratch.

What this also means: Almost all your existing add-ons will be broken, entirely, save for some Add-on SDK add-ons, namely those that don’t do anything fancy. Sure, even today, lots of add-ons break, and some add-ons will not get updated when they do and there are no suitable replacements. However, with this change, almost every add-on will be completely broken and in need of major updating by the extension authors. Good luck with that.
Reply 14 comments

Goodbye Firefox and thanks (Score: 2, Interesting)

by on 2015-08-24 12:42 (#J9SA)

It was a good ride. You got us out and away from the hell that was IE6. The war was won. At least, escalated to the next level. Edge hasn't a hope in hell. Chrome is okay but not a worthy successor. Palemoon, your bright daughter, is growing up fast. More browsers will come, inspired by the light of hope you lit. Goodbye. So long. You will be missed. We await the day they turn your life support off. Once our shining hope for the future, we will remember you fondly for all you stood for and achieved. Farewell.

Re: Goodbye Firefox and thanks (Score: 2, Insightful)

by on 2015-08-24 13:15 (#J9VY)

Hmmm. You are quite courteous. I'd add, bitterly, "you showed us that any open source project, once sufficiently addicted to money, can drive the car right off the cliff." Mozilla was more fun when they were broke and staffed by struggling but passionate advocates for an open web. Once they got drunk on Google money, staffed up on all sorts of overhead, management, and non-technical (parasitic) staff, things started to go down hill.

Putting my hopes on Vivaldi at the moment, as a longtime Opera advocate who only moved to FF reluctantly when Opera's new team screwed the ole pooch sometime after v12. Vivaldi is a return to the roots. The only thing I'll miss as I ditch Firefox is the "it's all text" extension and the Overbite extension that allows me to use gopher.

In my opinion, Firefox has been a pile of fail slowly circling the drain for the last few years - five maybe? Maybe more? But I'm no fan of Chrome, either.

Re: Goodbye Firefox and thanks (Score: 1)

by on 2015-08-24 13:40 (#J9YZ)

I would love to see Firefox forked into an Opera v12 clone. I agree, money corrupts... lots of money..

When they're all the same . . . (Score: 2, Insightful)

by Anonymous Coward on 2015-08-24 13:21 (#J9Y2)

The more Firefox is the same as all the other browsers the less reason there will be to use Firefox specifically. I use certain plugins that are essential for my browsing requirements and work-flow. Many of these will likely cease to exist:

* Adblock Plus
* DownThemAll!
* Firemacs
* It's All Text!
* NoScript
* ProfileSwitcher
* Session Manager
* Grease Monkey

While it will be nice to have more supported and up-to-date plug-ins, I believe that the cost is too high for the value gained - especially since most plug-ins for the masses that this will facilitate aren't plug-ins that are desirable unless you're one of the sheep.

Re: When they're all the same . . . (Score: 3, Interesting)

by on 2015-08-24 18:02 (#JAS3)

I couldn't live with a browser that didn't have NoScript. The uMatrix extension for Chrome looks promising, but it is quite a bit harder to use than the simple Firefox+NoScript combination.

Re: When they're all the same . . . (Score: 1)

by on 2015-08-25 03:22 (#JBZW)

I barely use Firefox or one of its forks without first installing Adblock Plus, NoScript, RequestPolicy, Cookie Monster, and HTTPS Everywhere. The loss of any of these would make me reconsider updating to a version where these were broken. I have also recently been happy with customizing the Firefox UI with Stylish and with the additional features provided by HackTheWeb and Vimperator. While alternatives may exist in the Chrome world, switching away from Firefox to retain already present functionality seems irritating at best.

Re: When they're all the same . . . (Score: 0)

by Anonymous Coward on 2015-08-25 23:03 (#JEXW)

Consider using Ghostery as part of that base.

Re: When they're all the same . . . (Score: 0)

by Anonymous Coward on 2015-08-26 14:36 (#JGYV)

While I hope that firefox remains a bastion of experimentation, there is also vivaldi now. Which is carrying the opera torch for crazy UI experiments. And really most of the best browser UI ideas started with opera.

Re: When they're all the same . . . (Score: 2, Interesting)

by on 2015-08-26 21:17 (#JJ3R)

And really most of the best browser UI ideas started with opera.
Opera had some good ideas, but they usually managed to do them entirely the wrong way. Meanwhile, Firefox might have borrowed some rough concepts, but they fixed them in the process, so they were actually useful. Look back to when Firefox added tabbed browsing, and shortly after, Opera soon after added a second, entirely different method of tabs you could choose to use instead...

Some goes for the notification bar. It was taken from IE, but it didn't do much of anything useful there. After that, IE copied back the improved design from Firefox.

Unfortunately, their more recent changes (wholesale copying Chrome's UI) have been downhill all the way.

Plus, after Google banished all ad-blockers from the Play Store, Firefox became the only Android browser to take a stand and keep their ad blocking features, while all others cowered and dropped the feature. Ironically, mobile is where ad blocking is the most beneficial, and now it's the hardest place to do it. It's also one of just a few that allow you to change the built-in search engine to something other than Google.

Re: When they're all the same . . . (Score: 1)

by on 2015-08-27 17:18 (#JMYM)

I'm not sure I agree with you. As I remember it, Opera had tabbed browsing since the earliest days I used it, maybe 2001? Firefox added it after Opera, and IE added it many years after that. Opera had the "speed dial" feature first, Firefox added it afterwards.

Might be the early-onset alzheimers, but I am almost certain Opera was the innovator here. You mention a 'second, entirely different method of adding tabs.' I don't remember that, or don't know what you mean.

Vivaldi is where I'm putting my hope. After Opera 12 the management team changed, and the new team decided to just copy Chrome badly and strip out whatever innovative features Opera ever had. Pathetic.

Used to be where I could install a Linux distro, add mutt, slrn, and opera, and be good to go.

Re: When they're all the same . . . (Score: 2, Informative)

by on 2015-08-27 21:17 (#JNMF)

Yes, Opera had tabs first, but they behaved nothing like the tabs Firefox created.

"Opera's tabs behave like 'mini windows' within the browser meaning you can drag them out of the browser, drag them back in and also minimise them and restore them within the browser"

What's more, I don't think Opera invented that at all, since applications like Microsoft Office managed multiple open documents the same way (just without the ever-present tab bar), long before Opera:

Since my desktop manages multiple browser windows just fine, I saw absolutely no benefit to Opera's tabs. Opera also cycled through tabs in most-recent-viewed order. So open a handful of new tabs (in the background) from a page, visit the first one and close it, and you go back to the last page you viewed, not all the new tabs you just opened. Again, absolutely no better than how my desktop window manager handles multiple browser windows.

When Mozilla (later Firefox) came out with tabs that when closed took you left-to-right or right-to-left (not through your history) in 2001-2002, Opera copied the feature in 2003.

The old-fashioned tab bar at the bottom:

While the new (Firefox-style) tabs were at the top:

Back in Opera 6.0, at start-up, you could choose between single-window mode (classic tabs), or multiple-windows "SDI/MDI mode". Then for Opera 7.0, they offered tabs in the SDI mode as well:

"New MDI/SDI combination gives users the best of two worlds by allowing surfing in both MDI or SDI, with tabs (or even a combination) without restarting Opera"

And the tabs on the SDI interface windows behaved like Firefox's tabs (no overlapping windows, cycling left-to-right, etc.), not like Opera's MDI tabs always did.

And incidentally, Opera wasn't even the first web browser with tabs, either. It was beaten by NetCaptor by about 3 years.

Could be an improvement (Score: 2, Interesting)

by on 2015-08-24 20:54 (#JB7E)

One of the nuisances of Firefox has been incompatible extensions across browser versions. Upgrade right away, and you might not find your extensions available for the new version. Stay with an older version (like perhaps the ESR) and you don't get upgraded versions of the extension, which is a problem when sites like YouTube change and break things...

If this move means developers don't need to make changes to their extensions for compatibility with successive versions of Firefox all the time, it could have positive effects on the ecosystem. But of-course that's only after the initial, sudden drop-off this is sure to cause.

Like everyone else, I also hate how Firefox is turning into Chrome, but that's from a UI and performance (on lower-end systems) perspective. They can turn the back-end into Chrome/WebKit for all I care, as long as the performance improves, the old Navigator UI hangs around, and the extensions keep working.

Firefox 41 will be the last version because of the plugin system (Score: 0)

by Anonymous Coward on 2015-08-29 04:31 (#JSRK)

"Starting with Firefox 42, developers will also have to get their extensions reviewed and signed by Mozilla before they can be deployed. “"

I had a situation at work where some software used two years ago was needed today to redo some work. No problem, as I have a folder with the software. Pulled it out, installed the plugin on Chrome..NO! NO PLUGIN FOR YOU!. Okay. This is in a dev environment so is firewalled from the internet. After a few tries I gave up on Chrome. It just can't be used to install plugins locally. No, I am not screwing around with unpacking and repacking extensions.

I pulled up Firefox, installed the plugin, and was good to go. Work was done. Reports were filed. Everyone is happy.

After Firefox 42 this will not be possible. If I had Firefox 42 in the dev environment right now, and no previous versions of the browsers, I would be screwed.

Now, what happens if I am testing for compatibility in a future version of Firefox or Chrome? What then? At what point do we admit that locking out local installs of plugins is a bad thing?

Comments say it all (Score: 0)

by Anonymous Coward on 2015-08-29 13:58 (#JTQF)