Scrolllooper is a Firefox Addon that I created to allow automatic  page scrolling in an infinite loop. This addon was designed to allow a web page to be displayed in public on a large screen. The aim of the addon is simply to automatically scroll to the bottom of the page, and then jump back to the top. The scrolling speed is variable and can be defined in the Preference pane.

The motivation for creating this addon was two-fold: firstly, someone needed this exact functionality, and it did not seem to be available elsewhere; secondly, I was curious as to how exactly addons were put together. In total, it took about 12 hours of work from start (no idea) to finish (addon available on Mozilla addon website), and of course this included many wrong turns and dead ends. Oddly, this was the only case I can ever recall where Google failed to help me find any really useful information on how to proceed. Initially I tried to follow a number of different guides, but they all seemed to be out of date, incomplete or incomprehensible (especially those relating to JavaScript). In the end, I proceeded by using an online generator, some disparate documentation, preexisting addons (open source is handy) and plenty of trial and error. Right when I got to the final stages, I discovered two rich sources of information, which I would recommend as great starting points:

  • Addon Builder at the Firefox Addon Developer Hub – this page provides a customised starter-kit for addon developers, which acts as a springboard, taking a lot of fiddling out of the early stages of development. The site also contains plenty of documentation. I wish I had had this at the outset.
  • XUL Documentation at the Mozilla Developer Center – XUL is Mozilla’s XML based language for defining application interfaces: this is useful when tailoring the Firefox interface to meet your needs. The API provided here seems very thorough and well organised.

Having been through the process of creating an addon, I think there is plenty of educational potential in this process. With proper guidance, there is no reason why senior students should not be able to create and distribute their own Firefox Addons. This would provide a fantastic and realistic introduction to the wide world of open source software, with combination of integrated technologies (XML, JavaScript, CSS) providing a reasonable challenge.