Geppeto: Consumer’s Approach to Programming


Contemporary society is experiencing a steady stream of new electronic gadgets, software products, and web applications. In this flood of functionality, users have adapted to rely less on manuals (if they are present at all) and shift their learning to trial and error, common paradigms, and experimentation. To accommodate this style of use — or perhaps driving this behavior – developers have successfully abstracted much of the technological complexity and transformed it into intuitive user interfaces often avoiding the need for reading lengthy manuals and formal training. Is it possible to adopt the same trial-and-error experimentation habit not only for using gadgets, but also for application development? We claim that intuitive aggregation and combination of software gadgets makes this possible.

In this talk, we will show the use of current technology in building a consumer oriented development tool appropriate for individuals not formally trained in programming. We demonstrate that the complexity of existing system and scripting languages i.e.; syntax, semantics, control and data flow, data structures, data types, and programming components can be successfully replaced with analogies intuitively accessible to a much wider consumer population based exclusively on their use and understanding of user interfaces in popular web applications. We present a demo of Geppeto — a consumer tool for gadget-based application development. Composing gadgets with Geppeto does not require programming experience or reading of convoluted manuals. The presented research is sponsored by Google Inc. and the Croatian Ministry of Science.