The Design and Implementation of Multimedia Software with Examples in Java

Multimedia is hot and, as a result, there are many books with the word "multimedia" in the title. The Design and Implementation of Multimedia Software is intended for software engineers and object-oriented programmers who are interested in designing and developing multimedia software. At a high level, it discusses the physics, biology and psychology of visual and auditory perception and the implications of these processes for the characterization of multimedia software. At an intermediate level, it discusses the use of various patterns in the design of multimedia software. At a lower level, it discusses different ways of adding multimedia functionality to applications of various kinds. It can be viewed as both a book about multimedia software that uses object-oriented design/programming, and a book about object-oriented design/programming that happens to use visual and auditory examples (such as image processing, vector graphics, video, animation, audio processing, and musical scores).




On-Line Supporting Materials

Documentation for the Classes from the Book
Errata
Example Applets from the Book/Lectures
Lecture Materials

Downloadable Supporting Materials

Documentation for the Classes from the Book (.html)
Lecture Materials (.pdf) and Executable Examples (.jar)
Source Code (.java)

Supplemental Materials

The Design and Implementation of Multimedia Software assumes that the reader has experience with the basics of both multi-threaded programming and design patterns. If you don't have the necessary background and don't want to buy additional books, you can download the Supplements on Multi-Threaded Programs and Design Patterns. For instructors, lecture materials are also available for these supplements.

Short Films

Some of the examples have been converted into short films for convenience. They are available at: Shorts

An Implementation in JavaScript

The code developed in the book and the examples were partially ported to an early version of JavaScript. An alpha demonstration is available for preview.

If there is demand, it may be ported to a more modern version of JavaScript.