Freelance iOS Development – 2016 Year In Review

January 4, 2016

It’s been a great year as a full-time freelance iOS developer and designer. I’ve loved working with my clients and am proud of all we’ve built together. Some of my work I’ve shared on my portfolio, but many projects are under wraps. This post sheds some light on my work over the year, and how I’ve gotten my work done.

iOS Projects

I’ve enjoyed the opportunity to work on many different projects this year. I purposely avoided using Swift in projects, but I see that slowly changing after the release of Swift 3.0. I’ve designed some screens for clients, but I mainly provide design consulting for projects I develop.

  • New Apps Shipped: 13
  • Apps Worked On: 24
  • Objective-C Projects: 92%
  • Swift Projects: 8%
  • Screens Designed: 13

Open Source Projects

During the year I came upon situations where I wanted to reuse and separate a component from the project I was working on. In some cases I shared these components publicly.

  • BABCropperView: A customizable image cropper view based on UIScrollView.
  • BABAudioPlayer: A convenience layer on top of AVPlayer for playing audio files on iOS.
  • BABFrameObservingInputAccessoryView: A simple view which allows for an iOS Messages style keyboard input view and panning behavior.
  • BABKit: A collection of classes which I found myself using across apps. The majority are most helpful for building custom user interface elements.

Tools

As a freelance developer and designer there are a handful of tools that I rely on for day-to-day work.

  • Harvest: An excellent time tracking and billing web app. Can’t recommend it enough!
  • GitHub: The de facto standard for hosting code and collaboration. I mostly use this for team collaboration and open source contributions because of the relatively high cost for having numerous private code repositories.
  • BitBucket: The subpar alternative to GitHub with a generous allotment of private repositories. I mostly use this for hosting private repositories for clients.
  • Slack: Everyone’s favorite chat client. This app has saved me thousands of emails throughout the year, and I’m currently on 10 different Slack teams.
  • CocoaPods: An essential dependency management tool for iOS projects. I briefly used an alternative called Carthage and quickly discovered a frequent bug that caused an awful Xcode crash when using the debugger.
  • Parse: A suite of backend services provided by Facebook. Excellent for getting an app off the ground without a lot of server-side development.
  • Sketch: A Mac-only design application which has been rising in popularity over the last few years. It handles mobile design particularly well and has easy asset export capabilities. Performance can be choppy with large files at times, and I’m not as quick with Sketch yet as I am with Photoshop.
  • Photoshop: Still my go-to application for creating a design mockup. Integration with Illustrator is nice, so I can easily create vector graphics and export PDF assets for Xcode.

Favorite Libraries

There are some third-party iOS libraries which I usually rely on.

  • AFNetworking: The standard networking library useful for working with REST APIs.
  • SDWebImage: A great image loading library which I add when I need on-disk persistence of images.
  • GoogleAnalytics: My preferred choice for app analytics. The iOS library is a little clunky to work with, but I like the analytics data visualization tools a lot.
  • BABKit: A collection of classes I’ve created to help me in creating custom interface elements quickly.

Let me know if you have any specific questions, I’d’ love to share more of the lessons I learned last year.