An excerpt from an email conversation with Kragen Sitaker...
Kragen wrote:
> Manuel wrote:
> > I find it useful to differentiate three areas, which are nevertheless
> > heavily intertwined:
> >
> > -- how to store data (data models, information architecture in the
> > sense of "algebra", metadata, static aspects, object models)
> > -- how to make it perceptible (display, layout, graphics, augmented
> > reality, HCI, navigation, "information design", but also feeds and
> > microformats as machine-understandable renderings)
> > -- how to control it and make it actionable (programmability, rules,
> > triggers, synchronization, APIs, events, scripting, debugging,
> > integrity, atomicity, transactions)
> >
> > Extra points when a nice data model is also nicely visualizable, so
> > that the primitive data objects correspond 1:1 with the primitive
> > visual objects.
>
> I think I see. The first is about what data is, in a sort of
> ontological sense, what it can do and what it contains; the second is
> about how to display it, which is kind of more like epistemology: how
> do people understand the data? And the third is about how to do
> things with it, which suggests a connection with ethics, but I think
> that's too tenuous to be tenable. :)
>
> > Big extra points for integrating programmability in a way that a
> > function call site is isomorphous to a data object, thereby becoming
> > automatically visualizable, etc.
>
> Thus functional prototypes as in Bicicleta and Subtext.
(Quoted with permission.)
Comments