Last year, we published a series of developer stories to share the learning experience of some first-time app developers. We got great feedback about the stories and their experience inspired others to learn iOS programming. Starting this year, we’re going to bring you more developer stories and showcase their apps on a regular basis. The purpose of these developer stories is twofold:
- Some said iOS programming is hard to learn. It’s true. It’ll take a lot of hard work to become a competent developer. However, iOS programming is not rocket science. With the release of Swift, it’s now even more approachable to beginners. As long as you put your effort in and are committed to take action, we believe you can build an app from scratch. The developers we interviewed are mostly amateur app developers. We hope their stories would encourage aspiring developers to learn programming and build their own apps.
- Other than helping our readers learn programming, we always think how to help you promote your apps. With over 1,000,000 apps, the App Store is now extremely competitive. You probably have released your first app on App Store but only got a few downloads. Even if you have a high quality product, it’s not easy to break into the top 100. In the developer stories, we’ll feature an app created by the app developer. In average, we have over 200,000 monthly readers. This is not a big number but we are quite sure it would help your apps gain some exposure. From time to time, we’ll also share the stories with our email subscribers and on our Facebook page. Together we can help each other succeed.
Without further ado, here comes to the first app showcase – AffortIt.
1. Tell me more about your background and your app. Was it your first app?
My name is Andrew Walker, I am a 17 year old iOS Developer who has just completed and released my first app ‘AffordIt’. My first programming experience was a couple of years ago in High School when I was learning Visual Basic 6. The strange thing is that I actually found it in some ways, more challenging than learning Swift and Xcode. Of course, it was my very first programming language so there is always a steeper learning curve, however I think that my experience shows just how far modern programming languages have come.
After I left high school, I decided that I needed something to fill my time over the summer until University. And as I was about to start a Computing Engineering course, I thought it would be very beneficial to develop some knowledge of a modern programming language to give me a bit of a head-start. About a week into my summer Apple announced Swift and I immediately decided that now was the perfect time to learn to program for iOS.
2. How did you come up with the idea? How long did it take to develop the app?
Initially I spent about 2 weeks learning the basics. I went through Apple’s Swift book that is available in the iBooks store and I reached page 87. At the same time, I was looking on YouTube for some tutorials which I found very helpful, however the issue was that none of what I was learning was being put into use. I would read/watch a tutorial and then make small adjustments and experiment in Playgrounds, but what I really wanted to do was to create something.
I started off creating a simple test app that would display a welcome message and the time of day when you press a button. After this I moved on to recreating the project that I completed in Visual Basic 6 for school, however as this was a TV Game Show, I knew that I had to come up with my own idea for it to be able to be submitted to the App Store.
I then decided to look around the App Store for inspiration. I browsed through all of the categories until I identified a gap in the market. I noticed that in the Finance category there is thousands of apps for tracking your ongoing monthly budget, but there is very few/none that track individual events or situations. I wanted to build an app that would be perfect for keeping a log of how much you have spent on holiday, or on Christmas presents, or on a day out. I also wanted to keep things simple. The majority of the finance apps on the app store are massively cluttered and over complicated with graphs, diagrams and endless screens of information. So that’s when I created AffordIt.
3. Do you have any programming experience before developing the app? How did you learn iOS programming?
As I mentioned, my very first programming language was Visual Basic 6. Although I had been using the language for a couple of years, I probably had about 2 months worth of solid knowledge. I really didn’t learn a whole lot about programming in High School.
When it came to Swift it was somewhat of a challenge, particularly in the first few weeks of the language being released. There was barely any material on learning Swift and I found myself spending a lot of time translating Objective-C code. This turned out not to be a bad thing, because at this stage I now feel I have a reasonable grasp on not only Swift, but also Objective-C.
My main resources were Apple’s Swift iBook, Stack Overflow and Apple’s Developer forums. Although these were great for learning the basics, I still had no reliable source for easy to understand, well explained tutorials until I came across AppCoda. There were some specific elements of my app that I was having a lot of difficulty with and without fail, the tutorials I found on AppCoda fixed my problem.
4. What are you going to do to promote your app?
This is the part that I have been looking forward to for a while. I used to have a technology YouTube channel that I ran when I was 10 that I spent a lot of time promoting. I plan to use some similar techniques that I learnt from back then. After doing some research, I noticed that a lot of developers don’t bother to promote their app, which I see as a huge missed opportunity.
Of course the easiest way to promote an app is to show it to friends and family. Apple provide 100 promotional codes that you can give to people to download your app. However, I wouldn’t recommend giving these to friends and family as this isn’t the most effective way to use them. Personally, if I had to, I would rather give people $0.99 to download my app and save the promotional codes for better uses.
5. What were the most valuable lessons you learnt from AppCoda and its book?
If you have taken a look at my app, you will notice that the main functionality and the ‘core’ of the app is within the second tab. This is a Table View which stores all of a users payment and credit inputs. It is where the majority of my work went into and also the element that gave me the most trouble. What saved me was AppCoda’s Table View and Custom Cell tutorials which clearly explained what a Table View is and how to make it work.
I also used AppCoda for other elements in my app such as figuring out how to implement a search bar and sharing via Twitter, Facebook and Email. Even today, after taking a look at a few tutorials on the site today I have some exciting new ideas for updates.
6. Any advices for those who just started learning iOS programming?
The first thing I would make clear is that iOS programming is certainly not easy. I had days where I made next to no progress on my app and felt like I would never get things working. It does require a lot of dedication and determination to make a fully functioning app, but the rewards are well worth it. You need to remember that no matter what issue you are having, it is fixable somehow. You just need to work at it.
The next piece of advice I would give is to avoid spending all your time reading through documentation. You have to do the boring stuff first and learn the basics, but after you feel like you understand things a bit better, jump straight into creating an app that you are interested in. If I had spent my entire summer reading Apple’s documentation, I would have certainly given up.
I have noticed that a lot of people argue that before learning to program for iOS, you should always learn a more basic language first. While this may have been true for Objective-C, I believe Swift is the perfect first language as it’s intuitive, well-designed and predictable.
7. What’s your next plan?
Now that AffordIt is on the store I will spend a few weeks doing a lot of promotion. I already have a list of ideas that I would like to add in an update so you can expect to see some new features very soon. I have just started my Computing Engineering course so I am looking forward to learning new programming languages that should help me bring my app to other platforms sometime in the future.
If you’re interested to share your app development experience and story, drop us a message.