How a web guy became a mobile developer
I’ve gone through several phases in my professional career. I started programming by clicking together and writing simple windowed applications in C++Builder. Then came the Internet, and I turned my attention to the web. I learned HTML and tried out a dead end in the form of Microsoft FrontPage. It served me well for a long time. Around 2005 I started learning PHP and earning a regular few thousand crowns from small gigs. At the same time, as I started studying at CTU FEE, I learned Nette, and in my second year I responded to a job ad at a company where I experienced — and still experience — the biggest leaps in my knowledge and skills.
My progress in programming over the last 15 years has always stemmed from envying other people’s creations and wanting my own. Whether it was compiled .exe files, websites, content management systems, Nette extensions — simply everything that was the center of my attention at the time.
I’ve had an iPhone for three and a half years now. Over that time I’ve developed a warm relationship with all those icons on my home screen. I follow Apple news closely and know about everything that stirs in the iOS and Mac community. Thanks to that I’ve refined a sense for quality and user experience that I try to apply when building websites too.
But that’s of course not enough for me. I needed to find out how mobile developers make my favorite apps. I installed Xcode and started learning from the Stanford lectures. I wrote a few simple apps to understand the principles being covered.
Mobile development is something completely different from the web — it’s not enough to answer a stateless HTTP request and die. An app can run for dozens of minutes and must behave correctly under any combination of user inputs. Demanding computations have to be offloaded to background threads, because the user interface has to stay smooth at all times. Everything runs much closer to the metal, and sometimes you can tell from how low-level the code is. The whole thing is a serious challenge, and I love those.
A user on a phone doesn’t have a keyboard and mouse at their disposal, so they won’t cope with the hellishly programmed forms that are common on the web; instead, all functionality has to be thought through in detail and served to them on a silver platter, so they reach their goal as easily as possible. While on the web you can get away with churning out four forms a day that only need to behave roughly like this, on iOS you can spend a month building a single screen and nobody will be surprised.
After six months of development, today I’m releasing my first app, which I developed together with Michal Langmajer — we’re really proud of it. If you’re in a muddle about which friends you owe money to and who owes you, definitely check it out.
Mobile development is so far just a hobby for me, for long winter and summer evenings, but maybe one day it’ll turn into a serious livelihood. Wish me luck!
