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.
better than tampermonkey
https://addons.mozilla.org/en-US/firefox/addon/violentmonkey/
The author of Greasemonkey should embrace Pale Moon for his own sanity…. NOW!!!
I have been faithfully using Chrome since it came and tampermokey almost as long as that. I wonder if they can work together?
crapzilla is slowly dying, like microshaft they keep changing foe the worst.
find an alternative before it is too late !!!
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.
Firefox 57 should be more customizable than Vivaldi, but you do what you want it’s your life :)
Tampermonkey that had been on Chrome(WebExtensions) for longer or GreaseMonkey that has just been ported and dumbed down version of ChromeFox? Choose…
Mozilla = 👎👎👎 😦
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.
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.
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”.
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.
tampermonkey is real https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/
WebExtensions: how to demoralize … well, spit in the face of, really … and probably force out, the majority of the last remaining Firefox devotees.
Well maybe he will find some time to add GM_download() too, like he has been asked many times and like tampermonkey already has.
https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/
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.