How Failure Shaped our Custom iOS Framework

It’s been quite a while since our mobile team started to develop native iOS apps. A few years ago, after completing our training, our CEO asked us to work on a very challenging project. He told us to build a noise cancellation iPhone app, just using software… At first we thought it was just another joke. This isn’t exactly a common project or anything our clients generally want, but when Jonathan asked us for a time estimation we were dumbfounded. Who was this maniacal CEO we were working for?

Anyway, we spent around a week reading about all the theoretical stuff (physics, sound theory, waves, math, similar experiments and so on). We even reached out to a few Electrical Engineers to see if they could help, but that didn’t result in anything. Still we kept going. Finally, at the end of the week we concluded that what we were trying to do was pretty close to making a nuclear bomb with a bottle of coke (without Mentos). But we knew we couldn’t do that. We had spent an entire week (maybe longer) trying dozens of experiments and tests without any results. And then it hit us. Failing fast is critical to the success of any long term project. Jon expected us to fail. He just wanted to see how quickly we would do it.

After that we started working on more common projects, like connecting to APIs and storing data in databases, but our team talked about each step we made and, as a whole, we committed to the best method. We would succeed quickly or fail and then adjust and keep going. This became the base for Koombea’s custom iOS framework. Our framework is more than just source code and design patterns. It’s a teamwork and collaboration style in which we are all the architects of the core of our mobile apps.

In line with our agile methodology, our framework makes us work faster and more effectively than using the base iOS SDK. New developers may be confused sometimes, because our framework involves so much that is unwritten. There are no documents that describe how we collaborate or the culture that supports collaboration. Thus, it’s on us to help new hires acclimate to our work style and add their own tweaks to keep it fresh.

Technically speaking, the Koombea iOS framework contains the following features:

Improved MVC project structure (similar to such web frameworks as RoR or CakePHP).