Andrew Stone Chief Software Engineer at Stone Design
Who are you and what do you do?
Hello, I’m Andrew Stone and I’ve spent the last 25 years writing software for the Mac, the NeXT, the Mac and now iOS.
I touched my first Macintosh in 1985, wrote my first line of code in 1987, and jettisoned my first career of Architecture and Design/Build in 1989. When Steve Jobs saw the first indy app written for the NeXT Computer, my “TextArt”, he asked me and my software partner to write the first database for the NeXT Computer. Of course, it was tremendous to be working with such a small group of talented and loyal people, and we delivered DataPhile in ‘91.
We were there at the beginning, middle and end of NeXT Computer, having written a suite of apps by the time December 1996 came around, and Apple “bought” NeXT. Only a funny thing happened on the way to the takeover… Steve became the Apple CEO again, and he placed all of his NeXT Lieutenants as Vice Presidents of Hardware and Software. It took 5 more years to take the Mac from legacy MacOS 9 to Mac OS X, built using the NeXT operating system and the GUI expanded upon the object oriented framework AppKit (now Cocoa).
That 5 years let me finish my suite of Mac Apps named Stone Works. These native Mac OS X apps let us continue to do cool things from 1996-2008.
In April 2008, when Steve announced that third party developers could now write and ship iPhone apps through the AppStore, my career was reinvigorated! We shipped 3 apps at iPhone 2 launch, including one free one that I did just for the fun of it - Twittelator - amazing iPhone Twitter Client. Before long, it became evident that Twittelator was going to become our biggest hit, so that’s where the love has gone these last 4 years.
Twittelator was at the forefront of the mobile Twitter revolution, introducing first time features like Mute, Video uploading, and many other cool innovations that were quickly adopted by other clients. To be fair, if we saw cool features, like Tweetie’s “Pull to Refresh”, we would adopt those features too!
We shipped a revolutionary iPad Twitter client, Twittelator for iPad on the day the first iPad shipped in 2010, and now are breaking new territory with our iOS 5 iPhone Twitter client Twittelator Neue.
What is your computer and workspace setup while developing?
In mobile mode, it’s just a 17” Mac Book Pro (critical for seeing iPad apps fullsize!). This gives me the flexibility to work anywhere. In desktop design mode over at my partner @olliewagner’s, we connect to external 27” monitors to allow coding on the MBP and display of those beautiful Retina pixels on the large monitor.
What are your favourite Apple iOS API's to use within apps you develop?
Each API has it’s own special juiciness! The MapKit and Location frameworks let us do really neat tricks with showing tweets geographically. Social media requires crypto to protect data, QuartzCore to do special animations and low-level graphics tricks, CoreImage to find the faces in photos. CoreText allows us a richer text display than UILabel gives, OpenGL and MediaPlayer gives us full access to displaying movies and graphics in a simple way, and how about adding Email to your app in 4 lines of code with MessageUI framework?
These API’s give you the freedom to either use their high level ready-to-roll classes like the Accounts and Twitter frameworks, or you can delve deep into the network stack with CFNetwork if you need to acheive something a little less vanilla.
What is some software that you use outside of Xcode for development?
Turns out you can develop anything including CSS and HTML in Xcode, but I find myself using vi in a terminal from time to time, and having learned the command line GDB so many years ago, sometimes it’s just as easy to type commands as try to use the GUI in Xcode for debugging.
What do you do to stay up to date on new iOS features, frameworks and SDK's?
First and foremost, going to WWDC is not only useful for staying up to date but more importantly to continue the relationships I’ve spent a lifetime fostering. Apple may appear to be a gigantic monolith, but the reality is, “it’s all done with people”. And knowing the top brass is indispensable for those 2-hour from drop to AppStore ship turnarounds that only the Apple demigods can pull off.
My most important resource online is Stack Overflow - it’s like having every problem you are ever likely to encounter ALREADY solved by other hardworking and community oriented developers.
From a developers perspective, what are your hopes for the next major iOS update?
Each software release, from NeXT v0.9 to Mac OS X 10.7 to iOS 5.1, something amazing happens! Features I used to be responsible for writing and maintaining get “rolled into” the system OS and frameworks. As a result, our apps can actually get smaller footprints as we leverage our engineering expertise with the hard work of the geniuses at Apple!
An example in iOS 5 was the inclusion of a JSON parser at the system level. Each software release is like a surprise birthday party!
Finally, what is your favourite app?
OK, I’m prejudiced, Twittelator Neue. Watch the movie, then check it out on the app store.