Thursday, February 4, 2016

XUL is going away

In the past, JSvg was part of OpenTrack which was a Firefox extension to track video data. The first post in this blog shows how to install OpenTrack and then use JSvg. Sadly (or perhaps, not so much, depending on your viewpoint), Firefox is changing their extension architecture. One change that will make it impossible to continue with the status quo, is the deprecation of XUL which is the widget framework upon which the entire browser is based. Another change is the security model which, for the present, still allows signed extensions, but will only allow easy installs from the Firefox Marketplace.

In the first case, since both OpenTrack and JSvg were written using XUL, these changes break the applications unless users choose to maintain an older version of Firefox. While doable, it is generally not recommended for security reasons unless the user only uses Firefox for this particular extension. This generally means setting up separate user profiles for Firefox, and then invoking the browser using the command line (or changing the icon commands) to something like "firefox -P username --no-remote". Although this is relatively easy for the initiated, to do, it also means that if a user wishes to use Firefox for other things, they will need a completely different and up to date installation as well. Many people (students) will not have the knowledge to pull this off.

With regards to signing, Mozilla is following a tighter security model than previously. Not only must the extension be signed (thereby identifying the developer responsible), but also the extension must be distributed by Mozilla after a review. All good, right? Mostly. The issue for instructors such as myself who are sole maintainers is that occasionally students will find bugs that must be addressed immediately. In the past, I have been able to roll out a fix overnight, and when students start up OpenTrack or JSvg the next time, the patch was automagically downloaded and applied via the Firefox extension system. At worst, I would have to tell students to restart their browsers. Now, if I wish to hold to this new distribution model, I need to both completely rewrite these apps (which still basically needs to happen), and then submit them for review. Review of updates to extensions can sometimes take a couple of weeks. Therefore, fixing an issue that might be critical for students can't happen overnight. And for our purposes, this new model won't work very well. Please, don't get me wrong, in general, Mozilla's new way of dealing with security is good.

So what to do? At this point, I have done a minor rewrite of the JSvg graphics and coding portion of the library and hosted it at niiler.com so that an online version is available for students to use. This is now more of a cloud based solution, which seems to be working for my current physics class. The downside at present is that I haven't made it pretty. All the functionality is there (more or less), but the random person stumbling across the page will have no idea what to do. I will deal with this as there is time. In the meantime, go to the above link to continue to use the analysis portion of this library.

Cheers!

No comments:

Post a Comment