Creating a Compelling User Interface with Core Animation
screencasts with Bill Dudney
What better way to learn how to create an animated and cinematic user interface than seeing it in action! In these screencasts, experienced Objective-C developer Bill Dudney incrementally builds a Cover Flow application using Core Animation. You’ll learn how to get started with Xcode and use the Core Animation API to add stunning animations to your Cocoa applications.
Throughout these 20-30 minute screencast episodes, you’ll get inside the mind of an experienced Cocoa programmer: his thought processes, his development techniques, the tools he uses, and the tricks of the trade. You can follow along with each twist and turn as he adds new features and refactors existing code to shape the application over time. You’ll also see how he troubleshoots problems that crop up along the way. You’ll not only learn more about Core Animation, you’ll also see ways to streamline your development workflow.
- Watch the application preview (3 mins, QuickTime) highlighting the Cover Flow application Bill creates in these screencasts.
- Download and watch DRM-free episodes when and where it's convenient for you
- You get both QuickTime and iPod/iPhone formats, and Theora Ogg format for select topics
- Only $5 per episode!
Buy Now
All the episodes in this screencast series have been released.
Episode Contents
-
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
sdefandsdptools 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
Audience
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.
About the Episodic Style
Watching developers work is like getting inside their head. Just by sitting beside them as they work, you can learn a bunch of tricks to help improve your workflow. And when experts do their best work, it's usually not a linear process where everything is planned out in advance and works the first time. Building applications is more organic than that. It's like watching a series of programming episodes.
These episodes were designed to help you learn in a significantly different way than reading through the books. In fact, screencasts complement the narrative in books by showing you how it's done using elements of time and motion. Seeing is believing!
We currently have a few episodes to start the "season", and we'll release new episodes over time (generally every week or two). Source code is available for each episode, including all of the work that has been done up to that point. So, you can pop in to episodes out of order and have the code you need to get started. We don't know exactly how many episodes there will be for any given series. If you've purchased an episode in a particular screencast series, and your account is configured to receive e-mail announcements from us, we’ll send you an e-mail when new episodes are released for that series.
About the Screencaster
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.
