How Failure Shaped our Custom iOS Framework

by Kate Swanberg
Blog Post

By: Koombea Senior Mobile Developer, Oscar De Moya

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).
  • Active Record pattern for CRUD operations over different data sources (e.g.: API, database, registry, files) that automatically maps retrieved data into Models.
  • Helper class to build customizable forms from a JSON file.
  • Template oriented view customization.
  • New custom UI components.
  • And a lot of helper classes and categories for the more frequent tasks.
We’ll be posting a bit more on this framework very soon. Look forward to an open source version in the future.
—————————

If you would like to learn more about our mobile team, get in touch by emailing us at Contact (at) Koombea.com or pinging us through the contact button at the bottom corner of our site.

by Kate Swanberg
Blog Post