34.2 Authoring with Programming

Digital media technology has enabled more than the creation of movies on computers; it has also made possible new sorts of information systems. One example is the DAGS'92 multimedia proceedings CD-ROM introduced later in part IV that integrates digital video, audio, animation, and hypertext to communicate the proceedings of an academic conference [Che96]. The unusual nature of the system posed numerous challenges to the development staff, challenges that were only partly addressed by existing authoring tools. For example, the centerpiece of the proceedings is 8 forty-five minute synchronized audio/video presentation of speech with overhead slides. It was sometimes necessary to move audio tracks independently of the accompanying video, to accommodate sound editing software. Our commercial tools did not provide a way to do this without re-compressing six hours of animations, but VideoScheme was quickly adapted to the task. Earlier in the process we needed to remove silences from the original 12 hours of sound tracks, a painstaking manual process. Had VideoScheme been available at that time it would have been a simple function:

(while (< time (get-movie-duration movie)) ;loop through whole movie
 (if (silence? movie trackno time 0.1)     ;if there is 0.1 seconds of silence
  (cut-movie-clip movie time 0.1)          ;then remove that segment
  (set! time (+ time 0.1))))               ;otherwise move on to next segment

We also removed noise words (such as "um" and "ahh") by hand, and we believe that VideoScheme could be extended to assist in this step as well.

It was clear from our experience that while existing tools offer high-quality solutions for problems in their domain, they are often poorly suited to the ad hoc tasks that arise in innovative multimedia authoring. In such cases a programmable system may provide the necessary flexibility to turn a tedious, manual process into an automatic operation. It may also permit entirely novel operations. In his work on a programmable graphics editor Eisenberg noted that such an editor can produce effects, such as fractals and recursive Escher-like designs, that would be near-impossible with manual tools [Eis91]. Likewise we can imagine VideoScheme programs to implement algorithmically defined effects, such as fades and wipes, that could hardly be achieved any other way.

A critical concern with authoring tools is the speed with which new applications can be developed. Traditional programming environments (featuring compiled languages such as C and C++) offer complete access to the computer hardware and data, but can require months or years of effort to produce a usable tool. Object-oriented frameworks accelerate the process somewhat, but even then many details must be coded by hand. By contrast, a rapid-turnaround interpreted language like VideoScheme makes it possible to write applications in minutes or hours. Tool authors do not need to master the low-level details, and powerful operations can be composed out of very high-level primitives and previously-written functions.