“Totally works on my machine” - Introducing Distiller
People ask us why we started Distiller. That can be summed up by one quote:
“Totally works on my machine.”
If you’ve built iOS apps, you’ve probably heard that a few times after each app crash.
In 2011 and 2012, we spent our days building web apps, and had drunk the continuous integration / deployment Kool-aid. We knew what “ship fast, ship often” felt like. Then Facebook decided to change it up on their developers in 2012, so we shifted and started building iOS apps. 4 of them.
We realized pretty quickly that iOS development was going to be a different kettle of fish. The toolset was janky. A host of new elements had to be managed (provisioning profiles was a team favorite). Setting up and managing our CI environment became incredibly painful. Continuous deployment was a pipe dream. Luckily, documentation was nonexistent (thanks Apple!). We ended up wasting a lot of time managing infrastructure, not building our business. Everyone we talked to had similar stories.
Most iOS development pipelines devolve into Lord of the Flies. Everyone builds on their own laptops only. No one writes tests. Occasionally, new builds get distributed to testers via Testflight. When you need to ship a release version to the App Store, you build on the one laptop that you hope is still configured correctly with the Distribution provisioning profile and cross your fingers. 5 days later, your app is reviewed and rejected because you shipped a bug in the terms of service. Lather. Rinse. Repeat. Pass the conch.
There has to be a better way. Enter Distiller. Distiller automates the build, test and deploy pipeline for your iOS applications. Every time new code is pushed to GitHub, we automatically build and test the changes in our OS X cloud. Users can then one-click deploy a successful build via Testflight, Hockey or other over-the-air (OTA) service to start collecting feedback immediately with no engineering support.
Is Distiller perfect? Far from it, but we think it’s a good start. And we’re committed to making it better for everyone. Instead of wrestling with Jenkins, bots and bugs, let us do that for you. You can focus on building something your users want.