all micro contact rss

Why Would a Designer Want to Learn Objective-C?

I work with an amazing team at Bombing Brain Interactive. While my role there has always been visual and user experience design, along with web site development, one of my goals this year was to branch out a little into real, honest-to-goodness app coding. Not that we don’t already have an abundance of coding talent going on with Gene and Tim, but because I wanted to improve my skill set and make myself more valuable to the group in any way I could.

I believe firmly that in order to work with other people in various disciplines, it always helps to learn a bit about what your collaborators do all day. Not only does that help inform decisions you make in your own role, it also helps with empathy for your teammates. You need to appreciate everyone else’s contributions, and that’s so much easier when you can see clearly just how hard their jobs are.

Does that mean I plan on being a super-pro coder someday? Not necessarily. But I did want to bring something more to the group than I was able to a year ago.

So I embarked on a quest to learn Objective-C and to get more comfortable inside Xcode.

I didn’t come into this with no coding experience at all. I do have several years of Javascript, HTML, CSS, and a touch of PHP under my belt. But I don’t kid myself into thinking any of that makes me a programmer. That’s baby stuff, essentially. And I’ve never had any formal training in C or any other computer language. I’ve always sort of hunted and pecked my way into figuring out whatever the current project needed, much the same way I did with Photoshop and Illustrator so many years ago.

So I picked up some books, downloaded some course materials from Harvard’s excellent CS50 on iTunes U, and started reading and learning in my spare time.

Then I came across Mysterious Trousers’ TinkerLearn series. And for whatever reason, that style of teaching really worked well for me. How TinkerLearn works is you download full Xcode projects, and all the lessons are embedded in the files of a real working app. This way, you get to experiment and learn about real code in a very practical way, in context.

After a few lessons, I decided to give myself a project. I’d take an idea and turn it into a full-fledged working app that I could develop all the way to the App Store. I needed something small and easy enough to do without getting overwhelmed, but at the same time, I wanted it to be a challenge, and I wanted the app to be something I’d actually use.

So after some thinking I settled on an Aspect Ratio Calculator. Three main reasons why this was the perfect project for me to work on as my first App:

  1. It wasn’t your typical tip calculator, or other sort of “my first app” project. It was different enough to not be an also-ran, without being something that was completely useless to anyone, either.
  2. I’m a web designer, and I really need to do these sorts of calculations often. So it was a personal project. Usually the best apps are ones made by people who want to use those apps every day.
  3. The aspect calculator apps that were already on the Store weren’t lighting my world on fire. No offense to the other fine apps in this category, but most of them haven’t been updated in quite a while, don’t offer much in terms of visual design, and don’t tackle the problem the way I feel I would want it done. In other words, I needed this app, but nothing on the Store was fulfilling that need to my personal satisfaction.

And thus x2y was born. Simple. Elegant. Solves a real world problem. Whenever I wanted to add a feature that I didn’t know how to add, I would consult YouTube, Apple’s Documentation, web articles, whatever I could get my hands on. It’s amazing how much knowledge is out there, free or very cheap, that could get anyone up to speed on making apps. Developers are extremely generous with their knowledge.

At one point, I even enlisted Tim to help me out with a big problem I was having. As expected, he suffered my noobie questions with grace and got me back on track.

When I started this project, I thought maybe I’d get it done by sometime next year. But once I got past the first few big bumps, I became more driven to finish it. And then I remembered all the other stuff that goes into launching an app. The web site, the screenshots, the description, the keywords, the user guide—there was plenty to keep me busy, but the closer I got, the faster I worked.

I’ll be happy to sell ten copies of x2y; my goal here isn’t to have a big hit. After all, this is a niche app, and a very simple one at that. But I am proud to see that I was able to get all this done in a few short months and that I sweated the details as much as I did. Forcing myself to put the app out there on the Store, with my name attached to it, ensured that I would take every aspect of development seriously. This may be the first app of someone new to Objective-C, but it was built with all the design and user experience expertise that I’ve built up over several years making iOS apps with others.

I’m looking forward to my next project, which will challenge me even further.

But mostly, I’m just glad I’ll finally have a good aspect ratio calculator on my iPhone whenever I need it.

x2y is available now on the App Store for a special introductory price of just 99 cents USD. More infomation can be found on the official x2y web site.