Report from Teki Con

2018-03-22 07:00:00 -0400

Last week two of our developers, Micah Moore and Billy Gray, attended Teki Con, a three-day, single-track iOS development conference in Atlanta, Georgia hosted by Catamaran, LLC. Getting into WWDC can be tough these days so we’ve had our eye out for a focused and advanced discussion of iOS development and we sure got it! Among the speakers were a number of developers we already follow, and some seriously big names discussing application architecture and code design (did you know MVC stands for “Massive View Controller”? 😜). There were also quite a few speaking who were new to us and taught us a lot. Every session was fantastic, whether it was on the trials and travails of running a viral app, category theory (“a monad is just a monoid in the category of endofunctors”), accessibility, developer tools and debugging, or philosophy and approaches to common development patterns.

The tiki theme of the event wasn’t just a name—it kicked off with a wonderful hula dance performance and Mike Lee’s talk, “We’re Doing It Wrong,” which was chockfull of interesting facts about Hawai’i and how its culture evolved over time in his discussion of how we can better approach our work and the world around us.

Many of the speakers, including Michael Ayers, Krzysztof Zabłocki, and Dave DeLong (yep, a UIKit engineer!) focused on app architecture, in particular on coordinators and composition, as well as diving into how to use either delegation or dependency injection to keep an app true to its design pattern, whether that’s MVC or MVVM.

Among the more elucidating observations was perhaps the nut of Dave DeLong’s talk:

UIViewController is not a controller, it’s a view!”

He put this gif up on his slide right then, it ably demonstrates the profound affect this had on us. The name of this UIKit component has tended to suggest we use it in a way we should not, and over the years the documentation from Apple has also suggested it, creating a perceived conflict between what’s being advised and staying faithful to an MVC or MVVM design pattern. This perspective frees us from some concerns that have made us wary of experimentation.

The third day of the conference was set aside for labs, two awesome workshops run by Big Nerd Ranch. We had the choice between labs on advanced auto layout and advanced iOS performance; we chose the latter as it was of particular interest for some new things we are looking into. The lab was an abbreviated form of BNR’s day-long training classes on the same topic, and included a course book in PDF form along with before-and-after Xcode projects for each of the problems we worked on. The course instructors did a great job taking us though advanced uses of operation queues, Grand Central Dispatch, and layer transformations and animations. It was a bit of a crash course for both of us in Swift (we’re still new to the language, we seemed to be among the few primarily obj-c attendees who understand retain/release and what a zombie object is!) but it was quite a lot of fun and pretty easy for us to follow along.

Long story short: we highly recommend attending Teki Con assuming they hold it again next year! Kudos to Jonathan Crockett and Stephen Elliot for putting together such a great speaker line-up and conference.