Back to top
CocoaConf

Detroit Labs sponsored CocoaConf Chicago in late April, and I was sent as our representative. I met a lot of interesting developers, too. Getting to network with the iOS dev community has been something I’ve wanted to do more of, and I’m glad that I was able to attend and learn so much. Of everything I experienced, these are the sessions I found the most interesting. If you have any questions about any of them, hit me up on Twitter!

Kitura

You can build a web framework in Swift! I had heard that this was possible, but learning how easy it was to build and demo was incredibly interesting to see. This talk was given by Jacob Van Order, who also has a sample project publicly available.

In the talk, he wrote all of his web code in Swift in Xcode and showed it working with Postman! I haven’t had to make a web service for an app yet, but if I ever do I’m definitely checking this out.

Advanced Debugging in Xcode

This session had some great practical tips that you won’t find in your Apple docs. Aijaz Ansari taught us how to:

  • Change a variable’s value in LLDB when the app is paused
  • Use third-party command line tools in LLDB (the example he used was pretty-printing a JSON object in the debugger)
  • Exaggerate memory usage to check for memory leaks by adding an array of a million integers to your class and watching the memory spike in the memory graph
  • View the debug memory graph using the button right in Xcode! Perhaps this isn’t new to most developers, but I had somehow missed it!

Remove the “M” from MVC

A very popular game that Jeff Roberts had worked on, League of Legends, shares 80% of its code base between Android and iOS. They were having lots of issues between platforms and eventually were forced to work closer together, so they focused on building Android without model classes. Both iOS and Android developers worked on the Android platform and used content followed the pattern in this video. They then generated Objective-C code from the Java code to do the equivalent on iOS. If you’ve ever used a server API in your app, this is essentially what they used — but within their app (insert “in the computer?!” Zoolander gif) to get all the info they needed to display. It’s one of the most unique approaches I’ve heard for architecting apps on different platforms.

Practices for Teaching

This was one of my favorite sessions. Laura’s talk was about sharing technical expertise. She has given it a few times and a recorded version is found here. This talk was jam-packed with really fantastic teaching practices. For example, asking a question that you want the person you’re teaching to think about and then waiting seven seconds. Seven seconds feels so much longer when you’re sitting in silence with a person after asking a question, but you want the person to have time to think about what you’ve asked. Another really awesome takeaway was the idea of asking the person that is asking for help if they want to learn or if they want to just be shown. Sometimes we are up against deadlines and simply don’t have the time to learn something. Asking first can save headache and frustration, although it’s still a good idea to circle back when there’s more time. My last favorite tip of hers was to keep your hands behind your back when teaching someone something like an IDE. Don’t point! Describe what the button or menu item is and what it does. It helps the person learning to better understand what the button is and why it is useful, and they will therefore have an easier time remembering it in the future.

Chelsey Baker

Chelsey Baker

Chelsey is a Product Architect at Detroit Labs with experience building iOS, Android, and React apps. She is currently part of the Labs Cloud team.