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