Skip to content

Future development of Pentadactyl #99

@wshanks

Description

@wshanks

The commit logs have been fairly quiet recently (1 commit over the last 3+ months) and the developers have not responded to several mailing list posts and GitHub issues posted over the last seven months or so regarding upcoming Firefox changes that will render Pentadactyl unusable. So the question is where does Pentadactyl go from here. Here are some major roadblocks for Pentadactyl that need to be addressed:

  1. Distribution / promotion

    The version of Pentadactyl hosted on AMO has been incompatible with Firefox Release for most of the last two years. The Pentadactyl website has been out of date for years as well. Now, even the nightly builds are often unreliable or out of date. An updated version of Pentadactyl needs to be the first version users find when they search AMO or the web. Issue Pentadactyl distribution #26 has more details about this issue.

  2. Extension signing

    On January 26, 2016, Firefox Release will require that extensions be signed, rendering Pentadactyl unusable unless it is signed. To be signed, it must be uploaded to Mozilla's site by the developers. Alternatively, it could be forked and given a new add-on id and that version could be uploaded by a third party. However, Pentadactyl is very complex and will not pass the automated tests part of the extension signing process. Getting something as complex as Pentadactyl through a manual review will be difficult and require a lot of effort (developers who understand the Pentadactyl code base will have to advocate for why certain sections of the code are secure and should be allowed through Mozilla's approval process despite tripping automated test failures). Issue Firefox 42 will require extension signing #79 has more on this subject.

  3. Electrolysis

    Electrolysis (multi-threaded version of Firefox) will at some point become the default and then later on the shims that allow add-ons written to work with single-threaded Firefox to work in Electrolysis will be removed. More testing is needed but as is Pentadactyl will be unusable with Electrolysis and without the compatibility shims. This issue was first raised in issue Add support for e10s #50 (edit: originally this said Firefox 42 / Electrolysis / links broken #84), though there is not much content there right now.

  4. Deprecation of XUL and XPCOM

    Further into the future (~18-24 months), Firefox plans to transition away from XUL-based add-ons. At that point, only add-ons using the Add-ons SDK or the WebExtensions API will work with Firefox. All signs point to the Add-ons SDK also being phased out slightly further into the future. The WebExtensions API does not allow for all of the functionality of Pentadactyl (this is why there is full-featured equivalent of Pentadactyl for Google Chrome and why the closest thing, Vimium, has to use some convoluted code to get as much functionality as it can). Developers who understand Pentadactyl and the WebExtensions API well need to start advocating now for new API's that will allow Pentadactyl's features to be created with WebExtensions.

Some avenues that could be explored:

  • Merging with Vimperator. Vimperator is still under active development. I don't know enough about it to know what Pentadactyl features it lacks or if the developers would be willing to add them. Also, I don't know how well the Vimperator developers are prepared to deal with all of these issues, but the more resources put behind one effort the better most likely (this seems like the most relevant issue: Mozilla to deprecate XPCOM and XUL addons vimperator/vimperator-labs#264).
  • Creating a maintenance fork of Pentadactyl. We could fork Pentadactyl and try to get it signed as suggested above, but this could prove difficult for the reasons given above. Alternatively, we could use the Developer build of Firefox that does not require signing, but this build has not yet been released and it is yet to be seen how it will work in practice. This would allow Pentadactyl to continue to be used near term until issues 3 and 4 above hit.
  • Rewrite Pentadactyl using WebExtensions. This would be a lot of work but provides the most stable future for Pentadactyl. As noted above, new API's would be required, so developers would have to work with Mozilla to have them implemented.
  • Continue Pentadactyl with developer support. One of Pentadactyl's developers works on the Mozilla Add-ons team, so he is probably the most qualified person in the world to guide Pentadactyl through all of the issues outlined above. I can understand how all of these changes might require too much time for the developers to deal with, but I know there are several members of the Pentadactyl community who would love to help if there were any way that we could.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions