Who are you and what do you do?

I'm Mike Rundle, a designer and developer living in Raleigh, NC. I work on web apps, websites, iOS apps, Mac apps and also write books and tutorials helping people learn how to design and code beautiful software. I recently took a position as a designer at Intuit working in their new healthcare group and so far it's really awesome. Intuit has a really deep history of being at the forefront of user-centered design, so I get to talk to patients, doctors, clinicians, and administrators all the time to figure out exactly what they want from the software they use, then I make it. In the evenings and weekends I work on my own projects including apps, tutorials and anything else that I'm passionate about. Back in the day I was one of the co-founders of 9rules, one of the first and largest blog networks.

How did you get started in iOS development?

When the iOS APIs were first unveiled, I realized I absolutely had to learn Objective-C and see what I could build. Unfortunately, I never learned C so I had to learn about memory management, pointers, header files and more before I could dive into Objective-C and the Cocoa APIs. Oddly enough, as I was playing around with Objective-C I started building a simple Mac Twitter app called Beak using a WebView for most of the interface (I had previously worked on the web with lots of HTML/CSS/JavaScript knowledge) so it was easier to quickly build. Once I was more familiar with Objective-C, I started working on iOS apps and had a simple newspaper reader app called Digital Post out for the original iPad's launch. Since then I've dabbled with additional little apps but am currently back hard at work on Beak for iPhone, an elegantly minimal Twitter app.

What does your computer and workspace setup look like while developing?

At home I have a 13" MacBook Air (the latest generation) which I think is my favorite computer I've ever owned. Its thinness and lightness just can't be overstated, it's fundamentally a different portable computing experience over a MacBook Pro. I can't wait for what the MacBook Air will become in the next few generations; hopefully a retina display, more RAM, faster processors, but use the fan a bit less. I like the smaller screen, it forces me to focus on the task at hand and keep other apps hidden in the background. I have a desk at home but I don't use it, I mostly sit in an IKEA Poang chair which has the perfect back angle for me.

At work I have a 15" MacBook Pro hooked up to a 27" Apple Cinema Display which is really fantastic. I keep the laptop's screen closed after I realized I just never used the other screen. I keep the MacBook vertical on my desk using a Twelve South BookArc which I absolutely love because it's built so solidly. I recently (finally!) bought an Aeron chair off Craigslist that I sit in at work and I can't recommend it enough.

Mike Rundle's Desk at work
What are your favourite Apple iOS API's to use within apps you develop?

I love the block-based, implicit animation APIs that Apple introduced in iOS 4.0. They're so easy to use and the block callbacks are so familiar to jQuery developers like myself. Gesture recognizers are also fantastic, and for simple game development, CADisplayLink is super useful especially if you don't want to mess with timer-based event loops. I'm not a hardcore game developer by any means, but I do have a simple 2D game in development and CADisplayLink almost made it too easy.

What is some software that you use outside of Xcode for development?

I'm a huge Sublime Text 2 fan and use that for all other programming outside of Xcode. I was fortunate to work with Jon Skinner, the developer of Sublime Text, on the updated interface and default themes for the latest builds of the app. Sublime Text actually reminds me of emacs because it's more like a tweakable runtime than a monolithic, closed application. He has built one of the best cross-platform text editors out there and it looks and runs perfectly on Mac OS X, Windows and Linux. Almost every feature of the app can be controlled via the built-in python APIs and he wrote his own GUI toolkit (that is wholly defined using JSON files that allow you to tweak the interface with a CSS-like language) and adds new features like some kind of superhero programming robot. Sublime Text has taken the crown from TextMate which, just a few years ago, seemed like an impossible task.

From a developers perspective, what are your hopes for the next major iOS update?

Honestly, not that much, I think Apple does a fantastic job with its APIs. One pipe dream I do have is to be able to develop widgets that sit on a user's homescreen or lockscreen. I think that would be just tremendous, so maybe that's coming in iOS 6.

Finally, what is your favourite app?

I'm pretty boring as far as apps go. I use Safari and Mail more than any other app, but one of my daily go-to apps is Dunk, a Dribbble app. I love flicking through all the great work people post there, I'm like a kid in a candy store when I have it open!