| Title | Modernizing stet with JavaScript |
|---|---|
| Student | Matthew Harrison |
| Mentor | Joshua Gay |
| Abstract | |
|
I would like to work on the modernizing stet with JavaScript
project. The SFLC uses stet for annotation (a way of adding comments to HTML) of the GNU GPL, however the code is outdated and does not use many modern JavaScript features and libraries. This results in slow and hard-to-maintain code that heavily relies on server-side process- ing. Ideally, a rewrite would be largely browser-based and the back- end would only be used for storing and querying annotations. The new version should also be easy to use and implement. Current web annotation solutions are difficult to set up and maintain; no simple, drop-in system exists. Current implementations also don't allow for the "heat-map" style text highlighting - areas with a high density of overlapping comments need to be colored differently based on the number of comments contained in a block to indicate which areas are more densely populated than others. jQuery is an ideal JavaScript library to use for the rewrite. jQuery is lightweight and can be included in a webpage with one line of HTML. It's also easy to use and has a large API to facilitate many tasks. For example, to show a <div> element with a slow fade-in, it's simply $("div").show("slow"). This ease of use allows for code that's easy to maintain and expand,thus overcoming the limitations of current annotation solutions. In addition to storing annotations for querying later, it's also beneficial to aggregate the annotations. I would plan to work with my mentor to design server-side storage using a flexible format that allows for multiple storage options. An Atom-based proposal can be found at (1). Since Atom stores are text-based, it's possible to integrate aggregation into a Trac/Subversion-style system for version control of annotations. |
|