okfn/openspending — Issue #380: Re-design views system
Author: pudo
Created: 2012-01-22 15:41:53+00:00
State: open
Labels: feature

The current built-in visualization options in OS have a number of problems, specifically:

* There is a split between the "explorer" approach of ad-hoc visualization and the pre-defined "views" system. The explorer could be used to generate static visualization states but there is not currently a way to serialize its state into "views".
* The "views" spec format is non-intuitive and hard to create. This is not like to change with a naive user interface implementation. cf #324.
* Views are awkward because they don't have any depth (i.e. they always only relate to one dimension, not a multi-level breakdown), but they are often used to emulate hierarchical breakdowns. cf #208, #178.
* There is no way for a "view" to define the type of visualization that is to be created (treemap, time series chart, map or bubbles?).
* Views generate the required aggregations in the backend (then paste the result JSON into the page), this should rather be done in the browser leaving it more flexible.

There are also some larger concerns, which we may not be able to address under the scope of this design discussion:

While we want to encourage others to contribute visualisations, the views system and the explorer are tightly coupled into the application. In order to contribute a new visualization type a non-OS developer would either have to understand the backend and contribute a plugin, or set up their own (off-site) page where it is embedded (e.g. the Uganda vis, which combined the spend browser and bubbletree visualization). A better mechanism would invert this in order to allow users to hook in their own visualizations through the web interface in a way similar to MediaWiki templates.

(to be done: requirements, design)