If you’re looking to add change tracking to a Web app, you might want to take a look at Ice from the CMS group at the New York Times.

Ice (or Ice.js) is an implementation of change tracking for any content-editable element on the Web. It can track changes (inserts, deletes) from multiple users, and has some optional plugins for converting “smart” quotes and creating em-dashes.

Hands-on experience is probably the best way to get an idea what Ice.js can do. The current demo shows a plain content-editable element with Ice.js as well as a TinyMCE instance using Ice.js as a plugin. The TinyMCE demo includes buttons for accept, accept all, reject and reject all.

Ice.js also has an API, so you could use it as the basis for your own custom editor or integrate it into an editor like TinyMCE. At some point, Ice.js should include code to integrate it with WordPress.

Ice.js looks pretty good so far, but the project is still in early days and the developer is calling for other folks to get involved adding features, plugins and documentation. The licensing for Ice may be a problem for some projects, however. The trend these days seems to be using MIT or BSD style licenses which do not require reciprocity, but Ice is GPLv2 only. This means that some projects won’t be able to adopt Ice due to their own licensing.

Change tracking is something that I’d like to see integrated in just about everything, so I’m hoping this takes off. Any other change tracking projects worth noting?