A developer's-eye view of Leopard, part I
Xray and Core Animation stand out among Apple's immense bag of new Leopard tricks
Developers don't have to recode to take advantage of Xray, so its effects will be felt across a broad range of applications. Even those mysterious, seemingly random bugs can't hide from Xray (hence its name): Just run your app until it fails, then rewind. Such tools exist elsewhere, but none can match Xray's price tag: free.
Graphics get a move on
Core Animation is certainly the most demonstrated of the new features that Leopard makes available to developers. In demos, texture-mapped tiles fly in various dazzling and perfectly orchestrated formations, each seeming to have a will and mission of its own. It seems that way because it's true: Every one of those image tiles does have distinct behavior associated with it. Will it change developers' lives? Maybe not, but Apple teases Core Animation by saying that it's suited to development on set-top boxes. As I waited to enter the WWDC keynote, I carried a tiny seed of hope that Apple would open Apple TV to developers.
If you've ever tried to write code for OpenGL or, worse still, game code that talks directly to a GPU (graphics processing unit), you quickly understand why Core Animation has developers so excited. Core Animation produces real-time 3-D-like animation using Apple's blazingly fast Quartz rendering and compositing frameworks. However, it hides all of the complexity of Quartz and the rest of the Mac platform's imaging facilities. If you can see it, you can use Core Animation to map it to a rectangle and make it fly around.
Click for larger view.
By stacking and linking these surfaces, it's possible to have dozens or hundreds of flying images that behave very much like multilayered effects one would create in Final Cut Pro, but without the extra tools. And what Core Animation does, it does in real time.
Core Animation is not a GUI toolkit; surfaces cannot be made directly sensitive to user interaction. However, because Core Animation just creates a 2-D on-screen image, and the position of every surface is temporally deterministic — you know where a surface will be at a given time — developers can map mouse-click sensitivity to Core Animation elements just by watching for mouse and keyboard actions for the entire rendered area.
Apple has also updated base UI window classes so that they can use motion and even incorporate Core Animation layers as part of their presentation. Apple makes extensive use of Core Animation as a user interface technology in core Leopard features such as Quick Look rich document preview services and the Stacks Dock-based folder navigator.
The relative ease with which this can be done paves the way for unimaginably beautiful, knowledge-dense, and productive user interfaces and information displays, not to mention the value in entertainment and consumer electronics software