Greasemonkey Dev posts WebExtensions Design Doc: paints grim picture

Martin Brinkmann
Feb 1, 2017
Updated • Jun 25, 2017
Firefox, Firefox add-ons
|
18

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
Greasemonkey Dev posts WebExtensions Design Doc: paints grim picture
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
Publisher
Ghacks Technology News
Logo
Advertisement

Tutorials & Tips


Previous Post: «
Next Post: «

Comments

  1. anonymous said on June 19, 2017 at 4:17 pm
    Reply
  2. Pale Moon is the Future said on February 8, 2017 at 2:16 pm
    Reply

    The author of Greasemonkey should embrace Pale Moon for his own sanity…. NOW!!!

  3. Robert Headley said on February 3, 2017 at 5:36 pm
    Reply

    I have been faithfully using Chrome since it came and tampermokey almost as long as that. I wonder if they can work together?

  4. firewolf said on February 2, 2017 at 6:44 pm
    Reply

    crapzilla is slowly dying, like microshaft they keep changing foe the worst.

    find an alternative before it is too late !!!

  5. nonqu said on February 2, 2017 at 1:58 am
    Reply

    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.

    1. Dora said on February 2, 2017 at 2:46 pm
      Reply

      Firefox 57 should be more customizable than Vivaldi, but you do what you want it’s your life :)

  6. ChromeFOX said on February 1, 2017 at 6:09 pm
    Reply

    Tampermonkey that had been on Chrome(WebExtensions) for longer or GreaseMonkey that has just been ported and dumbed down version of ChromeFox? Choose…

  7. Mikhoul said on February 1, 2017 at 5:27 pm
    Reply

    Mozilla = 👎👎👎 😦

  8. Samo Law said on February 1, 2017 at 4:57 pm
    Reply

    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.

    1. whoosh said on February 1, 2017 at 7:51 pm
      Reply

      cheer ultraviolets be wonder do bots write dat?

      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.

      1. whoosh said on February 3, 2017 at 6:07 am
        Reply

        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”.

      2. Samo Law said on February 2, 2017 at 1:02 am
        Reply

        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.

  9. jbudh said on February 1, 2017 at 4:34 pm
    Reply
  10. pd said on February 1, 2017 at 3:23 pm
    Reply

    WebExtensions: how to demoralize … well, spit in the face of, really … and probably force out, the majority of the last remaining Firefox devotees.

  11. Ben said on February 1, 2017 at 1:38 pm
    Reply

    Well maybe he will find some time to add GM_download() too, like he has been asked many times and like tampermonkey already has.

  12. Anonymous said on February 1, 2017 at 12:19 pm
    Reply
  13. Earl said on February 1, 2017 at 7:17 am
    Reply

    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.

    1. Tom Hawack said on February 1, 2017 at 1:33 pm
      Reply

      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.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.