What's New in SandDance (Build 53)

SandDance Extensibility Announcing SandDance Extensibility - you can now host your own version of SandDance, and there are several ways to doing this. One approach is all HTML (no code required); the other approaches use the new SandDance API to create and configure various parts of SandDance. The calling code can be JavaScript from the hosting web app, or the language of a web-page hosting application. The API is defined at 3 levels:

For interactive demos, see the Welcome page for build 53.

Desktop SandDance There is now a Windows app version of SandDance. It works by hosting a brower control that is used to run a local copy of SandDance. It uses the app to open all files, so it doesn't talk to the SandDance server. It hasn't been throughly tested, so it should be considered an experimental feature. The .zip file for the app can be found here.

More UI Control The Settings Panel now contains two tabls ("UI" and a "Buttons") that let you customize the appearance of SandDace, specifying the fonts, colors, and sizes used for various parts of SandDance.

Simplified Themes The theme files for SandDance have been simplfied - they are now a list of about 75 properties that control the appearance of SandDance. To create a new theme, first find the UI/Buttons settings that define the look you want to capture. Then, you can use the Settings Panel to add the experimental "Theme" button on the icon bar, and then export one of the built-in themes to a local file. Now, you can change the property values in the theme file to match the look you defined with the UI/Buttons settings. The new theme file can be loaded using the Theme button on the icon bar. You might also want to exchange theme files with other SandDance users.

Stats and Diagnostics Two new tabs have been added to the About Panel. The "Stats" tab shows various stats from the Shape and Chart engines for the last animation cycle. The "Diagnostics" tab is used for internal development of hit-testing related function in SandDance.

Insights Show Mode In addition to the Play mode of insights, which automatically animate between each insight on a timer, there is a new Show mode that let's you advance forward and backward manually thru each insight.

Insights Lock Selection Within the new insights Show mode, there is a checkbox that allows you to lock the current selection as you change insights. This is useful for highlight a certain set of shapes/data and tracking them as you move thru each insight.

Wheel Button There is a new Wheel button on the icon bar that toggles the 3D transform wheel on and off. When on, the wheel is displayed as a cross with a circle. If you drag (using the mouse or touch) on the vertical bar of the cross, it will rotate the current view about the X axis. If you drag on the horizontal bar, it will rotate the view about the Y axis. If you drag on the circle, it will rotate the view about the Z axis. If you drag in the intersection of the vertical and horizontal bars, it will rotate in both the X and Y axes. Dragging on other parts of the plot when the wheel is visible will pan (translate) the view. To reset the view, you can use the ESCAPE key or the double click/tap gesture.

Direct 3D Gestures You can can also control the 3D view directly (without the 3D wheel). You can use a two-finger pinch/zoom gesture to control the scale of the view. This can also be controlled by the middle mouse wheel. When using two-finger pinch/zoom, you can also drag both fingers to pan the view. A two-finger tap gesture will toggle the 3D wheel on/off. There is a three-finger gesture that will rotate the view in both X and Y, but it is hard to control. Again, to reset the view, you can use the ESCAPE key or the double click/tap gesture.

Improved Tooltips Tooltips are now initially turned on, and, by default, they display the values of the columns used in the current view and mappings (Color, Facet, etc.). You can customize the columns used in the ToolTips tab of the Tips Panel.

Data Overview There is a new Overview in the Details Panel that lists each column of the current data set, showing the column's type and other related information.

New Experimental Features From the Settings Panel, try out these new features on the "Icon bar" tab:

Chart Options Moved Looking for the old Chart Options button/panel? It's controls now live in the Shapes and Options tab of the View Panel.

Title Panel By default, the dataset name and item stats (total number of items, number of selected items, number of filtered items) have been moved from the big bar to their own panel at the top of the chart. To open a new dataset, click on the current dataset title. You can restore the old "Dataset" button using the Settings Panel. You can hide the title panel using the Options tab of the View Panel.

Build 53 Tour There is a new Tour that you can take that highlights the new features in Build 53.

Bin Auto Settings The binning controls (which control the number of bins in various views) now accept an "Auto" value (which lives just below "1"). This value directs the system to pick the best number of bins for a view (currently limited to finding a setting for nice numbers in the associated labels).

Breaks Tabs In many of the mapping panels ("X", "Y", etc.), there is a new Breaks tab that allows you to specify custom breaks values and other controls over the bining or mapping process. This is a feature under development and should be considered experimental.

Tour Commands When authoring the steps of a tour, you can now include commands to be run when arriving at a step ("preCommands") and commands to be run when leaving a step ("postCommands"). These commands are in natural language English (the Bot command language). Some examples: "open Titanic", "map Color to Age", "show Scatter view".

Smart Toggle Selection There is a new default mode for making selections called Smart Toggle. When it is on, selections made from legends (Facet labels, color legend, size legend, shape legend) or axes (X and Y tickbars) will toggle the selection of their associated shapes - the first click will select them, the second click will unselect them. Selections from other sources, when in Smart Toggle Mode, will select only the specified shapes and unselect all other shapes. The Selection mode can be controlled thru the experimental Selection button on the icon bar.

Color Cycling When mapping a category column to Color, sometimes the number of unique values of the column exceed the associated color palette. Normally, the extra values get lumped into an "Other" value. When Color Cycling is turned on (see Color Panel, Palette tab), the colors of the palette will be reused to assign a color to each value in the column, up to a maximum of 250 values.

Direct Color As an alternative to normal color mapping, where values are mapped to a color palette, direct color mapping can use the values in 1-3 specified columns to define the red, green, and blue color channels. Or, a single column containing HTML color string values can be specified.

Sum By Changes The "Sum By" button has been replaced by the "Count" or "Sum: xxx" button along the Y axis. The button will open the Sum By panel. When a column has been selected in the Sum By panel, the view (Grid or Column) will use the column's values to size groups in the view.

Squarify vs. Strip Sum The defaut way to display the sizing in the Grid and Column view has been changed to the Squarify layout. The previous "strip sum" layout can be selected using a checkbox at the top of the Sum By Panel.

Percent Mode Sum A new experimental method of showing sums in Column view is "Percent mode" (checkbox at top of Sum By panel). When a Sum By column is specified and this mode is on, the columns in Column view are scaled to the full height of the plot ("100%"). This enables individual values of a column to be viewed as a percent of the total column, and to compare these percentage values across columns.

SandDance for Jupyter Notebooks A proof of concept implementation of SandDance charts created from within a Jupyter Notebook is available. You can access from the Welcome page.