Programming the iPhone 101
with Chandler McWilliams
Date & Time
July 5, 2009, 12pm–4pm
July 8, 2009, 7pm–10pm
July 12, 2009, 12pm–4pm
July 16, 2009, 7pm–10pm
Machine Project
$225 for members
$250 for non-members


Learning to program for the iPhone can be a daunting challenge. A new language, a new development environment, new hardware, and new ways of thinking all before you have a working app.

This four session workshop will get you up and coding quickly so you can learn the intricacies of creating applications for iPhone by diving right in and doing it. We’ll cover the basics of Cocoa Touch, Apple’s framework for creating applications for the iPhone and iPod Touch, become familiar with objective-c, learn to use Apple’s XCode and Interface Builder development tools, learn how to use the built-in application templates, and how to access features like GPS and the accelerometer.

Chandler McWilliams is currently the technical editor for O’Reilly’s forthcoming book “iPhone User Experience” and is writing a book with Casey Reas titled: “FORM + CODE in design, architecture, and art”, due out next year on Princeton Architectural Press as part of the Design Brief series.

Workshop Requirements
You must have an Apple computer running the latest Mac OSX (Leopard Mac OS X 10.5.5 or higher) with the latest iPhone SDK installed. If you do not have the SDK, please go to http://developer.apple.com/iphone and register for free to download the SDK. Please note that the SDK is a rather large download, so please install it before the beginning of the workshop to save yourself time.

Prior Experience
Building applications on the iPhone requires some knowledge of the Objective-C programming language. We’ll cover this in the workshop, but prior programming knowledge is HIGHLY recommended, and a working familiarity with objects and Object-Oriented Programming will be very helpful.


Sorry, this class is SOLD OUT. Email machine@machineproject.com to get on the waitlist for a future session.

Class 1
Sunday, July 5, 12pm–4pm
with Chandler McWilliams

Cocoa Touch Overview
What is Cocoa Touch
Tour of the IDE
What goes where
iPhone Simulator
Interface Builder
Using a GUI to make a GUI
Hello World!
First look at Objective-C
How Objective-C is NOT normal
Cocoa and MVC
Creating a controller
Create a View
Connecting to the View
Using Delegates

Class 2
Wednesday, July 8, 7pm–10pm
with Chandler McWilliams

A look at the standard user interface elements
Working with text
Working with sheets
Creating a more advanced app using App templates
Creating a Tab bar-based app
Intro to table views

Class 3
Sunday, July 12, 12pm–4pm
with Chandler McWilliams

App templates continued
Creating a Navigation-based app
How navigation works
Table views in navigation based apps
Working with WebViews
User Defaults
about bundles
Saving Data
the sandbox

Class 4
Wednesday, July 16, 7pm–10pm
with Chandler McWilliams

Hardware features
Using Location services
Using the Accelerometer
Using the Camera
Testing your app on the iPhone or iPod Touch