How a birthday gift for my friend started my iOS career

Vlastimil Fiser
iOS App Development
7 min readFeb 2, 2015

I am a 20-year-old product oriented developer from the very heart of Europe – Prague, Czech Republic. I’m very close both to code and design too.

For me iOS is a actually number one and I want to build iOS applications for me and my clients primarily. Before that I was a Front-End Developer at ProductBoard (San Francisco) and Socialbakers (Prague). I was at Socialbakers for almost two years as a Product Developer. Currently I’m traveling and working as a freelance Front-End Developer.

Each day I’m doing front-end for websites, where I mainly work with HTML5, CSS3 and JavaScript. I won’t be able to program the whole application – I’m rather design-oriented. However, iOS development enticed me for a long time.

A work-in-progress of the first application version in Xcode

iOS application as a gift for a friend

It may sound awkward, but it wasn’t a bad idea at all. I didn’t know what to get my friend for his birthday, but I knew he likes Apple devices and I was given the opportunity to learn something new on a real project, which is always the best way to learn things. I didn’t hesitate and I believed that even without the knowledge of programming, I could be able to do it in 2 months.

I worked out the whole plan that I’ll register my own Apple Developer account, I’ll learn to program a bit, create the application, get it in the App Store and on the day of my friend’s birthday, he will be able to simply download it. I’ve managed to do it, but was a bit more difficult than it seemed in the beginning.

Before I’ll talk about the process and development, it’s worth mentioning that I was doing the application for a farm and boardinghouse (now including a restaurant as well), which my friend owns. The mentioned resort doesn’t need an online marketing, neither the application. The app was supposed to be just a gift. And as a gift it worked brilliantly and just by the way – which farm owners in a godforsaken village can say that they have their own iOS application?

What will the app contain and how will it look like?

Seeing that I’m not a programmer, I’ve set out reasonable goals for myself – that I’ll create a simple application with only an information value. No reservations system, neither food orders, nothing like this. I have told myself that I’ll start with something that I could realistically manage to do on my own and with time and learned skills I could, for example, add the mentioned features with reservations, etc.

I’ve started to draw first designs in a Moleskine. I decided that the application would only contain four pages. First one with brief information about the mentioned resort and its surroundings, a gallery, a map with tips for trips around the resort and the last one a page with contacts. I’ve also started to prepare materials and texts. Photographs were only available in a low resolution and they were very amateur, but I’ve decided to start working with them. It’s always better to see a real object than some photographs from a photo bank.

One page of my Moleskine with introduction page and layout design of the application

It’s essential to mention that it wasn’t really necessary to think about the target audience and how to present the content for them, because they are common people from all age categories who want to find some information about the given resort, potential or current visitors.

When I already had it though out both in mind and on paper, how I’d like to do the UI, I’ve contacted my colleague and friend Tomas, who designs applications for iOS devices.

I’m really close to design. And I’m also the type of person who likes to do things his own way. However, products are a bit different and I like to work with a team, because the final outcome is always much better.

In cooperation with Tomas, we progressively created three versions of the application – from the first one that according to our colleagues and friends was boring and unentertaining, up until the final one. We often changed both the content and the individual elements and all of this was happening in parallel with me trying to program the whole thing – you’ll get to know more about this below.

This whole process took us several weeks. And by process I mean from registering the Apple Developer account up until the graphic design. I spent my evenings working on it, changing it, rewriting it. The part that was being done together with code took me the most time. When I finally coded something that we created, we changed it again.

The development – me learning to program

As I already mentioned, I didn’t have previous experience with programming applications. I was literally starting from scratch. I was looking for information about what an application has to contain so it can be accepted, I was exploring iTunes Connect and mainly Apple Developer member center.

I spent the first few evenings trying to write an application in PhoneGap framework. I’ve then tried to connect it both with jQuery Mobile and Sencha framework, but I didn’t like either of the alternatives. Not only that the development itself was a real punk. For example build and testing are a lot more complicated than a normal development in Xcode with Objective-C (and CMD + R), but mainly speed and runtime rendering was really poor.

After the two mentioned prototypes, I decided that I would try Objective-C and Xcode, the native development platform. I wanted the application to work correctly. Technically, it doesn’t offer anything really interesting, so at least I wanted the execution and functionality to be of a good quality.

I started to watch several video casts, tutorials and often tried things by trial and error. I’ve rewritten a lot of things, changed them and suffered. I’ve chosen a bad path. I searched for pieces of code with the functionality that I needed and subsequently adding them to the current code. It was slow and very often the code didn’t even work.

This method wasn’t the right one. If I were starting now, I’d learn how classes, methods, etc. work first. Everything would be so much easier and I would be able to quickly convert the design, which was constantly changing, into a code.

Note: It was a shame that at that time I didn’t know a brilliant series of materials from Meng To (designcode.io), which is exactly for me. I would do the whole application differently from scratch and I would even design it myself. After reading Meng’s book, I’ve really become fond of Sketch. I think it’s a good tip for those of you who don’t know it.

Finish at sight

After several weeks of efforts the application was almost finished and I decided to “relax” a little by working on a few tweaks, I thought about during the development. After tapping the cow the app will clearly show you who is the biggest inhabitant of the mentioned farm and a text “Mooo…” during reverse scrolling (inspired by Foursquare/Swarm). It’s a useless nice thing, which I liked, so I’ve decided to include it in the application.

MP3 file will start playing after tapping the cow icon…

Just after that I was reading another tutorial about how to prepare an application for the Apple approval process and for sending the application to the App Store.

The approval process itself took 9 days. It was an unimaginably long time. I was so looking forward to see my application in App Store and the enthusiasm coming from that. It really happened and I was so happy. The approval process went without any complications.

Work’s done, now the congratulations

The main reason why I was doing the application was the mentioned birthday. I’ve managed to do everything in time and in the day of the birthday I could congratulate him saying “Happy birthday and since you like Apple so much, I’ve created an app for you and your farm. Try to search for your farm’s name in App Store. ;)” I felt that I have done the right thing.

It was a nice feeling.

Priceless experience

Well, not exactly priceless, I’ve paid $100 for the Apple Developer program, right? I’m just kidding right now, it really was a great decision. I’ve learned a lot of new things, read a lot of new information, but mainly – I’ve found what I loved, just didn’t know about it. It is one year old story and finally right now I’m actively learning iOS development (mainly Swift) and I’ll try to make my own application to the AppStore soon.

As usual, I have the feeling that I’ve done so many things badly – and it’s true (for example the connections at Storyboard). We are learning from our own mistakes and I believe that every upcoming product – either small like this one or bigger ones I create for my clients, will be better and better.

If you want to try the application you can download it for free in App Store. However, it’s only available in Czech language.

Follow me on Twitter (@vlafiser) and LinkedIn and thank you for sharing!

Every feedback or reaction will only make me want to push myself further.

If you have any questions or want to help with a product, contact me at hi@vlastimilfiser.com.

Thanks!

--

--