Google Groups

Re: What is the battel plan to migrate from XULRunner?


Dan Stillman Feb 29, 2016 1:03 PM
Posted in group: zotero-dev
On 2/29/16 12:43 PM, Simon Perdrisat wrote:
Their is already a lot of discussions about the end of XULRunner and how than the project should adapt. But I didn't find any information how what are the plans.

Only use standalone.
For my point of view it's clear than the "Zoter for Firefox" plugin is obsolete and the project should migrate to use only standalone. So the Firefox plugin can easily can be way lighter and use the almost the same code base has Chrome when https://wiki.mozilla.org/WebExtensions is ready.

In a user point of view it also make sens, their is a lot of confusion about standalone and not standalone. Documentation is harder to write when you have two radically different way of doing things. You also have a big risk to end up with two library. So again I don't understand why this project still provide the full Zotero application as a Firefox plugin.

As long as we can continue using the same code base, there's very little cost to producing both, and there are significant benefits. Many users prefer the tighter integration that the Firefox version provides, it provides some features that can't currently be offered in other browsers, and the Firefox version makes various aspects of development much easier. The drawbacks you describe do exist, but I don't think they're quite as bad as you make them out to be — it's true that some people are confused by the two versions (though usually by confusing Zotero for Firefox with the website), but the two versions use the same data directory by default, you can switch seamlessly between the two, and much of the documentation can be identical.

But yes, ultimately we won't have a choice here. XUL/XPCOM's days are numbered, there's no plan (that we've seen) for WebExtensions to offer the same ability to customize the Firefox UI that Zotero relies on now, and even if there was Mozilla has made it pretty clear that they're no longer interested in being an application platform. So the upshot is that we will indeed be discontinuing the full-featured Firefox version within the next year. The Firefox connector may retain some unique features — WebExtensions are tracking Chrome extension functionality to start but will likely eventually expand on it significantly — but all Zotero users will ultimately need to start using Standalone (which, conveniently, will be able to just be called "Zotero") to get full functionality.

Migrate the standalone Zotero from XULRunner to ...?
Witch platform is going to be used next for the UX and run the JS used in the core of Zotero? Their is of course http://nwjs.io  (formerly node-webkit) and http://electron.atom.io  (formerly atom-shell). But http://qt.io/ can  also be in option. I guess this is an opportunity to create a mobile app...

So what direction Zotero is going to take?

We'll be porting Zotero to Electron.

While the migration will be painful — we make pretty heavy use of XUL and XPCOM — we're excited for this change, and there will be some great benefits, including the ability to use NPM modules, better OS integration, better documentation, and, in general, a continuously improving application platform used by thousands of other projects. (Another upcoming project from CHNM, Tropy, is also being built on Electron, and we'll likely be able to share some of the same code and will also benefit from their experience.)

Freeing ourselves from the tight confines of a browser pane should also provide us with much more flexibility in terms of user interface, and we're planning for a major UI overhaul to go along with this migration.

We're currently focused on getting 5.0 — which will still use the current architecture — out the door as soon as possible, but after that we'll start talking more about our migration plans. The goal, of course, will be to make the transition as seamless as possible for existing Zotero users.