TiPb's developer spotlights are like DVD/iTunes Extras for the App Store -- a weekly look behind the scenes at the programers and designers that bring you the iPhone, iPod touch, and iPad apps and games you love. This week Rene talks with Kai Yu from BeeJive.
Note: This interview was conducted a few days before WWDC 2011.
What's your name? Kai Yu
What's your company's name? Beejive, Inc.
Where are you located? South of Market in San Francisco (AT&T death zone)
What's your website address? www.beejive.com
What's your Twitter name? @beejiveim. Also beejive on facebook.
What apps, other than your own, are currently among your favorites? Garageband for iPad (my kids love this one), FlightTracker Pro, NYTimes (use this all the time, but don't like the implementation and bugginess, but content wins), MLB.tv, DropBox
How long have you been a developer? Professionally for 17 years.
How long have you been an iOS developer? Since the first SDK came out.
Do you develop for any other platform in addition to iOS? If so, which one(s)? Android, BlackBerry OS, dabbled in WinMo and S60 a few years ago.
What primary computer setup do you use for your iOS development? Mostly on a MBP17 + 27 inch cinema display. Sometimes on just a MBAir, which forces me to be extra careful about dependencies in order to avoid the really long build times.
What iOS device(s) do you personally use most often? Verizonn iPhone, iPad 2.
What mobile devices, other than iOS, do you currently use? We have a bunch of Android and BlackBerry phones around the office, though these are mostly just for testing. Last one I tried to use extensively was a Droid 2.
What's your favorite thing about developing for iOS? Definitely the quality of the Libraries. Wish I had done more work in Cocoa before iOS, it's really a joy to work with.
What's your least favorite thing about developing for iOS? XCode leaves a lot to be desired, especially around refactoring, though it's gotten better. On the business side the app approval process is quite a drag. Apple does what it has to do and the review folks there do the best they can, but at the end of the day the process is opaque. All of our eggs are in one basket.
What feature would you most like Apple to add to the iOS SDK? On the UI side, better notifications and better task switching. I'm actually not a huge fan of the Android notification system either, it's way too busy. The iOS system is perhaps too simplistic, maybe the folks over there can come up with a happy medium. The current double tap home button task switch takes too many touches. This may be as simple as expanding the UI for running apps to more than 4 icons per screen (just an idea).
On the SDK side, I'd like to see Apple expose more of their private APIs, especially on the UI side. They've managed to expose more stuff with each revision, so hopefully this will continue at a good pace.
What feature would you most like Apple to add to the App Store? For the end user, better app discovery mechanisms. The existing cataloging system is way too simple, and App Store genius doesn't work well yet. Better discovery mechanisms will help developers as well, so we can better target potential end users. I already touched on the review process earlier, always wishing for more transparency and better communication with the reviewers.
If we were to eavesdrop on you while you were coding, what curse word would we hear you use the most? You fkg doofus, usually aimed at whoever wrote the piece of code I'm looking at, sometimes it's myself.
What do you do when you're not coding iOS apps? Playing with my daughters. Following the Red Sox.
What should we look for from you next? In addition to some exciting updates to our existing apps, we're working on a new iPad app...
What do you think of efforts from companies like Facebook with the new messages, Google with Wave, [and now Apple with iMessage] to conflate IM with SMS, email, etc. into a one-protocol-fits-all solution? Is that the way communications is heading or will there always be a place for standalone IM? I think there is always a place for IM. We have different expectations for the different types communications, and merging them into a one-size-fit-all subtly changes the end user's expectation, without filling the voids left behind. For example, we generally expect emails to be longer, often richer, and it's OK to respond to emails within a day or longer. With IM, the messages are shorter and expected response time is much faster, and you expect a conversation. SMS is somewhere in between. If anything the merged interfaces makes everything look more like IM, which I don't think is correct either. The problem that we're trying to solve is to better organize our communications with each other, so it's not so fragmented, but I don't think putting everything in a single thread is the best solution.