The first edition of “Head First iPhone Development” came out in 2009, which feels like decades ago in app years. Now, with “Head First iPhone and iPad Development” arriving earlier this summer, I checked in with the authors of both editions, Dan Pilone (@danpilone) and Tracey Pilone (@traceypilone), to get their take on the maturation of the iOS world, how the iPad has changed development patterns, and what they hope to see in iOS down the road.
Our interview follows.
Has the learning curve for iPhone/iPad development improved?
Dan Pilone: That’s a really tough one to judge after spending so much time working with iOS. I think the fundamentals are still the same: you still need to learn Objective-C, you’re still dealing with memory management, you still need to learn the core Cocoa Touch patterns. In some ways it definitely has gotten easier. For example, Xcode 4 is a huge step forward. Provisioning and iTunes App Store submission have been streamlined as well.
However, iOS has gotten harder in some ways. There are a lot more devices in the mix and iOS as a platform is bigger than ever. You have Game Kit, Map Kit, Store Kit, Grand Central Dispatch (GCD), fully capable audio and video frameworks, and more, all under the umbrella of iOS. There are entire parts of the iOS SDK that you might never bump into depending on what kind of apps you’re writing. It’s a great platform to develop for, but I don’t know if I’d describe it as “easy” just yet.
Tracey Pilone: Actually, I’d say it’s gotten worse! When iPhone development started, it was just one iPhone, with fairly limited developer access to parts of the OS, like multitasking. Since the last time we wrote the book, we have multiple iPhones, different displays, iPads, different OS versions to support, etc. You can start in the same place, but the topics for us to cover have expanded.
How have iOS development tools evolved since you wrote the first edition of your book?
Tracey Pilone: The tools have evolved a lot, which is part of why it took us a while to print an update. Xcode 4 was announced and in developer preview for months, and we struggled over when to print the new edition. We finally went ahead when Xcode 4 became public.
Xcode 4 integrated Interface Builder and dramatically changed the workflow, mostly for the better. You can link outlets and actions directly to code, unlike in previous versions. The editor for the views is completely integrated. Git support is included and there’s better support for coding with features like code completion.
Dan Pilone: The provisioning and signing tools have significantly improved and you can now do application validation prior to submission, which saves on needless round-trips trying to get your first application in the App Store. Testing tools have improved a good bit with Unit Tests being a first-class part of Xcode. Automated UI testing through Instruments is a big win as well.
Have you noticed any iOS development trends tied to the popularity of the iPad?
Tracey Pilone: What we have seen is that clients come to us looking for completely different experiences out of the iPad verses the iPhone. The iPad has opened up lots of possibilities for extended user interaction. The iPhone is always with you, but the interaction time frame is significantly shorter. It’s been fascinating for us to see so many different types of uses for the devices.
Dan Pilone: I love the way iPad application UIs have evolved since the iPad first came out. Apple has gone to great lengths to get developers to think differently about iPad application UIs, and this has resulted in some really stunning apps. The integration of iPad applications and UIs with the real world is the most fascinating aspect. The virtual game board in “Scrabble” and Adobe’s applications for working with Photoshop are examples.
What technical issues does iOS need to address?
Dan Pilone: Provisioning and certificate management are still harder than I think they should be, but my biggest issue is the lack of a garbage collector. I understand the constraints of a mobile device and I’m willing to put up with it, but right now, to the best of my knowledge, garbage collection is the biggest hurdle to getting MacRuby as a viable development platform for iOS. I like the Cocoa Touch framework, and GCD is absolutely unmatched by anything else I’ve used. But I’m still lukewarm on Objective-C. If Apple makes iOS development more approachable through something like Ruby with real garbage collection, I think the application rush will start all over again.
At this point, do developers have to choose one mobile platform over another?
Tracey Pilone: The overlap for iOS and Android is there, but it’s limited. UI and graphics work can be used for both, but they won’t share any code. There are a lot of mobile developers out there who can do Android and iOS, but our experience has been that the iOS market is significantly stronger than Android.
What aspects of app development — or types of apps — are you most interested in?
Tracey Pilone: I’m most excited about the prospects for education with iPads. The ability to integrate video, audio, reading, and tactile exercises into teaching topics is a great area for growth and it has the potential to deliver good teaching even to those students who can’t physically be in the classroom.
Dan Pilone: For me, it’s the idea of mobile devices acting as entry points for users into an always-connected network of information. We do Rails development in addition to iOS development, and I’m much more interested in applications that present me with exactly the right UI to plug into and take advantage of interconnected back-end systems. Combine heavy lifting on the server side with the location awareness and always-on connectivity of a mobile device and you have a pretty amazing change in how people interact.
Web 2.0 Expo New York 2011, being held Oct. 10-13, showcases the latest Web 2.0 business models, development tools and design strategies for the builders of the next-generation web. Save 20% on registration with code WEBNY11RAD.
- Head First iPhone and iPad Development (Book)
- Where do developers draw the line with Apple?
- Designing for the iPad: How it’s different from the iPhone and what you need to consider
- The iPad’s ripple effect