Greasemonkey Dev posts WebExtensions Design Doc: paints grim picture

Greasemonkey is a popular add-on for the Firefox web browser that enables you to load and create userscripts to interact with web content.

The add-on, like any other legacy extension for Firefox, will not work anymore in its current form when Mozilla makes the switch to WebExtensions exclusivity in the end of 2017.

While it remains to be seen if Mozilla will indeed flip the switch with the release of Firefox 57, or postpone, it is clear that the organization decided to go all-in on the idea.

The developer of Greasemonkey, Anthony Lieuallen, has published a design document for the migration of Greasemonkey from Firefox's current add-on system to WebExtensions.

The document looks at features that are currently implemented, and prioritizes them based on importance.

Essential features, those that need to make the cut no matter what, and major features, those that should make the cut, are listed at the top of the document.

Essential features are for instance the ability to install and manage scripts, and a major feature is the option to migrate userscripts from the legacy version of Greasemonkey to the WebExtensions version of the add-on.

The document is useful, not only for Greasemonkey developers and users, but also to other Firefox add-on authors as it reveals how one could create a migration document for extensions.

If you read the whole document, you will notice that there are quite a few uncertainties and dead ends that the Greasemonkey developer ran into.

This highlights one of the main issues that Mozilla's end of year enforcement of WebExtensions has to developers. WebExtensions are not ready yet for complex, and many semi-complex add-ons as they are a work in progress.

Mozilla adds new APIs with every release, but there seems to be a lack of documentation and information on what will be available when the switch to WebExtensions is being made.

He summed up the experience in the following way:

Overall, the process of writing this doc has been demoralizing. It took a lot of work to just scratch the surface of our feature set. At every step, I seemed to find things that range from difficult to impossible, given the APIs that WebExtensions have access to. A significant amount of UI and features will change by the necessity of no longer having the power to do so many things.

He mentions Tampermonkey, a userscript extension for Chrome which should work in Firefox already. He did look at Tampermonkey more closely, as it based on WebExtensions already, and noticed that most of what he dislikes about the extension is because of the limitations of WebExtensions.

Good news for Firefox users is that Anthony seems to be willed to go forward with the implementation, or at least explore the possibilities of turning Greasemonkey into a WebExtension.

Summary

Article Name

Greasemonkey Dev posts WebExtensions Design Doc: paints grim picture

Description

The developer of Greasemonkey, Anthony Lieuallen, has published a design document for the migration of Greasemonkey from Firefox's current add-on system to WebExtensions.

Author

Martin Brinkmann

Publisher

Ghacks Technology News

Logo

Advertisement

We need your help

Advertising revenue is falling fast across the Internet, and independently-run sites like Ghacks are hit hardest by it. The advertising model in its current form is coming to an end, and we have to find other ways to continue operating this site.

We are committed to keeping our content free and independent, which means no paywalls, no sponsored posts, no annoying ad formats or subscription fees.

If you like our content, and would like to help, please consider making a contribution:

About Martin Brinkmann

Martin Brinkmann is a journalist from Germany who founded Ghacks Technology News Back in 2005. He is passionate about all things tech and knows the Internet and computers like the back of his hand.You can follow Martin on Facebook, Twitter or Google+

Comments

And thus we see the real intention of WebExtensions: keeping anyone but Mozilla from messing with Firefox internals in a way that Mozilla really doesn’t want them to, no matter how much it might assist the needs and wants of the users of Firefox–or, rather, the former users of Firefox.

I don’t know if that’s Mozilla’s aim in perspective but one thing is sure, if those famous APIs on which WebExtensions rely don’t get seriously boosted the user’s ability to tailor his install of Firefox will seriously diminish.

I remain in “wait and see” state of mind. We’ve already seen Mozilla (as well as others) move back under users’ complaints.

From the developer’s document: “Greasemonkey has a sometimes messy web of rules, grown organically over years.”

This is rampant in the ecosystem. It is growing old, and was made initially by people without good standards in terms of code quality, who did not know or think it would be required to prevent technical debt, bloat, and general mess that lead to bugs, lame performance, security issues, and anti-features.

This is hard work, but technical debt must always be paid at some point, and the more it grows the more painful it is to solve… Yet, at some point not solving it becomes even more hurtful.

In that sense, this is a sane and healthy process of cheer ultraviolence.

Yes, spelling and grammar are hard work, but technical debt must always be paid at some point, and the more it grows the more painful it is to solve… Yet, at some point not solving it becomes even more hurtful.

Sheer ultra-violence, OK. I’m not from an English speaking country, smartass, now try to find another mistake in my post. Then learn that there is a world beyond borders with a vast majority of people not speaking your language.

If you’re not English either, then that would be why you missed the reference to A Clockwork Orange, unless you are uneducated regarding your own culture.

Oh, cheer/sheer was a typo! I seriously didn’t quite understand the point in the post (due to the many statements strung together with commas) and seriously did wonder whether it had been posted by a bot.

I’m relieved to learn that you’re not a bot. Reading again, more carefully this time, I realize that the phrase “is growing old” means something like “has become tiresome, problematic”. Although I do disagree with your position that the current firefox roadmap (which I would describe as introducing “break/fix” busywork) is “sane and healthy”, at least I understand your point about accumulated technical debt. As for “anti-features”, the recent (and forthcoming!) code is rife with them; those anti-features weren’t “inherited”.

Since OmniSidebar is going to be lost, when Firefox 57 is released I’m switching to Vivaldi. It supports sidebars and much more out-of-the-box and on top of that have tons of customization options, almost as much as Firefox 3 used to have.

I’m already using Vivaldi at work, where I don’t need most of my current Firefox addons and while by switching my privacy will take a hit I value usability more overall.

About gHacks

Ghacks is a technology news blog that was founded in 2005 by Martin Brinkmann. It has since then become one of the most popular tech news sites on the Internet with five authors and regular contributions from freelance writers.