In this page we introduce some ideas hidden behind the Osaka University Screensaver.
Mac OS X
Mac OS X provides numbers of the most advanced technologies in terms of software engineering, including fully vector graphics model, fully object-oriented frameworks, and easy-to-use networking schemes. These features are mostly derived from NeXT step and BSD but have been brushed up for years.
The power of the Mac OS X comes from the flexibility of its development language Objective-C. Unlike C++ or Java, the Objective-C is truly objective. It is rather a mixture of Smalltalk and C than an extended C language.
If you are a Mac programmer, we strongly recommend that you learn Objective-C. If you are a computer scientist, you MUST learn Objective-C.
From version 10.0 the Mac OS X has provided Screensaver Framework that allows developers to easily create their own screensavers.
The Screensaver Framework provides ScreenSaverView class. You can simply override appropriate drawing method to implement the original screensaver.
The normal Cocoa imaging model (combination of NSView, NSBezierPath, and NSImage) are usable in ScreenSaverView, as well as raw Core Graphics calls if you prefer. The Core Animation model is also usable in ScreenSaverView.
Quartz refers the set of Quartz Compositor (window compositing system), Quartz 2D (marketing name of Core Graphics and Cocoa imaging model), and Quartz Core (Core Image, Core Video, Core Animation).
The Quartz 2D is a modern (vector-based) 2D graphics layer. You can draw arbitrary Bezier curves on or off the screen. It shares the same concept of the NeXTstep's Display Postscript.
The Osaka University Screensaver uses Quartz 2D and Core Animation (part of Quartz Core).
Core Animation is a simple but powerful animation engine built in Mac OS X 10.5. The concept of Core Animation is highly sofiscated sprite engine (mostly used in 1980s).
The Bonjour is an Apple's implementation of ZeroConf networking technology.
The Bonjour networking is a kind of technology to enable plug-and-play of networked equipments. The Bonjour also gives developers kind of plug-and-play programming. You can simply write call-back functions to send/receive data (actually the Cocoa environment doesn't use call-back, but the concept is almost the same).
Other OpenSource projects of PineappleDesign.org are available here.