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.