A second take:
1) Types are represented by colours (Nouns: grey, Verbs: yellow, Adverbs: blue, Conjunctions: red). Derived entities are nested, the colour of the outermost box is the type of the derived entity. Using a blend of colours is impractical because of the large number of derived entities. Panels 1 and 2 in the first diagram use shapes in addition to colours to represent the types.
2) Hooks and forks have distinct colours, they are expanded to explicit conjunctions. When clicked the display of hooks and forks could be expanded further to the restructuring of their function arguments, this behaviour could be extended to all conjunctions.
3) Some ideas on visualising execution. A part of the structure may be highlighted and interactively executed(changing the structure as functions are applied) or the whole function may be executed step-by-step. Incomplete.
Oct 16, 2010
Subscribe to:
Post Comments (Atom)



Hey Sami,
ReplyDeleteThere sure is a lot to consider when trying to make J visual. Here's my feedback on the second take. I hope you find it useful.
Left Pane:
I like the extra edge to denote dyadic verbs, very elegant. Panes 4 and 5 look correct to me. The first three panes seem to indicate the +/ is an adverb and &.> is a conjunction. I think they should be a monadic verb and an adverb, respectively.
Middle Pane:
Do you need the red boxes identifying forks and hooks? They seem redundant when you already have distinguished hooks and forks by colour, and they may take up too much space when you start to add arguments to the diagram. The solution you came up with for cascading forks and hooks looks workable to me.
Right Pane:
I like the animated approach to composing the result a step at a time, as it can create a temporal understanding of the process. The challenge is that it is not as reversible as letting the user probe the structure non-destructively and displaying the results in a separate area. The question of whether to expose the fork when clicked or to do it automatically is a good one. My guess is that by leaving the user the choice (when they click), you are more friendly to experienced users who may not need all of the sentence broken down into components. I wouldn't send the argument to the conjunction, since the x and y arguments are usually sent to the entities joined by the conjunctions. Those entities are the arguments for the conjunction and they in turn use the x and y values as their arguments.
Hope this helps.
Cheers, bob