2010-07-26 00:00:00 +0100 by Alex R. Young

Unveil by Michael Aufreiter is a data-driven visualization toolkit. In some ways it's similar to
InfoVis, but the data-driven design gives it a slightly different feel. The
documentation gives some examples of this through the collection API:

var countries = new Collection({
  "properties": "properties": {
    "name": {
      "name": "Country Name",
      "type": "string",
      "unique": true
    "official_language": {
      "name": "Official language",
      "type": "string",
      "unique": true
    // ...
  "items": {
    "arg": {
      "name": "Argentina",
      "official_language": "Spanish Language",
    // ...

The properties and items properties define a
Collection. These can be searched, sorted, and transformed:

var english = countries.all('item').select(function(key, i) {
 return i.value('official_language') === 'English';

The visualization API can then be used to render all kinds of graphs,
complete with animation:

This is a fairly new project, so I expect there should be a lot of
activity in the repository. The APIs have a pragmatic approach, but some
of the underlying JavaScript is a little bit... Ruby style?
Object is extended and global functions are used, rather
than keeping everything within a closure.