Matt Gemmell, Instinctive Code

Matt Gemmell

Matt is a developer with Instinctive Code. He also publishes a blog at mattgemmell.com.

  • 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”.

Follow Matt on Twitter and App.net.

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.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s