San Jose / Sessions

A speech bubble icon

Session List for
CocoaConf San Jose 2014

Speakers at last year's CocoaConf
  • Speaker photo

    Sprite Kit and UI Kit walk into a Bar / Josh Smith

    Sprite Kit is one of the most exciting frameworks Apple has ever released. It can also be used for things other than just games. This talk will cover using Sprite Kit in UI Kit applications to provide interactivity and gamification. This talk does not require any Sprite Kit experience.

  • Speaker photo

    "Why would you do that? Ever?" Less Judgy Code / Laura Savino

    We've evolved feelings of revulsion & disgust to help us avoid foods that make us sick--and lots of us use similar instincts to keep cruft & antipatterns out of our code. This might make for a healthy codebase, but can be pretty toxic for human interactions. We'll talk about keeping high standards *without* getting all mad.

  • Speaker photo

    APIs: The good, the bad, the ugly / Michele Titolo

    Apps consume a lot of web services these days. Sometimes, these new services can be fantastic, and other times not so much. Learning how to evaluate APIs and identify problem areas before jumping head first into development can save us frustration, time, and money. This session will walk through evaluating an API, best practices, and red flags, all from the standpoint of an iOS dev. No matter your experience level, you'll leave with the skills to effectively tackle your next API.

  • Speaker photo

    AV Foundation Film School / Chris Adamson

    From the days of Mac telling PC about iMovie, to 2013's holiday ad with the kid making an on-the-spot family Christmas video, Apple's platforms have long excelled at working with audio and video. In the 90's and 2000's, that was thanks to QuickTime, but over the last few years, that's given way to AV Foundation, introduced in iOS 4 and Mac OS X 10.7 (Lion). This Objective-C-based framework gives the iOS or Mac developer the ability to play and create audio and video files, stream from the network, and capture from cameras and microphones, all with a deep level of customizability.

    In this class, you'll get a deep dive into AV Foundation on iOS -- playing, capturing, editing, and exporting -- touring the highlights of the framework, and peeking behind the curtain into the underlying Core Media framework. Nearly all of the material covered can also be ported as-is to OS X.

    The tentative agenda is as follows:

    • Playing video files - inspecting metadata, adding to your UI, controlling playback
    • Playing HTTP Live Streaming URLs
    • Basic capture - inspecting / choosing / configuring input devices, connecting inputs to outputs, showing a capture preview, writing to files
    • Advanced capture - receiving data callbacks, running video frames through Core Image filters
    • Basic editing - creating compositions from clips, export
    • Advanced editing - overlays and transitions
    • Power Tools - reading and writing samples directly with AVAssetReader/AVAssetWriter

    Because AV Foundation's capture classes are not supported in the Simulator, attendees should bring an iOS device and everything needed to run code on that device (i.e., an appropriate cable, and Xcode provisioned to deploy to the device).

  • Speaker photo

    Achieving Zen with Auto Layout / Justin Williams

    Auto Layout was introduced in OS X Lion and iOS 6 as a new way to lay out elements in your applications. It also introduced frustration and confusion in developers as they worked to grasp this powerful new technology. Learn tips, tricks and best practices for leveling up your zen and understanding of Apple's new layout system using real world examples as the foundation to build upon.

  • Speaker photo

    All Day iOS Tutorial / James Dempsey

    New to iOS programming? This full day, hands-on tutorial focuses on the fundamentals to get you up and running. Over the course of the day, you’ll build two iOS apps while learning about the core tools, frameworks and concepts you need to start building apps of your own.


    • Hands-On with Xcode and Interface Builder
    • Introduction to Swift
    • Working with fundamental classes
      • Strings
      • Numbers
      • Dates
      • Arrays
    • Dictionaries
    • UIKit basics
      • View controllers
      • Displaying text and images
      • Tables
      • Master/Detail Navigation

  • Speaker photo

    Blocks for the reluctant programmer / Daniel Steinberg

    Recently some marquis developers have blogged and tweeted about how they have finally embraced using blocks. Have you been reluctant to join this "Block party"? In this session we'll look at when and why we commonly use Apple's block based API in our code and then examine concrete examples of where and how we should introduce blocks into our own code.

  • Speaker photo

    Breakpoint Jam / James Dempsey  and the Breakpoints

    A live performance by James Dempsey and the Breakpoints.

  • Speaker photo

    Building Connected iOS apps with Mobile Services / Chris Risner

    Learn how Windows Azure Mobile Services make developing your iOS apps a breeze with a feature rich and easy to use backend. We'll go over how you can take advantage of structured data stored in the cloud, send APNS push notifications with a single line of code, add authentication and secure your app, and much more. All of this with a native Objective-C SDK! We'll go over each feature and see how to use it with live coding demonstrations.

  • Speaker photo

    Collections: For All Your Stuff / Josh Smith

    Sure, you've used NSArray and NSDictionary.  But this talk is about the some of the less popular members of the Collections Classes.  I'll be talking about NSCountedSet,  NSEnumerator, NSIndexPath, and NSIndexSet.  This is a class for those who may be new to the Foundation classes and will provide a better understanding for some of the excellent classes available in the Collections Classes.

  • Speaker photo

    Crazy and Focused / Daniel Steinberg

    So much of the time we focus on what we do and how we do it.

    We read books on coding, we come to conferences, we download open source and sample code, we read blogs and listen to podcasts.

    During this session we'll explore why we do what we do and for whom. Whether you're inspired or depressed by this talk, you will think differently the next time you open Xcode and type Command-Shift-N and you'll pause before you upload your next app to the app store. Uploading is when you sign your name on your work.

  • Speaker photo

    Designing App Engagement / Jaimee Newberry

    With so many apps in the app store, what can you be thinking about to get and keep people interested in your app? Having a great concept is just the beginning. How much thinking goes into the personality and tone of your app? What about writing the error messages, alerts, calls-to-action, app descriptions or release notes?

    Whether you have an app concept yet to be built, or an app that's been out for a while, Jaimee wants to share some very important considerations in design thinking, on-boarding and copywriting to help your apps become more fun, delightful and engaging experiences for your users.

  • Speaker photo

    Exploring Whats New in iOS 7 / Kyle Richter

    iOS 7 is new and shiny and it contains a lot of great new APIs and Frameworks. The author of "iOS Components and Frameworks for iOS 7" will show you whats new, whats different and what you can do. This introductory level course will get you up to speed on all the new awesomeness of which is iOS 7 so you can hit the ground running making cutting edge iOS apps. Learn about UIKit Dynamics, TextKit, Sprite Kit, Game Controllers, Map Enhancements, Airdrop, and much more.

  • Speaker photo

    Get on the Audiobus (2) / Chris Adamson

    Audiobus is an iOS app that allows other apps to work together as an audio-processing toolchain: play your MIDI keyboard into one app, run it through filters in other apps, and mix it in a third. All in real-time, foreground or background. That such a thing is possible on the locked down iOS platform is remarkable enough, but what's even more remarkable is that hundreds of audio apps have added Audiobus support in the few months since its debut, including Apple's own GarageBand. In this session, we'll take a look at the Audiobus SDK and see how to create inputs, outputs, and filters that can be managed by the Audiobus app to process audio in collaboration with other apps on the device.

  • Speaker photo

    Getting Better / Matt Drance

    Research, Design, Develop, Debug, Ship, Repeat. Our profession is a cyclical and endless pursuit of perfection — or more realistically, of improvement, of progress. Our risks and decisions along the way shape what we can do afterwards. We'll start off the conference with an exploration of the challenges, disciplines, ethics, and thrills that help us chase the goal of always doing better next time: technically, professionally and personally.

  • Speaker photo

    Immutability in the Large and Small / Josh  Abernathy

    The variables, they aren’t a'changing. Immutability is a wonderful thing. It makes code easier to reason about, change, and multithread. But at some level, change has to happen. Immutable apps don't win ADAs. We'll philosophize about the anatomy of bugs and reasoning about code, and then delve into the implementation details of maximizing immutability while still allowing for change.

  • Speaker photo

    It's All in the Tools / Nathan Eror

    "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.

  • Speaker photo

    MVVM and ReactiveCocoa for the haters / Danny Greg

    The response to Reactive Cocoa (RAC) has been divided since we released it. People have either fallen in love, or been hugely skeptical.

    I'm with the skeptics… or at least I was.

    Programming has always been a means to an end for me. I wanted to build products and ship apps. Learning a new programming language, technique or tool because someone gave me a vague reason, such as saving key presses, never made sense to me.

    When @joshaber first showed me RAC I was dismissive, but it didn't take long for me to fall in love.

    In this talk I'll show how I was turned from a skeptic into a huge fan of RAC and MVVM using examples pulled straight from production code.

  • Speaker photo

    Mac programming for iOS developers / Daniel Steinberg

    iOS gets all the attention from the media but OS X is still getting plenty of love from Apple. In this session we'll look at what's different about programming the Mac. The visually obvious differences include apps with multiple windows and three notification centers. The code can look quite different as well. The Cocoa APIs are quite a bit older than the Cocoa Touch APIs and we also have a lot more memory and power available to us.

  • Speaker photo

    Makeover Your Table Views for iOS 7 / James Dempsey

    Give the table views in your app an iOS 7 makeover by taking advantage of new features and adjusting to subtle changes in appearance and behavior. We'll do a live makeover—add Dynamic Type and dynamic row sizes, modernize the selection appearance, update Storyboard settings and other bits of polish needed to make a table view shine on iOS 7.

  • Speaker photo

    Making Friends with Xcode / Laura Savino

    Xcode is a fabulous tool, but especially when you're just getting started, you might not know all the ways you can bend it to your will. We'll talk through both much-loved and little-known keyboard shortcuts, custom behaviors you should absolutely add, the joy of breakpoints, and if we're lucky, some super helpful new debugging components in Xcode 6.

  • Speaker photo

    NSConfidential / Mattt Thompson

    In this era of widespread surveillance, diminishing privacy, and ubiquitous connectivity, security is no longer the pet subject of paranoids—it's something everyone would do well to understand. This talk will explore topics ranging from steganography, cryptography, and low-level espionage to Bluetooth LE and APIs new to iOS 7, offering a good mix of high-level philosophizing and geeking out over low-level implementation details.

  • Speaker photo

    NSIncrementalStore — Bet you didn't think Core Data could do *that*! / Jonathan Penn

    Core Data is a SQLite ORM, right? No, it's so much more! We're going to dive into some novel uses of NSIncrementalStore, the delightful data storage abstraction behind the amazingly complex Core Data framework. This is an advanced talk exposing how fetch requests get fulfilled, how save requests put data to rest, and how we can tell Core Data about changes that happen behind its back. By writing custom incremental stores, you'll take advantage of all the caching, threading, transacting, and undo-ing that Core Data gives you for free but store that data any way you want. Boom.

  • Speaker photo

    Not Invented Here / Marcus Zarra

    We often hear the phrase "Don't re-invent the wheel." But what does that really mean? In this session Marcus will be discussing his opinion on this often quoted phrase as well as a discussion of the impacts he is seeing of third party libraries.

    Marcus will be discussing the very real current and future impacts the use of third party frameworks are having on the capabilities and knowledge of developers.

    Whether you are a developer who is new to iOS, an old hand or not directly related to writing code this talk will give you an interesting perspective on the current state of the iOS universe.

  • Speaker photo

    Scraping Barnacles from Core Data / Paul Goracke

    It is easy to be intimidated by Core Data's conceptual model and the amount of boilerplate code it seems you need to write. Learn key concepts and perspectives that will enable you to simplify your Core Data code, make it more reliable, and scrape away the boilerplate barnacles that have been slowing your coding velocity.

  • Speaker photo

    Software Design & Eclecticism / Mattt Thompson

    What makes Foundation stand out among other standard libraries is how thoroughly it's designed. From its date and time calculations to its internationalization and URL loading system, Cocoa APIs demonstrate thoughtfulness and a deep appreciation for understanding a problem in its entirety.

    In the service of cultivating a sense and appreciation of good software design, this session will explore a variety of topics, including beer taxonomy, SMPTE film timecodes, international shoe sizes, NFPA 704 "fire diamonds", and the French Republican Calendar, applying patterns and conventions in Objective-C and Cocoa to model these obscure subjects.

  • Speaker photo

    Stronger, Better, Faster with Instruments and Debugging / Kyle Richter

    Learn how to leverage the power of Apple's tools to increase the performance of your apps. Xcode and Instruments are filled to the brim with amazing tools and services that can make your app behave how you want. Learn how to work with Instruments and analyze crashes, memory problems, slow performance, and more. Using built in tools within Xcode learn how to simulate events that will happen to your user base out in the wild, and see what your app is really doing. Are you still debugging with NSLog statement? Learn how to leverage the power of breakpoints and what you can achieve with customization. Do you know how your app will work with high packet loss and a terrible cell network connection? Topics for beginnings and advanced developers alike. Learn from the horror stories of other developers so you don't need to encounter them yourself.

  • Speaker photo

    Stupid Video Tricks / Chris Adamson

    AV Foundation makes it reasonably straightforward to capture video from the camera and edit together a nice family video. This session is not about that stuff. This session is about the nooks and crannies where AV Foundation exposes what's behind the curtain. Instead of letting AVPlayer read our video files, we can grab the samples ourselves and mess with them. AVCaptureVideoPreviewLayer, meet the CGAffineTransform. And instead of dutifully passing our captured video frames to the preview layer and an output file, how about if we instead run them through a series of Core Image filters? Record your own screen? Oh yeah, we can AVAssetWriter that. With a few pointers, a little experimentation, and a healthy disregard for safe coding practices, Core Media and Core Video let you get away with some neat stuff.

  • Speaker photo

    Sure, UIKit Dynamics... But Is It A Good Idea? / Jonathan Penn

    The power to build dynamic animations with UIKit Dynamics is intoxicating. No longer are we bound to the cruel taskmasters of deterministic timing functions! Break free! But does this freedom come with it's own yet-to-be-discovered burdens? We'll take a look at what sets UIKit dynamics apart, and try to figure out if it's really useful or not.

  • Speaker photo

    Test Driven Development… by Controlling Dependencies / Jon Reid

    Test Driven Development seems like a good idea… for simple code that has no dependencies. But iOS code depends on Foundation, UIKit… we're doing a lot of networking and UI… you may think that TDD just doesn't work in such cases (thus eliminating most of your code). But that ain't so! In this talk, Jon Reid will show you how to turn dependencies around so you can write code that is testable. We'll look at tests, dependency injection, stubs and mocks, and an example of testing networking code.

    (Level: Introductory —no prior TDD experience required.)

  • Speaker photo

    The CocoaConf Game Show / Daniel Steinberg

    The speakers here at CocoaConf can talk for an hour or more on a variety of prepared topics --- but we bet they can't talk for an entire minute on topics we spring on them. Based on the long-running BBC game show "Just a minute", our panelists need to speak for a minute on topics suggested by our host and by the audience without hesitation, repetition, or deviation.

  • Speaker photo

    Town Hall / Jaimee Newberry

    Jaimee will talk through some common and maybe not-so-common client and team situations, and some creative solutions for how to handle things when they seem to be going every way but right.

    Bring your questions, ideas, frustrations, solutions and experiences to share at this super-fun open forum style session with Jaimee.

  • Speaker photo

    We Made An App For That / Jaimee Newberry

    This is your chance to shine! We'll take a quick look at several apps written by attendees with an explanation of what made the app interesting, challenging, scary, or just plain fun to write. Any attendee will be able to submit an application and the fine gerbils at CocoaConf will choose the final slate of apps.

  • Speaker photo

    What I Learned from Choosing a Mobile Back-End Service / Liz Hedstrom

    If mobile back-end services (mBaaS) are supposed to make our lives as app developers easier, why is it so hard to find the right one? Even when you think you know what you need, sometimes it’s not obvious until you dive in. Knowing that a bride who can’t get to her wedding planning information would be the fastest route to a one-star review, we considered the choices thoroughly. We evaluated seven different solutions for WeddingHappy and eventually settled down.

    In this session, Liz will review what she learned from the process and the criteria she used to find the best match for her app, her customers and her business.

  • Speaker photo

    You Bought What?! Lessons From Acquiring And Running Glassboard / Justin Williams

    After years of being a dedicated developer for OS X and iOS, Second Gear recently acquired Glassboard, a multi-platform tool for connecting, coordinating, and collaborating with one person or a group. Managing the iOS side of Glassboard was easy given an existing OS X and iOS background, but there’s no better way to be thrown into the deep-end on new technology than acquiring a legacy code base for foreign technologies like Android, C# and Windows Azure.

    Learn as Justin walks you through the process of acquiring a product from a legal, professional, and technical perspective. He’ll walk you through the process of dealing with lawyers and contracts, transitioning the technology from the old owner to Second Gear, handling the product announcements, and how he ramped up on new technologies quickly to hit the ground running with Glassboard after the sale announcement.

    He’ll also provide tips, tricks, and advice for managing a major platform as a single person for anyone else that is crazy enough to think it’s a good idea.

  • Speaker photo

    iOS 7 2D Game Development Workshop / Josh Smith

    Also featuring a live Jonathan Penn.

    This workshop is for people who are past the basics of iOS development and are interested in developing 2D games. When you finish, you will have developed two mini-games and have an understanding of how to prototype and test game ideas and mechanics. We will be covering Sprite Kit and its physics engine.

    When we are done you will be able to:

    • Prototype and play a game idea
    • Understand the management of art and assets
    • Have written two mini-games to show off to your friends

    This is an intermediate session, and it is assumed that attendees are iOS developers. At a minimum, you should know how to build and run apps and use iOS frameworks. You should have an Apple computer running Mavericks with Xcode 5 or higher. Being able to deploy to an iOS device during the session is optional, but may be helpful. This requires an iOS device with at least iOS 7.0.


    • 9:00 - 9:30 Ready Player One (Introduction, Setup, and Expectations)
    • 9:30 - 11:00 Level One: Space Run
    • 11:00 - 11:30 Level Two: Prototyping
    • 11:30 - 12:30 Level Three: Revenge of Proto Type w/ Show and Tell
    • Lunch
    • 1:30 - 2:30 Level Four: Pinball Physics 101
    • 2:30 - 3:30 Level Five: Advanced Physics
    • 3:30 - 4:00 Level Seven: Polish and Winning
    • 4:00 - 5:30 Final Boss: Show and Tell