WardCunningham / Smallest-Federated-Wiki

This wiki innovates by: 1. federated sharing, 2. drag refactoring and 3. data visualization.
http://wardcunningham.github.com/
GNU General Public License v2.0
1.21k stars 178 forks source link

Graphing UI paradigm #262

Closed asolove closed 12 years ago

asolove commented 12 years ago

I am curious about the current UI setup for the d3 plugins and want to hear from others their experience using it in real data wikis.

Currently, the d3 plugins are only available by linking to an appropriately-named page (or hand-writing the page json yourself). This makes it very easy to create simple graphs but it also imposes some limitations. You can never have more than one graph of a given kind open, and the graph you are viewing is always tied to the already-open pages, so you can't directly link to a specific graph. If you want to link to a graph that loads in data from three pages, you have to provide instructions telling people to click those three pages, and only then open the graph.

I wonder if it is desirable to provide graph plugins via the plugin factory links and tie these embedded graphs to a specific set of data. I am imagining an interface where we can simply drag data boxes onto a graph plugin to add that dataset to the graph. Because these graphs are persistent and not generated on-the-fly, we could also allow users to specify properties of the graph like axis labels, the coloring scheme, etc.

WardCunningham commented 12 years ago

All of the D3 plugins predate the inclusion of wiki pages within the plugin itself. One approach is to fabricate a number of useful instances of a plugin, include them in the plugin pages, and then write a summary page that guides the user to the appropriate version for their own needs. Here a documentation pages offers an index to installed plugins on fed.wiki.org:

http://fed.wiki.org/view/add-plugins/view/choose-plugins

Recently there has been more experimentation with calculators than with visualizations. One can find data on the server when it doesn't find what it wants already open. Others are good at cascading data through them making modifications along the way. It might be possible to create a catalog of visualization constructor plugins that have needs-specific markup that is easily user editable.

So far my priority has been to gain experience with a variety of techniques rather than choose any particular method or try to make the ultimate plugin.

asolove commented 12 years ago

Just a note to myself: Peter Seibel is working on an API on top of d3 that is based on the seminal work The Grammar of Graphics. I would like to explore using his code and allowing users to interactively build different kinds of graphs by dragging in data elements.

WardCunningham commented 12 years ago

Wow. Very impressive pictures. Seems much nicer than, say, google charts.

If the drag and drop stuff doesn't work you might just capture his DSL in a TextEditor. You can crib the data-finding logic from one of the existing plugins. (Yes, I know, they are all different and not well documented. I'm feeling my way into this space.)