This is not the first attempt to establish programming as a design element or to support designers and programmers in incorporating interactivity in their projects. Several initiatives in software development, like Extreme Programming, Programming by Example, the work at various research institutions, for instance the MIT, and initiatives based on the engagement of individuals improved the situation and provided help and insights.
EXTREME PROGRAMMING
Changing the organization and workflow of multimedia projects in a way that promotes discussion and collaboration between the participating parties allows the creation of new and innovative solutions. Often designers and programmers who are working on the same projects are not part of the same department, are working separated or even, in the case of outsourcing, in different companies.
Extreme Programming is a method of software development that encourages work in pairs and development driven by tests.
The basic ideas of Extreme Programming like pair programming and collective ownership certainly work and are effective for the development of multimedia projects. Kent Beck describes extreme programming as ‘XP is a light-weight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly changing requirements’ ([BE] p. XV) and this description resembles perfectly the usual situation within a multimedia-project.
DESIGN BY NUMBERS
‘A comprehensive system was developed with sufficient limitations and subtle extensibilities to enable a wide range of digital expressions for the beginning computational art student. The result was the Design by Numbers system.’ ([MA] p. 442)
Design By Numbers was developed by John Maeda and the Aesthetics and Computation Group within the Media Lab at the MIT. Design By Numbers allows the creation of static, dynamic and interactive graphics by using a simple programming language.
On the MIT’s website the aim of Design By Numbers is described as follows: ‘Design By Numbers was created for visual designers and artists as an introduction to computational design. It is the result of a continuing endeavor by Professor John Maeda to teach the “idea” of computation to designers and artists. It is his belief that the quality of media art and design can only improve through establishing educational infrastructure in arts and technology schools that create strong, cross-disciplinary individuals.’ ([MIT2])
The language is quite simple but offers everything needed – loops, conditionals and recursion.
Paper 0
Pen 100
Repeat A 0 100
{
Pen A
Line A 0 A 100
}
To make coding even easier DBN can be programmed not just in a syntax based on English vocabulary but as well in Spanish, French, and Japanese.
The current version can be obtained for free at http://dbn.media.mit.edu/.
DBN is not just a single tool; Casey Reas at the MIT developed a courseware system to promote and facilitate the use of DBN as tool in design-education.
‘The Design By Numbers Courseware is a web-based environment built to facilitate the use of DBN as an educational tool for teaching computational design. It provides educators with an interface for inputting/editing problem statements and students with the ability to work in DBN and save their work directly to the server. Most importantly, it presents a unique viewing environment where students can critique their work within the context of the entire class.’ ([MIT1])
Several years ago John Maeda also published a book about DBN to teach the use of DBN and showcase some work.