Nathan loves creating software and helping other developers hone their skills. As the lead developer at Free Time Studios, he spends his days coding, teaching, and writing, and he wouldn’t have it any other way. An Apple and Cocoa fan since the turn of the century, Nathan has been a dedicated member of the iOS developer community since the day the SDK was released. Since founding Free Time Studios in 2009, he has helped organizations such as NASA, Thompson Reuters, and the U.S. Army ship their iOS apps and train their development teams. Nathan is author of the Free Time Studios iOS Development Workshops, and his seminars and speaking services are popular attractions at iOS and Mac developer conferences around the globe. Nathan is also an active member of the developer community in Houston, and is the co-organizer of the Houston iPhone Developer Meetup group and the creator of iPhoneDevCamp Houston.
iOS 3.2 and 4 brought us a greatly simplified and more powerful event handling system built around multi-touch gestures. Like most Cocoa APIs, UIGestureRecognizer can be as complex and flexible as you want to make it. We will do both in this session. You will learn how easy it is to implement swiping, pinching, panning and rotating using the built in gestures. You will also learn how to combine the built in gestures and create your own to make interacting with your apps a wonderful experience for your users.
Multicore has officially come to iOS devices, and taking advantage of those cores in your apps is simpler than you might think. Concurrent programming is never easy, but GCD makes it a whole lot easier. In this session, you will learn the ins and outs of GCD and how to use it to effectively. We will cover topics like: * Concurrent and serial queues * Creating your own queues * Synchronizing access to shared memory without locks * Using semaphores to keep execution under control * Using dispatch sources for asynchronous data access * Using Instruments to profile and optimize your concurrent and asynchronous code
"Engineer", "craftsman", "artist". These words have all been used behind the word "software" at some point. And they all fit.
Building great software requires the perspective of a polymath. Nowhere is this more evident than in the tools of software development. The tool landscape is as varied as it is vast, but these tools all have a unique quality: nearly every one was designed and built by software developers. It is a rare luxury for a professional to have such an intrinsic understanding of his tools as well as the knowledge to build his own. In this session, we will expand on both of those ideas.
For your engineering side, we will explore the Xcode toolset with a focus on automation and optimizing workflow. Next, we will inspire the craftsman in you by looking at custom generic and single-use tools. Finally, your inner artist will be inspired when we look at creative uses of software outside of the traditional developer toolbox. By the end of this session, you will have a deeper understanding of the tools you use every day, and you might find a new use for some of that other software gathering dust on your hard drive.