Immerse yourself in application development and attend these excellent full-day iPhone and iPad application development workshops. Choose from topics ranging from “iPhone SDK Programming” to “iPhone and iPad app marketing!” If you're building or selling applications for Apple's mobile platforms, these workshops are exactly what you’ve been looking for!
MONDAY, APRIL 4
W-1 Professional use of Core Animation and the CALayer John Basile With basic use of the UIViews and UIControls you can create an iPad application, but to bring out the sparkle and excitement that users are drawn too... then you need ample knowledge of both Core Animation and CALayer APIs. By plowing down deeper than the basics, in this workshop, using Core Animation and the CALayer you will create professional-looking applications. The first half-day we will go over the basics principles of Core Animation and the different uses of the CALayer in theUIKit. We will work thru many examples from a high-level sample project that is provided… this will be a hands on teaching environment. After we get familiar with the tools we develop in the first half of the day… then things get very exciting as we will build, together, a full featured Presentation Application. The last half of the day, while we create the Presentation Application, you will also learn how to optimize and debug what’s going on with all these Layers your now creating. You will discover which properties to use and how to max out the performance of your application. The Presentation Application we create will include both basic and complex animations. Also, the Presentation Application will be using CATiledLayer, CALayer, CAShapeLayer and others in a multi-threaded environment, so that by the end of the workshop you will walk away knowing what it will take to create a professional iPhone/iPad application. You should have a working knowledge of Objective-C, and general knowledge of the iOS SDK.
W-2 iOS Augmented Reality Programming Jonathan Blocksom and Jonathan Saggau Millions of people now carry iOS devices capable of video input, geolocation, motion sensing and fast 3D rendering. Mix all those things together and the possibilities for Augmented Reality apps are amazing. This workshop, suited for people with some iOS development experience, will take you through all the steps required to build your own Augmented Reality apps on iOS -- including the iPad 2!
You’ll learn about using the device sensors including accelerometer, GPS, gyros, compass, and video; overlaying custom views and 3D renderings mixed with camera video; processing video for enhanced object tracking to make real time, networked AR apps.
This will be a hands on workshop where developers will program their own iOS devices. Knowledge of 3D graphics, sensors, GPS, etc. is welcome but not required. So bring your laptop, provisioned iOS device and come bend some reality with us!
W-3 Coming Up to Speed on Objective-C and Cocoa Fundamentals Daniel Steinberg You already know how to program and you have a great idea for an iPhone or iPad app - how do you make the transition to this new platform? You need to learn the language and key techniques of programming for iPhone 4.0 and then you'll be off and running. We'll begin this hand-on full-day workshop with an introduction to Objective-C, the language of iOS. You'll learn to create objects in code, send messages between them, and manage the memory. Once you've mastered the square brackets and colons you'll learn to create and connect objects without writing any code. We'll spend the second portion of the workshop learning to use Nibs -- a freeze dried graph of objects. You'll create outlets to communicate from your code to the nib and actions to communicate in the other direction. By the end of the day you will understand the key patterns used in iPhone development. You'll create view controllers whenever you need to present a new screen. You'll understand the role of the File's Owner and create nib files ruled by view controllers. You'll find yourself reaching for delegates rather than subclasses. In short, you'll be an iPhone developer. You will need the latest public version of Xcode and the iOS SDK installed on your Mac notebook.
W4-AM BlockHead: Blocks in Objective-C Jeff Biggus Blocks are a new C programming structure for iPhone and iPad developers. This workshop will be in two parts. Part one is a presentation going over everything blocks, from the big picture to the gory details. The goal is to get you comfortable with not only how to program blocks, but how to know when and why you'd want to use blocks, to look past the syntax to the design patterns. From using Apple's new iOS 4 block methods to creating and inventing your own blocks, the goal is to make this a new tool for attacking iOS design. If you're an iOS developer, blocks are a must to know about. Part two is a hands-on workshop, letting you turn the presentation into real code and seeing exactly how to go about using blocks. Code-up fresh blocks in class, or bring in existing code and see if blocks can't help you out. There will be group animations, UI un-blocking, multithreaded algorithms, and more.
W-5 AM Easy Mobile - Making Your Application Easier to Use Jason Mark This hands-on workshop will consist of critiques and walkthroughs of your applications with an eye to making them easier to use. We'll do some user testing, and bounce ideas off each other. We'll hack up screens and look for ways to better meet your goals. Our goal is to make sure that everyone leaves this workshop with at least 1-3 usability improvements made to their application, and a list of 2-3 other things that can be done.
W6-AM Three Hello Worlds in Three Hours Joe Pezzillo In this hands-on workshop, you’ll learn how to start with iPhone, iPad and iPod touch development using the classic "Hello, World" example using three standard iOS project types. The first is a basic UIView based project that starts with an empty canvas. You'll learn about using Xcode project templates, using Interface Builder and connecting UI objects to your code, basic "Caveman Debugging" techniques, and some gentle general introductions to Cocoa, as well. The second project is based on the workhorse UITableView class, and moves you up the learning curve with introductions to the Delegate and DataSource design patterns, the use of dot syntax and another workhorse class, NSString. The final example in the workshop is perhaps the most powerful class in all of Cocoa, UIWebView. Here, you'll learn just how easy it is to load a URL in a fully rendered web view in your app to start unleashing the power of WebKit. Along the way you’ll learn about memory management, collections and Cocoa Foundation frameworks, simulator vs. device debugging, and more. Time permitting, the instructor will present "Top 10 Tips & Tricks for New Cocoa Developers," a presentation that will further accelerate your scaling the "learning cliff." This workshop presumes you have some previous programming knowledge, but are just getting started with your very first iOS and Xcode projects.
W7-PM Using Core Animation to Build Complex and Attractive Interfaces Nathan Eror Core Animation plays an integral role in the iPhone user interface and is responsible for all drawing in iOS. Careful use of animation can make even an average app a joy to use. In this workshop you will learn how to effectively apply the features of Core Animation in your own apps. After an introduction to the principles behind Core Animation, you will learn how it is used in UIKit. Then, we will dig into the meat of Core Animation and how to use it effectively. Through multiple examples, you will learn how to tame some of the complexities of the Core Animation API. By the middle of this workshop, you will be comfortable with Core Animation, and your apps will run more smoothly and be more visually appealing. Core Animation puts a tremendous amount of graphical power at your fingertips. You can accomplish quite a bit with very little effort, but once you decide to step out of Apple's pretty little sandbox, things get more complicated. In the second half of the workshop, we’ll will get out our tools and make that sandbox a lot bigger. After an overview of the key pieces of the Core Animation API, we will create utility code to help us build complex, interdependent animations. This code will help us manage delegate callbacks, complex grouped animations, chained sequences of animations and much more. Before you know it, your UI elements will be bouncing, popping, fading and sliding on the screen with a single method call.
W8-PM Advanced Debugging and Problem Solving with Xcode 4 and GDB/LLDB Kendall Gelner Come to this workshop to learn about the range of debugging tools available in iPhone development - and gain practical approaches to solving difficult issues. We'll use dynamic runtime techniques using Xcode 4 Instruments (including some instruments new to XCode 4) and more static approaches using GDB to carefully trace down the root of problems in code, from memory leaks to mysterious crashes. The workshop also covers common pitfalls and ways to avoid creating issues up-front, such as techniques for placing dealloc and using viewDidUnload. You should have some experience in developing iPhone applications and using XCode, knowledge of instruments or GDB not required but helpful. We will also be covering new features in XCode 4, though much of the talk will apply to Xcode 3 as well. The course is a mixture of a 40-30 minute talks, separated by 30-minute lab sessions where you'll work through problems in a provided sample application. Please bring a laptop with the most recent production Xcode already installed, you may use a mixture of XCode 3 and XCode 4 if you prefer to install both. We'll cover instruments, such as leaks and time profiler, GDB and breakpoints, tools and techniques for error prevention and much more.
W9-PM Pretty Mobile - Making Your Application Look Sexy Jason Mark If you ever find yourself making graphical decisions on your application, this session is for you. This hands-on workshop will consist of critiques and walkthroughs of your applications with an eye to making them look amazing. We'll open up Photoshop and hack up screens and try new things. We'll look at best practice applications and give some tips on how to get there. Our goal is to make sure that everyone leaves this workshop with a list of design improvements that you can make to your own applications — and a list of other things to be done as well. We can't make you a designer in one workshop, but we can help you with that next step up.