Datasheet
QuickTime
Apple Computer invented QuickTime back in 1991 as a way to describe, author, and play back video on
Macintosh computers running System 6 and System 7. Since then, QuickTime has exploded into a cross-
platform library encompassing a variety of multimedia file formats and algorithms. QuickTime provides
tools for working with digital video, panoramic images, digital sound, MIDI, and more. It has spawned
entire genres of software, including CD-ROM adventure games, digital audio/video editing suites, and
desktop video conferencing.
Mac OS X increased Apple’s commitment to QuickTime by building it directly into the operating system.
Though versions of QuickTime shipped with Mac OS releases since the earliest days of QuickTime,
Mac OS X actually relies on QuickTime in ways earlier OS versions did not. For example, Finder uses
QuickTime to allow you to preview video and audio files directly in the Finder when using column
view. Mac OS X’s Internet connectivity apps, including iChat and Safari, make substantial use of
QuickTime.
It is interesting to note that because QuickTime predates Mac OS X by ten years, its programming inter-
face does not leverage Quartz 2D directly. QuickTime instead uses an older two-dimensional graphics
library that is part of Carbon, called QuickDraw. The QuickDraw graphics library dates back to the earli-
est Macintosh computers, and through the years it has been extended to support color displays, off-
screen drawing, color correction, and other features. Although QuickDraw has been replaced by Quartz
2D within most of Mac OS X, programmers must still use QuickDraw data structures to work with
QuickTime.
The QuickTime API is supplied by the QuickTime framework:
/System/Library/Frameworks/
QuickTime.framework
. The QuickTime programming interface has undergone nearly 15 years of evo-
lution, and many of its concepts are quite advanced. We look at some of QuickTime’s more humble roots
in Chapter 8.
Application Frameworks and UI
All applications rely on common interface elements to communicate with the user. By packaging these
elements in a library, an operating system can make sure all applications look and behave the same way.
And the more functionality the operating system provides “for free,” the less work application develop-
ers need to do themselves.
Toward that end, Mac OS X provides a number of application frameworks, as shown in Figure 1-6, upon
which programmers can build their applications: Cocoa, Carbon, and the Java JDK. These frameworks,
described in more detail in the following sections, all provide the basic concepts essential for application
design: how events are processed by the application, how window contents are organized and drawn,
how controls are presented to the user, and so on.
It is important that all applications present their UI in a consistent manner, regardless of which applica-
tion framework the program uses. In other words, all windows, menus, buttons, text fields, and so on
should look and behave the same way on Mac OS X. These UI elements together on Mac OS X form a
distinctive user experience that Apple calls the Aqua user interface. Consistency among apps is so
important that Apple has published guidelines enumerating the proper way to use Aqua user interface
elements; these guidelines are called the Apple Human Interface Guidelines.
15
The Mac OS X Environment
05_573993 ch01.qxd 6/16/05 2:22 PM Page 15