small medium large xlarge

Creating a Compelling User Interface with Core Animation


Cover image for Creating a Compelling User Interface with Core Animation

Creating a Compelling User Interface with Core Animation


No longer offered.

Core Animation adds that “wow!” factor to your Cocoa and iPhone applications. It’s not just cool, it also improves the user experience to make your application a cut above the rest. Learn how to create an animated and cinematic user interface with Core Animation from Bill Dudney, an experienced Cocoa developer.

Customer Reviews

Fantastic screencast series!

- Adam Burt

About this Title

Available in: DRM-free iPod/iPhone 3 Video, Quicktime Video, and iPad/iPhone 4 Video
Download and watch when and where you want

No longer offered.

What better way to learn how to spice up your Cocoa or iPhone application than by seeing Core Animation in action! By watching these video tutorials, you’ll learn how to use the Core Animation API to add stunning animations to your applications. You’ll not only learn more about Core Animation, you’ll also see ways to streamline your development workflow.

In addition to the videos, you can also download the source code for each episode so you can experiment on your own.

  • Watch the preview (3 mins, QuickTime) highlighting the Cover Flow application Bill creates in these screencasts.

Note: The examples used in this screencast are for Core Animation on the Mac, not the iPhone. However, all the concepts and techniques apply equally well to using Core Animation on the iPhone.


Contents & Extracts

In this screencast series, we’ll build a Cover Flow application for photos on the Mac, similar to the one in iTunes.

  • Episode 1: Getting Started with Animations

    We’ll build our first animated layer, starting from the very basics of building a new Xcode project and ending with moving a photo in the layer around the screen. You’ll learn how to:

    • create a layer and add it to a view
    • use Interface Builder to create the interface
    • load an image into a layer
    • set the bounds and position of a layer
    • move a layer around based on key events
  • Episode 2: Customizing the Animation

    We’ll customize the duration, timing, and rotation of the animation used to move the photo in our application. You’ll learn how to:

    • override how Core Animation searches for custom animations
    • add timing functions to animations
    • change the duration of animations
    • rotate an animation
    • use implicit and explicit animations
  • Episode 3: Using a Custom Layout Manager

    We’ll use various layout managers to arrange multiple photos in our application. You’ll learn how to:

    • change constraints in Interface Builder
    • use the built-in constraints-based layout manager
    • build a custom layout manager
    • apply various layout techniques
  • Episode 4: Creating Perspective Transformations

    We’ll give our photos perspective by applying 3D transformations to rotate the images in 3D space. You’ll learn how to:

    • apply 3D transformations to layers
    • debug animations (prompted by an innocent typo near the end)
    • refactor code in Xcode
    • use various effects leading up to the richness of the Cover Flow app
  • Episode 5: Integrating with iPhoto

    We’ll replace our hard-coded photos with photos pulled from iPhoto albums
    using a pop-up list to select the album. You’ll learn how to:

    • integrate with iPhoto using the Scripting Bridge framework
    • interface with applications that are AppleScript-enabled
    • use the sdef and sdp tools to generate header files
    • bind a controller to a pop-up list to select photo albums using Interface Builder
  • Episode 6: Adding Reflections and 3D Transformations

    In this final episode, we’ll finish up the Cover Flow application by
    adding reflections to each of the photos and apply 3D transformations
    to the side photos. You’ll learn how to:

    • add images and their masks to a reflection layer
    • use Quartz drawing functions to create gradients for reflection masks
    • rework the layout manager to properly handle 3D transformations
    • apply 3D transformations and blur effects to images
    • use a sublayer transformation to apply perspective transformations to the layer


These screencasts are designed for Cocoa programmers who have a basic working knowledge of Objective-C, although you can follow along if you know any object-oriented language.


Bill Dudney is a software developer and entrepreneur currently building software for the Mac. He’s also the author of Core Animation for OS X and the iPhone. Bill started his computing career on a NeXT cube with a magneto-optical drive running NeXTStep 0.9. Over the years, Bill migrated into the Java world, where he worked for years on building cool enterprise software. But he never forgot his roots and how much fun it was to write software that did cool things for normal people. Bill is back to AppKit to stay. You can follow him on his blog.