-->
Who are you and what do you do?

My name is Fábio Bernardo and I'm a iOS developer at SAPO, a portuguese search engine and ISP.

I've been developing iOS apps since the first iPhone came out. I’ve worked on iPhoneModem, I’m Downloading, It’s Playing and SAPO Desporto. I'm @fbbernardo on Twitter and fbernardo on Github.

How did you get started in iOS development?

When I got the first iPhone I was amazed. Apple was trying to push developers to make web apps but those were limited and charmless.

I wanted to make native apps. So I bought myself Objective-C Programming by Aaron Hillegass (highly recommended for beginners) and started learning Objective-C on my spare time. Despite all the book’s examples being for the Mac I learned enough to start poking around the Open Toolchain. A few months later Apple introduced the 3G and a lot of “unofficial” iPhone developers rejoiced, including me. That’s when iPhoneModem started.

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

At the office I use a Mid 2011 Mac Mini with two monitors, nothing fancy but it gets the job done. I usually have a pile of papers and a pen on my desk. Outside the office I use a Retina MacBook Pro and I couldn't be happier, apart from the perfect screen this thing is fast! I can type something, compile, run and test in minutes. It's amazing. As for software I've been using AppCode but I keep Xcode and Sublime Text 2 open for documentation and quick notes. I'm also a big fan of CodeRunner.

What are your favorite Apple iOS API's to use within apps that you develop?

UIKit is my favorite API, the simplicity of which you can create animations and all those neat effects is, to my knowledge, unique in Cocoa. Also, I love GCD. I had the pleasure of being at WWDC 2009 when Apple announced it and I haven’t used classical threads since.

Do you have a favorite stage of development?

Programming was my first passion, but lately I've been enjoying UX design more. But I can’t pick one, it’s all part of the job, to deliver a great user experience. I think that a developer nowadays needs to carefully plan, and if that’s not possible, at least try to contribute to every aspect of his application. You can’t be full-time “code monkey”.

What trends in apps have you seen lately that have stood out to you?

Probably the same trends every developer sees, after all the market it’s constantly changing and we’re in the middle of it. Recently I started noticing a migration from cheap paid games like Angry Birds to free games with a lot of in-app purchases, I think that will be the future for casual gaming.

In the general market I see a global effort to push quality, apps like Path or Tweetbot have shown developers that users appreciate a great experience. Just look at Facebook’s 180 degrees turn from HTML 5 to native code.

As an international developer, how do you feel about the Apple development community?

It’s the best community you can be a part of. We have some great resources online, things like Open Radar and CocoaDev, and of course, stackoverflow. Those online resources helped me a lot when I was learning and developers contribute a lot, you can see that by looking at stackoverflow statistics for Objective-C questions. Only 17.7% unanswered.

At events like WWDC people are communicative and social, and despite the fact that I was there alone, I met a lot of people. I met some Brazilian developers that offered to teach me how to use Core Animation to make a simple game. I even met other developers while buying noodles. It is a great opportunity but the price and availability of tickets keep a lot of non-US developers out.

Finally, what is your favourite app?

On iOS, Tweetbot is my favorite. I use it all the time to keep updated and it is also a great source of inspiration when I’m working on an app.

On OS X it's hard to name one, but I think AppCode is my favorite at the moment. Xcode has it’s advantages, but I’ve been using Intellij’s products for almost five years and they know how to make a great IDE. Unfortunately it’s documentation and UI are no match for Xcode’s.