Pages as a Team Player

In this video Martin Fowler distinguishes internal and external implementations of domain specific languages, a subtlety that is relevant to our work with Mechs.

YOUTUBE ZfdAwV0HlEU Published Aug 15, 2012.

He also starts by describing a situation where a new and application specific language enables more nuanced cooperation between programmers and the folks they serve. This alone advances the notion of "automation as a team player".

.

For automated agents to become team players, there are two fundamental characteristics which need to be designed in from the beginning: observability and directability. In other words, users need to be able to see what the automated agents are doing and what they will do next relative to the state of the process and intervene. pdf

See also Ten Challenges for Making Automation a “Team Player” in Joint Human-Agent Activity. pdf

.

Ralf asks, in the context of Martin's analysis, "What is your semantic model so far?" matrix

I have only a vague notion of exactly how Mech blocks will do whatever it is that they will eventually do. The most useful semantics will be discovered by making and using blocks. However, I have strong feelings that they should be welcome members in the federation. That is, they should enhance our willingness to browse the federation without any fear that looking at or even forking a page will somehow take over control of our experience.

I think we can make the connections between blocks be "magnetic" in the same way some of our pages already are. When you open the Lineup Diagram it "reads" the existing lineup to the left and offers to add pages that might have been missed to the right. It can do this because the Graphviz plugin grants that power to our blockish extension to Graphviz's Dot notation.

Similarly the Mech plugin can grant power to blocks that are not available to html scripts inside the Frame plugin. In Fowler's terms Mechs are leaning towards internal implementation if they only rearrange capabilities already present in wiki.

Of course this all depends on what the available blocks are programmed to do. I can imagine each release of the Mech plugin will offer new blocks that don't break this compact: be a team player. Perhaps other plugins will offer Mech compatible blocks that make their services and representations more useful. We will have to watch this supply-chain carefully to be sure all Mechs are to be trusted.