Programming by Illustration – Visual Interfaces

In the mid 1970s Smith launched the approach of Programming by Illustration with a software known as Pygmalion, Smith elaborated on this in Look at What I Do: Programming by Demonstration (Chapter 1). This demonstrated the want to describe algorithms by means of concrete illustrations relatively than abstractly. ‘Example-dependent Programming: a pertinent visible strategy for learning to program’ (Guibert et al, 2004) clarify and expands on Smiths work with an example demonstrating how figures fall short to reveal the thought behind them. The instance is a numerical illustration of a triangle. This representation is ‘fregean’ since it does not exhibit the principle of a triangle. Up coming to this is a diagram of the triangle that does show the idea. Future to this is a diagram of the triangle that does exhibit the idea, this is referred to as ‘analogical’ representation due to the fact it incorporates the context of the facts. Like the context of the data lets a person to find out meanings or interactions in the details which would not constantly be obvious. (Hanna, 2005) and (Elliott, 2006)present an interface for immediate manipulation of shapes in this analogical way by making an interactive triangle manipulation illustration utilizing the Haskell functional programming language.

Semantic internet languages permit for the context of the data to be represented in paperwork and so make it achievable to symbolize details in an analogical way, as very well as permitting two way interaction, top to an advancement in information discovery.

The growth of visible user interfaces has been a significant stage ahead. The use of pictorial metaphors these as folders to depict a selection of documents has significantly aided human computer system conversation. Pictorial metaphors give visual opinions so the user is familiar with what the computer software program is doing. This procedure can be used much more dynamically in simulations. Simulations symbolize the actual entire world difficulty and give consistent comments to the consumer on how the method is progressing. In this sense, all software package need to be regarded as a simulation. Pictorial metaphors are static, though a users’ psychological model is created up of psychological images connected collectively by a established of procedures. The person operates a mental product like a simulation. Static user interfaces rely on a person to string with each other pictures into a psychological model which effectively represents what the technique is executing. A person could crank out a mental model in response to consumer interface metaphors which is inconsistent with the procedure product.

Simulation can help to guarantee that the designers’ model, program product and users’ product are all the same. This issue is explored in [Crapo et al. 2000 and 2002] and is the basis of the visualisation methods applied to permit the user to create and have an understanding of versions that are subsequently translated into application representations. This is also stated in chapter one particular of Observe What I Do: Programming by Demonstration [Cypher, 1993], points out how the Pygmalion language attempts to bridge the gap concerning the programmer’s mental product of a topic and what the laptop or computer can settle for. The author of this program David Smith went on to create business oriented icons as portion of the Xerox’s “Star” pc venture.

My research centered on these ideas is offered at kingdom/amrc/seeds/Visualisation.htm

and my examples at


Smith, D. C., 1977. A Pc Application to Design and Stimulate Imaginative Assumed. Basel: Birkhauser.

Smith, D. C., 1993. Pygmalion: An Executable Electronic Blackboard. In: A. Cypher, ed. Check out What I Do: Programming by Demonstration. MIT Push, Chapter 1 – ISBN:0262032139.

Guibert, N., Girard, P., Guittet, L., 2004. Instance-centered Programming: a pertinent visual tactic for finding out to plan. Proceedings of the doing work conference on Sophisticated visual interfaces. pp 358-361 – ISBN:1-58113-867-9.

Hanna, K., 2005. A document-centered setting for Haskell. 17th Global Workshop on Implementation and Software of Functional Languages IFL 2005 Dublin, Eire – September 19-21 2005.

Elliott C., – Useful Programming by Interacting with Tangible Values – http://conal.web/papers/Eros – Conal Elliott – April 8, 2006.

Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2002. Visualization and Modelling for Clever Programs. In: C. T. Leondes, ed. Clever Systems: Technology and Programs, Quantity I Implementation Approaches, 2002 pp 53-85.

Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2000. Visualization and the system of modeling: a cognitive-theoretic see. Convention on Knowledge Discovery in Knowledge – Proceedings of the sixth ACM SIGKDD international meeting on Information discovery and info mining pp 218-226.

Cypher, A., 1993. Look at What I Do Programming by Demonstration. MIT Press, Chapter 1 – ISBN:0262032139.