by Peter Hosey
When a Cocoa (or Cocoa Touch) program goes wrong, the arcane messages and even complete lack of behavior that occur often leave new Cocoa and Cocoa Touch programmers mystified. I'll show you how to recognize each type of bug, and how to hunt it down and fix it.
by Mike Lee
So you've written an app. Congratulations! There's no feeling like the feeling of seeing the results of so much hard work and sacrifice appear, eternally bright and shining, on virtual shelves. There is no satisfaction like the satisfaction of having people invest their time and money to become a user of your product. There is no praise like the praise of a stranger who thanks you and your product for making their life better. But it only follows then that there is no despair like the despair of having someone shout out in the great assembled crowd that is the Internet, "this app sucks." Legendary product engineer Mike Leeā drawing from 8 years of experience working on such hits as Delicious Library, Tap Tap Revenge, Obama '08, and Apple's Mobile Store will show you how to squeeze the suck from your app. You'll explore common types of suck and their remedies, then dive deep on the underlying causes of suck to help you become the type of developer who makes apps that don't suck.
by Louis Gerbarg
CoreData provides a mechanism for saving and restoring simple object graphs, but its deep layering and underlying structure can lead to significant performance issues, and place inconvenient limits on the design of a developer's object graph. In this talk we will discuss the limits of what can and can't be done within the design of CoreData, and look at how relayering the underlying technologies used in CoreData we can create a new graph persistence framework that supports additional features such as ordered sets, dictionaries, scalars, and synchronization.
by Ross Boucher
This session will cover the basic ideas behind Cappuccino, including some background information on how and why it came to be, when you should consider using it, and how to get started.
by Boisy G. Pitre
With its strong user-interface, the Mac has been traditionally relegated to desktop tasks. This session will challenge developers to look at the opportunities for the Mac in data acquisition, automation and analysis applications in a variety of industries, and how the Mac stacks up against the PC in such a role.
Oftentimes, what separates an average developer from a great developer is the ability to debug. When faced with software that Just Doesn't Work, how do you go about finding the problem quickly and fixing it? In this session we'll cover some tools and techniques that can improve your debugging chops.
by Dave DeLong
NSPredicate is an under-exploited gem of the Foundation framework. Using its powerful parsing engine and clean abstract syntax tree, developers can build applications with dynamic searching and filtering capabilities. In this session we'll look at some of the nuances of NSPredicate: comparison vs compound predicates, internal structure, variable substitutions, NSExpressions, and using categories to add more power and flexibility to the predicate system. We'll also learn how to use NSPredicateEditor, the AppKit component for visually building NSPredicates. NSPredicateEditor is notoriously under-documented, and this leaves many developers struggling to understand NSPredicateEditorRowTemplate behavior and customizability. We will demystify both.
by Matt Neuburg
Many important Mac applications are scriptable through AppleScript; but AppleScript is a quirky, crusty language. Fortunately, the messaging system that scriptable Mac applications are really responding to, Apple events, can be created and sent using other languages. In this session we'll see that it's easy to write AppleScript using Ruby, a modern language that provides all the advantages of full string and file handling, modern data storage mechanisms, object-oriented dynamism, and a vast library of utility classes. This is possible thanks to rb-appscript, a free open-source module.
This panel will feature developers familiar with cross-platform development tools talking about the pros and cons to each approach. Best practices and Q&A.
by Wil Shipley
Wil is somewhat famously known for disliking unit tests. So how does he test his code? Wil talks about his methods for testing, including his test harness methodology.