As a user experience designer, I’ve worked on the UX and visual design for a few different mobile apps. One of my New Year’s resolutions was to be on the other side and actually develop an app. I’m happy to report that my app, Posterized, a Dribbble design inspiration client, is now in the App Store. Here’s how I did it and what I learned developing my first app:
1. Find a Few Good Resources.
When learning any new skill, you can quickly figure out best practices, the most important concepts, and different ways to accomplish the same task by having multiple resources with different viewpoints. People learn differently so you have to find what works for you. I bought a physical book on iOS Programming (do people still do that?), took the Developing iOS 7 Apps for iPhone and iPad iTunes University Stanford class, signed up for a video course on Udemy, and browsed numerous websites. The Internet is a magically place — there are resources out there for practically anything you want to learn. Don’t know where to start? Here are a few I recommend:
2. Stop Reading. Start Doing.
I kept putting off actually starting on the app because I wasn’t through the book or video courses yet and I didn’t feel I was ready. Then I found and bought Design+Code by Meng To which takes you through each step of the process from design to code to app store submission for a news reader app. Rather than teach everything about Xcode and Objective C, it only taught the concepts needed to create that specific app.
Inspired by how easy it seemed, I started focusing on what really mattered. For my first app, I wasn’t going to have any databases or complex animations so I stopped reading about those topics and focused on the concepts that were going to be important to what I was going to develop.
I had spent a few hours each week for a couple of months reading, watching videos, and creating example apps. It wasn’t until I started solving real problems and making stupid rookie mistakes on my own app where I learned the most. After focusing on just the important stuff, the app itself was developed in less than two weeks, working only a few hours a couple of nights each week.
3. Don’t Start from Zero.
With sites like CocoaPods and GitHub, there are a ton of open source code and projects out there you can use in your apps or just look at and learn from. I used a few libraries that not only improved my app but saved me hours of development time. Don’t start from a blank slate; take advantage of what’s already out there.
4. Find Help.
Find a friend or someone you can bounce questions off of and learn from them. If you don’t know anyone, Stack Overflow helped me countless times when I couldn’t figure out how to do something or didn’t know how to solve an error.
“Focus on the journey not the destination. Joy is found not in finishing an activity but in doing it.” ― Greg Anderson
I truly believe that the best investment one can make is on themselves. I don’t plan on starting a career as an iOS developer but with any new skill, it can be applied to almost anything you do. As a UX designer, I can use my new-found skills to better communicate with mobile developers, test and prototype ideas, and make more informed decisions based on the platform’s strengths and weaknesses.
If you’ve always wanted to learn to program an iOS app and can commit the time, now is as great a time as ever to start with Apple’s recent announcement of Swift. So what are you waiting for? Share your thoughts with me on Twitter (@kennycheny) and check out my app, Posterized.