Prototyping

Prototyping means producing a fully-featured model to simulate and test how a product will operate under the conditions for which it was designed. The Prototype is a working model of the program to test whether it will work or not, before going into production. Only in this way can one be certain that every effort has been made to identify problems before the final production (or reproduction) phase takes place. (The model may be produced on any platform, not necessarily the target platform.)

Consider this example. In one laserdisc production designed to run within a PC environment, Hypercard on the Mac was used as a test program to check the laserdisc frame coding and image quality and to examine aspects of the look and feel of a fully-featured implementation of the software program. The program had been storyboarded in Hypercard and the storyboard used in drawing up a specification for the C-programming of the disc. A test laserdisc containing the video footage and program menu and background screens arrived back from the pressing house and, rather than wait a few more weeks for the C-programming phase to be completed, the Hypercard storyboard model was extended by the use of off-the-shelf XCMD's to enable it to control the laserdisc playback on a second monitor. Because the storyboard was already fully featured and contained the full screen text, this took just one day. The laserdisc was then tested and the go-ahead given for the pressing of a master disc and final run. The program still had to be tested under the final conditions, that is, running on a 386 PC, with video-playthrough via a MIC 3000 card, but the Hypercard prototype was a valuable additional test and enabled programming to proceed with confidence that no changes were going to be sprung at the last minute. It was also invaluable in demonstrating the program at a seminar which took place before the C-programmed version was available.

Note that changes may still have to be made as a result of testing the prototype, -- after all, that is the purpose of prototyping: to identify problems. And sufficient time has to be left in planning for corrective measures at this late stage. In one CD-i production, working with the prototype led to the restructuring of the program to improve its navigability. This was something that could only become apparent by sitting down and working with the program in its finished form.