Applications as State Machines

Applications tend to have a set of states with various transitions between them. Modeling them as finite state machines can help disassemble the problem of building the whole application into several separate smaller parts. This separation can be further improved by maximizing the hermetization of the resulting components. One possible way to reduce coupling between the modules is to abstract out the transition logic into a separate entity, which I call the TransitionController.

Continue Reading

Macoscope Objective-C Style Guide

Learning a new programming language can be daunting, especially if it relies heavily on a set of idioms or patterns you have never encountered before. Before you start writing good code in a new language, you first need to know what good code looks like. Having a standard style guide can help you get up to speed on best practices used throughout the community – and making it easier for new developers to join the platform is something we should all strive towards. At Macoscope, we believe in helping fellow developers out, an attitude which we hope is reflected by our small but constantly growing library of open-source code and our engagement with the community at events like Mobile Central Europe.

Continue Reading

A Developer’s Primer on Being a CEO (Lessons Learned)

I’ve been a software developer all my life, but one day around two years ago I switched places with our CEO and traded Xcode and vim for Google Spreadsheets and Apple Mail.

Continue Reading

Previous Experience

Before I joined the light side of the force and started working with Apple devices, I was a .NET developer. Most of us have prior experiences with other platforms and languages and there’s always an argument – whether we should take this new platform as it is or try to adapt it and morph it to what we already know. In my opinion it’s more a question of “how much” rather than “if”.

Continue Reading

The Story of Code Pilot

Today we’re making Code Pilot open source. It’s been an amazing ride with this product for us as a company and me personally, so I wanted to take this chance and tell you its story.

Continue Reading

2/2