iPhone
Recommended Books
People often ask me about good books with which to learn iPhone programming. Apple does provide some really good PDF documents but until recently there were no options for printed books. This is a list of books that I like.
iPhone SDK Development by Bill Dudney is a great place to start. As of early Dec 2008 it is not available in print but is available as pre-release 'beta' pdf from pragprog.com
Programming in Objective-C 2.0 by Stephen G. Kochan is a great way to learn Objective-C.
The iPhone Developer's Cookbook by Erica Sadun is really interesting book. You need to be careful with some recipies to avoid the unauthorized APIs but you learn many great tricks from the others.
Cocoa(R) Programming for Mac(R) OS X by Aaron Hillegass is not specific to the iPhone but will give you a great overview of desktop Cocoa programming and you learn a lot of things that you can then use in Cocoa Touch.
Xcode 3 Unleashed by Fritz Anderson is an advanced book covering the Xcode development environment. The book is not strictly necessary but may help you create and build custom libraries, frameworks, etc.
Core Animation for Mac OS X and the iPhone by Bill Dudney is not only an iPhone book but if you want do Core Animation work using CALayer and such its a great overview.
iPhone Developer Training Course in New York City
iPhone Dev Camp Colorado
It looks like Danny Newman et al. at iPhone Dev Camp Colorado are working on putting together another iPhone Dev Camp Colorado. This one in Boulder on December 12&13. I would love to see this happen so if you are at all interested please send him an RSVP and maybe offer to help in some way.
Now Offering iPhone™ SDK Training
I am very pleased to announce iPhone SDK development training in conjunction with Intrinsic Development and About Objects.
The first course is scheduled for Dec 10-12 in Reading, UK and we are working on scheduling more courses in various cities. Let us know if you want one near you.
The course focuses on the essentials of Objective-C and Cocoa Touch. Learn the tools, the libraries, the concepts, and the best ways to get things done, with plenty of hands-on exercises to reinforce it all. Topics include:
- Cocoa Touch Design Patterns: Accelerate your learning by discovering how Apple leverages Model-View-Controller and other key design patterns.
- Work with Table Views: Create data source and delegate methods to present and manage your application's data in table views.
- Manage Navigation: Learn to use Apple's navigation controller, tab bar controller, and other UIKit view components to implement navigation in your app.
- Handle Multi-Touch Gestures: Manage standard UI controls and custom components correctly in response to user input.
- Custom Drawing: Learn to use Core Graphics and Core Animation to customize UI components, display and manipulate images, and provide rich animation for graphical elements.
- Persist Application Data and UI State: Discover easy and efficient techniques for storing and retrieving information.
- System Events: You'll learn how to take advantage of the iPhone's built- in accelerometers and other system resources for accessing system events.
- Memory Management: Learn how to manage memory using retain counts and autorelease pools, while avoiding common pitfalls.
- Integrate with Core Services: Integrate your application with Address Book, Maps, Safari, Mail, and other iPhone apps and services.
- Design for Modularity: Take advantage of dynamic loading to reduce complexity, improve performance, and ease maintenance.
- Performance Monitoring and Debugging: Use Apple's Instruments utility and the GNU debugger (gdb) to isolate and fix problems and to eliminate hot spots and memory leaks.
Hope to see you there.
Taking a Peek: How People Really Use the iPhone by Create With Context
Eric Litman recently tweeted about the Taking a Peek: How People Really Use the iPhone by Create With Context.
It summarizes a UI/UX study performed on iPhone applications with a people of varying iPhone expertise. It is very eye opening and a must read if you are working on the interface for an iPhone application.
Some items of interest.
- Icons don't always mean the same thing to people such as the magnifying glass to search vs zoom and the x button to clear vs as a "go" button
- Sometimes users expect direct manipulation (tapping on something) vs tapping the edit button.
- Selecting an item vs getting information about it can be confusing.
- Sufficient highlighting and feedback are critical.
- The importance of the icon when purchasing
And many more. You really need to read it.
And, I'm one of those that think every application should swipe to the next item/document and go into landscape mode for easier reading.
iFriendFlash is in the app store
iFriendFlash is in the app store. It basically makes flash cards out of the people with photos in your address book.
I wrote it because I was meeting a lot of new people and kept forgetting their names. iFriendFlash gives me an easy way to refresh my memory on a group of people.
If you have a few minutes feel free to try out the app. You can also write a review if you like it. Also, if you have any comments, thoughts, ideas, reactions to any of this (the app, the website, anything) please let me know. It will help me improve the whole experience for future users.
You can get it at the iTunes app store.
And more info is available at iFriendFlash.com
Thanks.
Colorado iPhone Developers November Meeting - UITableView and friends
We will be downtown at the Library this month where we'll continue learning about iPhone development.
- I'll lead a discussion on using UITableView and related classes.
- We'll talk about the projects we are working on or find interesting - Bring your questions
- Afterwards we can cross the street to Phantom Canyon
Make sure you help spread the word and bring anybody that is interested in the iPhone.
If you would like to speak (you don't have to be an expert) or have a question or topic of interest let me know.
See you there.
The New York iPhone Software Developers November Meetup
Our next meetup for the NYC iPhone developers group is Nov 20th at Tekserve. Check out the website to sign up.
The basic outline for the evening is:
Introductions - Who is a developer? entrepreneur? business person? philonthropic millionaire?
Tech talk -
Application show and tell - 5 minutes of what you have done or are working on
Favorite app of the month
Q&A - announcements
Give aways / discounts (books)
Retire to Jake's Saloon for more talk and a drink
See you then.
Free: Introduction to iPhone development workshop
*** This workshop is now (really, really) full. I'm sorry but the we have limited physical space and just can't accommodate more people. ***
On Saturday Nov 22, 2008 10am - 2pm. I'm leading a free introduction to iPhone development workshop at Tekserve in NYC.
The workshop is aimed at new developers and anyone interested in getting oriented to iPhone development.
We only have a few hours but we will cover as much information as possible and afterward you will have a clear understanding of the process and what is involved in developing for the iPhone and iPod
touch.
We will start with live coding of the classic simple "Hello World" application to get an overview of the steps and tools involved. Then we'll step back and delve into the basics to get a good foundation. Then we'll spend some time with UITableView and related topics. And finally we'll end up discussing other topics as time permits.
If you are interested in attending please sign up through The meetup group or through this website E-String so that we can keep you informed of any changes. Attendance is limited due to space restrictions at Tekserve.
If you know of anyone who could benefit please pass this information along.
I look forward to seeing you there.
Thanks.
BrightKite Client App is in the App Store
The new BrightKite client application is in the app store and it looks really really good. BrightKite is a location aware social network. I worked on this project over the summer and am really happy to see it come out so well. Brady and Martin are great guys and everyone involved deserves a big congratulations.
Just to be clear, I was one of several programmers on the project. I worked on it while in Colorado for part of the summer. Then, when I went back to NYC and the app went to beta, development scaled back and I left the project. The programmers that stayed on did a great job.

