How and when did you get into programming? And into iOS?
I had an interest in computers since I was a little kid. Back then no one had them but only saw on the TV. And for a kid, it looked super fascinating. I naturally was inclined towards engineering, and where I grew up it was prestigious to be an engineer. I got my first computer relatively late when I was around 15. After a few months spent playing games, I started looking into making my own programs and games. Of course, I didn't know that it was called programming. That was my first experience with BASIC.
I got into a university to study Computer Engineering. In the beginning, it was heavy on hardware and electronics. To be honest, was not exactly my thing. But I loved those few programming topics we had. So I focused more on that. I soon realized that what I learn at the university is very little, so started doing hobby projects, and learning whatever I wanted. That is how I started developing for Android. It was super cool to do something and be able to use it on the device I had.
I was freelancing for a little while and eventually started looking for a job. I still was about to start my final year at the university. But I got an offer to join a company as an Android developer, and on my first working day, they asked what I thought about iOS, and if I wanted to do that instead. I had almost no knowledge about it and saw a real iPhone maybe twice 😬 I'm grateful for being this lucky to get into iOS instead 🤩
Wow, that's cool switching roles first day on the job 😁. This was approximately when? Was Swift already a thing?
It was 2012. Swift came a few years later
How was learning iOS and ObjC in the beginning? Anything that was hard to grasp?
iOS looked really interesting. I liked the user interface, simplicity, general user experience. I just enjoyed exploring it more and more.
It was not that straight with ObjC though. The first thing to learn was to be really careful. It was manual memory management for some time. Not an easy, but a somewhat fun thing. Doing that definitely has taught me a lot.
Working correctly with an `id` pointer was another challenge to overcome, especially in a project that relied on it a lot. Also, general Objective-C syntax was quite unusual and confusing. Took some time to get used to it.
You have a few apps available on the App Store. When and how did these side-project get started?
A side-project is a great way to try new tech, experiment with own ideas, and just own a real product, which in itself is a challenge.
My first one was before I had any job and was just a newbie in programming. Taking it from nothing to a real app on the store is an enormous effort. But the knowledge and experience gained are true and precious. Additionally, you not only to become a better developer, but also think product and business.
Since then side projects is my big passion. Almost my entire free time I dedicate to that.
Interesting, so I guess there were many more apps than you currently have in the App Store right?
Yes, but not only apps. There was one Android app, plus several web-based services. All of them are closed by now.
Wow, that is some diversification. I assume you learned a lot of valuable lessons?
Definitely. Gathering experience in building for very different platforms has its benefits. It gives a new perspective to the development, helps build a bigger picture, allows to see things at scale.
Although I didn't master web or backend as much as iOS, it still was a super valuable experience. And, frankly, confirmed that iOS was the most interesting for me.
You currently have a few apps available. I think the Usage app is your most popular, right? Have to say that when I first launched it, it seemed unbelievable that you can get this much data about the device.. How did this app get started?
Yes, Usage is by far the most popular app I've built. And I don't think it gets that much data about the device. I wish it could show more, and a lot of users ask for more. But as you know, iOS is a pretty closed system.
I got the idea for it when the first widgets were introduced to iOS. I just wanted to try them, and building an app was my way for that. Usage was way more simple and just different than what you can see now.
Since it is on the App Store, it uses only public APIs right? To show the RAM usage, network and more. I guess some of the APIs are pretty obscure?
Yes, it's public APIs. Yes, often not documented at all. What is the app in most cases is built on top of raw data provided by the APIs. And it took quite a while to make it all together.
Another thing about Usage that caught my eye is that it has quite large Twitter following. Was this something intentional or did it happen more on its own?
It was intentional. There used to be a banner to follow on Twitter right on the Usage tab. At some point, I decided to remove it, because it took too much attention and was relevant only for some users. Was kind of a growth hack.
Would you say having popular Twitter account for an app is important? Would you advise other indie devs to spend time growing accounts for their apps?
I think it is important to have a communication channel with the users. In my case, Twitter works quite well. It's needed because of a few reasons. The first obvious one is marketing. Post news, announce discounts, create hype, etc. The other reason is engagement. Interacting with a developer of an app increases trust and thus creates a better connection between a user and the app. One more reason is to receive feedback. Even though I get a lot more through email, still some arrive through Twitter.
Another thing I noticed is that your apps pay a lot of attention to design. You also post on Dribble. Did you always care this much about design? Are there any tips for other devs you could offer regarding designing apps?
I just love design. And I think it is one of the key factors for a successful app. My advice for other devs is to not underestimate the importance of it. It does pay off to have a good-looking app. But that should complement functionality.
You have a magic wand... and can change one thing about iOS development. What?
It would be Xcode. In iOS development that is for sure the thing I complain about the most 😬
I think we deserve a more intelligent and reliable tool.
There's certainly a room for improvement when it comes to Xcode. Moving away from work/code.. What do you do to relax?
I love road cycling. Not very relaxing for the body, but definitely for the mind. Besides that, I cook, read books, meet with friends. And in general, for me, the best way to relax is to do anything that is far from a computer.
That's great variety! Thanks so much for taking the time! Do you want to give someone or something a shoutout?
Thank you, Filip! It was a pleasure to chat with you! I would like to send out my appreciation to those who dedicate their time to the community. It is a treasure to have so much great content available on iOS development!