I thing a fully operational statistical environment should have more than one "access gate" to the underlying objects (data, statistical graphics of the data, models, predictions of models, etc.). These are the shelf, the workbench and the bar.
The shelf contains all the objects been generated so far. They are represented graphically, so you can zoom in to get more detail, interrogate to obtain summaries, or take them to the workbench. Here are a few examples for objects on the shelf:
|
|
|
|
|
Variables. The icon reflects the type: categorical, continuous, polygon, etc. |
Datasets. Datasets contain variables, but have additional properties (for instance relations between variables, etc.). This allows non-rectangular datasets (where you can't implicitly assume that the same index belongs to the same individual). |
Models or other "statistical" objects. |
Zooming onto datasets reveals their contents, that is variables and relations between variables, perhaps descriptions (text or even a movie) of the dataset.
Zooming onto statistical objects gives a more detailed view of their contents, for models this could reveal the variables and functions involved.
Interrogation of objects gives more or less short summaries, either graphical (for a categorical variable this might be a barchart) or textual (a table of frequencies).
You can take almost every object to the workbench. The workbench is different for every type of object, but in any case it's a collection of sophisticated tools for manipulating objects. For variables or datasets this might be a collection of tools for exploratory data analysis. For models this might be an interactive display like the one suggested here.
The workbench is not only for viewing objects but mainly for manipulation of objects. If, as a result of this manipulation, new objects are generated, they will appear in the shelf.
Here you put your orders on the table, straight and clear. The bar looks like a standard commandline interface, but it's augmented with graphics. One typical line could look like this:

This is almost the "traditional" way of modeling. Except that certain elements can be interrogated and/or taken to the workbench. Perhaps one should even leave out the formula object and rather create the model from data and defaults only - and then take your newly created model object to the workbench and bring it into shape.
You can drag&drop objects. If you want to refer to any object, just take it from the shelf and drop it where it belongs. If you want to plot anything, drop all the ingredients onto the plot-workbench and arrange it there. If you want to add a variable to a dataset, simply drop it onto the dataset-box. Take the box to the workbench to wire the internal connections of your new variable.
If you have forgotten what your latest model did, simply interrogate it's little box and you can have a look at your model. All summaries will be interrogations.
To give just a rudimentary outline.
One of the main ideas is that everything should be "interactive". You can interrogate everything, and you can move objects with the mouse. You can zoom in and out, revealing or hiding details.
One philosophical principle is to create things and then to modify them - not to produce copy after copy, each refining the previous one. Of couse you can have more than one model object. But the main principle is to apply changes to the object, see if they are good, and then undo the changes or go on with your analysis. There is no sense in covering every little step.




