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

I'm Milen Dzhumerov and I'm first, and foremost, a 23 year old software engineer - my website has extensive information about me, my background and achievements so far. I graduated with a Masters in Computer Science from Imperial last year. I've co-founded two software companies: The Cosmic Machine and Clean Cut Code.

The Cosmic Machine made a single app called EventBox in 2008 - a social network aggregator. It was acquired by Realmac Software in 2009 and rebranded as Socialite. Later on it was acquired by Apparent Software.

Clean Cut Code was founded in 2010 and I'm responsible for developing Cloud Calendar and most of CalendarBar while my business partner Chris Emery developed DisplayPad and bits of CalendarBar.

Currently, I'm involved with Clear where I'm the sole engineer, mainly responsible for the technical execution and also one of the co-creators of the app. It's a joint project between myself, Realmac Software and Impending - it's a really great team as each of us has different strengths and we try to combine everyone's expertise in their own area to come up with something that shines from all angles.

What is your computer and workspace setup while developing?

I'm an old-school guy and I'm developing my software on a desktop machine - an octo-core Nehalem-based Mac Pro (2009) with 14GB of RAM and upgraded hard drives (SSDs make a huge difference). On the display front, I'm again old-school and using the 30' Apple Cinema Display (non-glossy!). I'm somewhat disappointed by Apple for switching to 16:9 format and thus reducing the resolution on their 27' ACDs - as a developer, I cannot afford losing any pixels, so I'll be sticking to my trusty ACD for a while longer.

I also use a 13'' MacBook Air (Mid 2011) as a test environment and something that I carry around events and conferences. It's a very fast, portable and convenient machine.

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

I've never ever seen a better designed class with respect to subclassing than UIGestureRecognizer. Pretty much all pre-existing classes in Cocoa (less so in UIKit) are useless for a serious application and you end up re-inventing a lot of wheels from scratch, only using the very bases classes such as NSView - again, this is less of a problem on iOS but on the Mac, more than 10 years of legacy have had their effect. This is why I love iOS so much - it's a modern, well-designed platform and it's an absolutely joy to build stuff on top of it.

What is some software that you use outside of Xcode for development?

TextMate is absolutely essential to me - I cannot live without it. It was released when I was just starting out developing on the Mac and it's been with me along every step of the way, so I feel quite attached to it. Obviously, I use Terminal all the time. I'd also say that Instruments is absolutely crucial to my work - I cannot live without it, I mainly use the performance-measuring instruments to keep an eye on the apps throughout the development cycle. It's important not to fall into the trap of thinking that serious performance problems can be solved once you've entered the final validation stages, as those problems are almost always due to internal design deficiencies which cannot be easily fixed without significant refactoring.

Finally, I use VMware Fusion to run multiple instances of Lion (2 VMs) so that I can easily develop for iCloud - I don't have to worry about messing with my personal iCloud account. That's the reason why I had to upgrade my machine to 14GB of RAM - running 3 Lion instances (1 bare metal + 2 VMs) can be quite taxing on the hardware.

What do you do to stay up to date on new iOS features, frameworks and SDK's?

WWDC Videos are the major way for me to keep up with new APIs. When they get released, I spend a good week or two watching all of them. It's also very important to read through the release notes and API diffs each time there's a new major release as there's a wealth of information in them.

From a developers perspective, what are your hopes for the next major iOS update?

I want to see Apple open up more private APIs that they have reserved for themselves. For example, the ability to change the icon of an app dynamically (important for calendar apps) or the ability to get woken up periodically from the background to perform some tasks. I'd also want to see APIs to access the Reminders store and APIs for Siri integration.

Finally, what is your favourite app?

If I had to pick one, I'd say Reeder for Mac at the moment.