GoComics for iPad, iPhone, and iPod touch
I’m really excited to finally announce what I’ve been working on for the past several months at work: GoComics for iPhone, iPad, and iPod Touch.

Now that it’s released, I can talk (at great lengths) about its development process.
Conception
The app started as somewhat of a side-project at work that I had taken on. I’ve wanted to get into mobile app development for a while now, but I’ve never had much of an excuse to do so. So I spun up Xcode one weekend, created a very basic app shell in an afternoon that talked to our brand-new GoComics API, and continued to work on it here and there in my down-time at work for about two months. At that point, I showed it to my boss, and the real project got started: it became my primary focus for the last 8 months (hard to believe it’s been that long). I’ve had an absolute blast working on it.
Native or not?
This was a big talking point for us. A while back, our department looked at using cross-platform frameworks like PhoneGap, Appcelerator, and Rhodes. The idea sounded good at the time: write once, deploy anywhere. But as we dug deeper into what these frameworks were capable of, it became clear to us that these didn’t feel like they were building native applications at all, but rather apps that attempted to emulate the native UIs, unsuccessfully. Things felt sluggish, fake, unnatural. If we were to make our (renewed) push into the mobile app space, we wanted to be 100% happy with the products we put out there, and HTML-based “native” apps weren’t going to cut it. We would be sacrificing user experience for the sake of developer convenience, and that’s a very costly sacrifice. After all, our money comes from our end users, whether that’s advertising or paid subscriptions.
On top of all this, it’d be ridiculous (to me) to start writing apps for any platform without realizing how it works. Working with an abstraction on top of an abstraction on top of magic means that at any point if any of the abstractions you’re using stop working correctly, you’re hosed until someone else comes out with a patch. I’m not saying you should dig down into C-level code all the time, but you also have to draw a line that defines how high-level you can go and still understand what the code you’re writing does. This approach is one we commonly take at Universal Uclick, and because of it, we’re very happy with the code we write. Don’t start out learning JavaScript by doing it all in CoffeeScript. If you’re writing your first iPhone app, don’t do it in C# or Ruby; write it in Objective-C and learn the original frameworks that came with it, and you’ll get a much better understanding of the platform as a whole. You’ll understand how it’s structured and what it’s capable of. And more importantly, you will never be held back by an abstraction framework that may not have the capabilities you need.
Overall
I have had a lot of fun writing this app in Objective-C, and I can’t imagine doing it any other way than that. I started out using Storyboards, and then ditched those for a series of XIBs. Then, I ditched those for Storyboards again, and then ditched Interface Builder altogether. I’m totally happy with laying out all my views in code. As a matter of fact, I’ve written a whole ton of helper methods that help me interact with Core Graphics and UIViews and such (it’s called BDKGeometry).
So much potential development pain was eased by the (not entirely recent) introduction of CocoaPods, which provides a sane and simple way to bring third-party libraries into your Xcode project and keep them up-to-date. I love complex brain benders, but if I’m given the opportunity to pass on git submodules, I’m taking it.
And none of this would be possible with the help of everyone on our team. Our primary GoComics.com engineer has done a smashing job with the GoComics API. Our site designer has been helping out in unifying the look-and-feel of our websites and our apps. Our marketing team has been super hard at work refining all of the promotional icons and copy you see in the app (and now across our sites as well).
And speaking of our apps, our awesome developers have released the Android version, and a Windows Mobile app was released as well. We’ve got some exciting things planned across the board for GoComics as well.

The universal binary for GoComics is live in the App Store now. Go get it!


