syllabus‎ > ‎

P: InfoVis design

In this project, you will implement an interactive information visualisation application. You are allowed to pick any problem domain (see the examples page for inspiration, especially the linked final projects pages are good), after which you will design your solution using storyboarding, and then program it using any language and toolkit of your choice.

In this case, you don't have to choose hypotheses, as you are encouraged to design a tool with which a certain class of problems can be addressed / visualised. For example: Design a tool with which organisation structures can be visually explored.

The guidelines:
  • You can choose to work alone, or in a group of two.
  • Browse through the various toolkit examples, especially prefuse, protovis and the JIT so that you know which techniques you have at your disposal.
  • There are a number of toolkits (and consequently programming languages) that you could work with. The list below has some examples, but please feel free to add more alternatives:
    • matplotlib (Python).
    • processing (Java): Simple environment for rapid programming of generic interactive audio-visual applications. Doesn't have any pre-made infovis widgets. Used to code MizBee!
    • prefuse (Java): Wide selection of infovis widgets. Last full release in 2007.
    • flare (ActionScript / Flash): Successor of prefuse.
    • protovis (JavaScript, generates SVG): Declarative infovis library.
    • JavaScript InfoVis Toolkit (JavaScript): Similar to protovis in terms of functionality. More traditionally imperative.
    • Improvise (Java): Complex research code for coupled view interfaces, use only if you aspire to be or already are a programming genius.
    • Tulip (C++): Toolkit and application focusing on graph visualisation, but does support other infovis techniques.
  • Per group (whether that consists of one or two people), create a sub-page to this one, named lastname OR lastname1-lastname2, depending on whether you've chosen to work with a partner or not. On this page, add the following sections as you complete them during the week (also see the botha subpage for more guidelines):
    • A proposal in which you describe the project that you are planning. Clearly describe the problem domain and your proposed solution (including your design sketches / storyboards). This should be done by Wednesday so I can check them for feasibility. Do a short literature search on for possibly related papers. It doesn't matter if someone has cracked your proposed problem yet, but it's a good idea to read the paper and mention similarities.
    • A short final report (few hundred words max) describing your implementation.
    • Your working implementation should be embedded in / attached to your project page as far as possible.
The schedule:
  • Phase 1: By the end of Wednesday, you should have chosen your problem domain, implementation framework and you should have written your proposal. Add this to your project webpage as described above.
  • Phase 2: By the end of Thursday, you should have a basic skeleton of your application running.
  • Phase 3: By the end of Friday, before the demos, your short final report should be on your project webpage.
  • Demos: Each group will also briefly demonstrate its completed application to the rest of the class.
Before starting with this project, but after having read all of the above, do go through the "Process and Pitfalls in Writing Information Visualization Papers" paper on the Reading: Intro page. Pay special attention to sections 2.1 to 2.3, 2.8 and 3, they are all applicable to your project.

Useful resources: