- What do you currently do?
I make apps of my own, and I help other people (and companies) to design and create apps. I also write for various magazines, and speak at conferences around the world – usually about designing how apps look and feel.
- How did you get started in Mac and/or iOS programming?
I’ve been interested in programming in general from an early age, and I have a degree in Computing Science. I was already a Mac user before the first version of OS X was released, and I got interested in OS X development at that time. Since iOS programming is extremely similar on a technical level (and you use the same tools: Xcode on a Mac), I started iOS development as soon as Apple released the first SDK.
- What was the first app you created and what did it do?
The first app I ever created anywhere was probably my web image-gallery tool, PageThing. It took folders of images and created HTML pages to show the images in a gallery. That was many years ago. My first iOS app was called Favorites, and it’s a speed-dial (and SMS/iMessage, FaceTime and email) utility that shows you the faces of your favourite contacts.
(I’ll answer the remaining questions for Favorites only.)
- Where did you get the idea for the app?
I thought that it was cumbersome to scroll through the whole contacts list whenever I wanted to call or text someone, and the very basic “favorites” functionality in the Phone app looked dull. I thought it would be nicer to just choose a small set of close friends and family, and see their faces when I wanted to contact them.
- What went well? What could have gone better?
Development mostly went very smoothly. I had a strong idea of how I wanted the app to work, so that made implementation much easier. One of the best things I did was include a tutorial when you first launched the app.
I remember that I had a nasty bug when the user was syncing their contacts to a cloud service like iCloud or Exchange, and Favorites would lose track of people’s photos. I fixed it, and it was fine. That’s just part of life as a software developer.
- What is your favorite among the apps you’ve developed?
An app I can’t talk about, that I worked on for a very big company that you’ve heard of. The company makes computers, and phones, and tablets, and music players. They have a fruity logo.
- What advice do you have for young people who want to make apps?
Don’t be overwhelmed by the technical stuff; it will get easier. The most important advice I can give you is to spend enough time just thinking about what you want the app to do, and how people will use it. Don’t start programming too soon. You should spend quite a while just thinking and sketching on paper first. Try to imagine how you’d want the app to look and work. Decide which features are important, and which ones aren’t – and don’t include the unimportant ones. It takes a lot of courage to remove features, but you’ll make better apps if you do.
Oh, and remember that it takes many different skills to create apps: not everyone has to be a programmer. Great apps have designers, testers, documentation writers, the people who make the web site, marketing people who show the app to others, and lots of other roles. Anyone can learn to program, and it’s great fun, but don’t be afraid to contribute in other ways too. In my experience, the rarest and most valuable skill is being able to say “I think we can do this better, and here’s how”.
Help more girls learn software development. Contribute to the App Camp For Girls Indiegogo fundraiser, get a cool perk, and enjoy the feeling of having helped the next generation of software developers.