Have you ever asked, How do I make an app?
iTalk Recorder, our popular iOS voice recording iPhone app has recently surpassed 2 million downloads in the app store. To celebrate, the app has been updated with an improved user interface and easier access to sharing. You can even access your files via iTunes File Sharing.
Rather than just talk about the app, I thought it would be more fun to share an interview with it’s creator, Jamin Guy. If you’ve ever asked “How do I make an app?” this post is for you!
My name is Jamin Guy and I’m a Senior Product Developer here at Griffin Technology. I work on various software projects from mobile native and web apps to web services. Some of the projects make it out into the wild but others are tools for internal use only.
The very first exposure I had to iOS programming was actually on the unofficial jailbreak SDK which was out for a few months before Apple announced the official iOS SDK 1.0. I started with a solid foundation in software engineering and object oriented programming so it wasn’t too far of a leap to go to iOS development. The next Spring when Apple released the official SDK I continued learning Obj-C and the Cocoa frameworks, by playing around with iOS sample code and reading as much as I could from Apple’s documentation, books, and blog posts. I basically just tried to soak in as much knowledge as I could and learned by trial and error.
I was playing guitar at my house a lot back then and really needed a way to quickly and easily record song ideas. After trying a few of the recording apps available then, I got discouraged with either their lack of features or the nasty bugs they had. Griffin had a hardware product called iTalk from several years before that allowed you to record audio to iPods so it was a natural extension for us to create a recording app. I realized that there was an opportunity to create a simple recorder that had just the features I wanted without being bloated and hard to use. The main feature that iTalk had that others didn’t was the ability to pause and append to recordings. It also had a very clean and intuitive UI/UX. It seems trivial now but remember this was back in 2008 when there were far fewer apps than today.
When I started developing iTalk it was the first big iOS project that I had ever done and my lack of knowledge of both Obj-C and the platform were big hurdles. The official iOS SDK had also only been out for a couple of months so there wasn’t a lot of information outside of Apple’s documentation, which was sparse at the time. When we went to develop version 2.0 of the app a year later I ended up refactoring a ton of code from the first version. Looking back on it there was a pile of nasty code in version 1.0. It’s a wonder it worked as well as it did back then!
When we first started out the main difference between the 2 versions was that one had ads and one didn’t. Apple didn’t allow background processing back then so both versions stopped recording when pushed to the background. Over time as Apple opened up more functionality in the SDK we added background recording and playback to the Premium version. We also added Dropbox support to the Premium version as well, which has been a really popular feature. In the latest versions we added iTunes File Sharing support which allows users to transfer recordings directly to their computers through iTunes. Some of the recordings can get very large so this feature makes getting recordings off of your device a breeze.
We’ve had over 2 million downloads of the free version and we’ve now passed the 100,000 mark on Premium. I think the most downloads we had in one day was 30,000 or 40,000 back when it first came out. When Apple released iOS 2.0 they included a built in recorder app so we thought that iTalk’s days were numbered but surprisingly it has continued to do very well over time.
Where would you point developers to learn to code for iOS?
As I mentioned before the Apple docs and sample code are a great place to start. Apple has done an excellent job of updating both of these over time and they remain my number one spot for finding out information. There are some great books as well such as TapWorthy and iOS Recipes. You can also get some great knowledge from iTunes U where Stanford has free video lectures from their iOS development class. StackOverflow is a great place to find answers to many questions. If you’re running up against a problem, chances are that someone else has run into the same thing before and there’s no use reinventing the wheel! Now you can also find a ton of open source stuff on github.com and other places like http://cocoacontrols.com. The bottom line is that there are a plethora of places to find good information and it’s up to you to take the plunge!
Get iTalk Recorder
Photo of iTrip from Flickr by: The Blake Slate