Web Annotation Systems Compared

I ran across this article on “newsmashing; on Kottke, which talks about a number of browser-based plug-in annotation systems. I considered such tools when I was investigating annotation, but decided against them and instead started work on a Javscript server-based annotation system. I expect I will be asked why, so I’m recording the pros and cons of each approach.

  1. Installation. A plug-in must be installed on every computer using the system. Many users simply won’t bother; in institutional environments they may not even have the choice. A server-based system only needs a browser.
  2. Generality. A plug-in system can mark up almost any page on the Web. A server-based system like the one I’m developing simply can’t do that – it’s part and parcel of the site it is used to annotate.
  3. Consistency. A server-based system is integrated with the host web site. Its annotations are specific to content, not individual pages. This means the annotations will still be visible if the content appears in more than one context. A plug-in, on the other hand, can’t handle such situations. For example, a forum message could be displayed in a listing by date or in a list of search results. The server-based system can display the annotations consistently in both places, but the plug-in will only be able to display on one page – the one that was marked up – and not the other. The browser-based system may also be confused by changes to text on the page outside the annotated content (such as changed menus, other messages, etc.), while the server-based system much less sensitive to such changes.
  4. Integration and customization. A server-based system can take advantage of other features of the host site, like a common login framework; this could allow for on-site controls for viewing content by user or by group. The annotation systems can be customized to provide site-specific features, like the ability to search for annotations and show them in context, or to react intelligently when content is deleted or altered.
  5. Simplicity. Programming a server-based system is easier, hence cheaper.

In the long run, I would like to see standard browser-based annotation. I hope that the will evolve so that such a system can better support the features of server-based annotation (the problem is similar to what I deal with in my article on wiki-forum integration). But that’s a long way away. For now, the best approach is to implement something that’s useful today. If we’re lucky, it might help spur further development.