Aleksandar • Vacić

iOS bits and pieces

Guide to symbolicating iPhone app crash logs with Xcode 4.2

I was recently investigating one very strange crash in an app I’m working on. The app is distributed ad-hoc (through wonderful TestFlightapp.com) and each release is archived in Xcode 4.2. I got the .crash file from beta tester and dragged it into Xcode’s Organizer, which did symbolicate everything in the stack except two lines from my code.

The thin fun line

In the last few days, there’s been quite a storm in the Twitter tea pot, regarding the new hit iOS client, Tweetbot. All Tapbots apps have completely custom UI, sounds and interaction but they always managed to make it so and still keep great performance. This is the main reason for their success - the fun part in using them did not come with a price (like UI lag).

However, Tweetbot faces quite a bit criticism that its custom UI hinders the UX of the app.

OPPO's fantastic support service

I have OPPO DV-981HD player for several years now. It’s a great piece of consumer electronics - from the moment I put it on it worked great. No issues, no fuss, it worked exactly as advertised. Until few weeks ago when it died. In the middle of movie, it saved a bookmark and shut down. No reactions to buttons, it just seemed dead.

The player was long ago out of warranty. Plus, I brought it to Serbia from UK, one of the last pieces the importer had. OPPO does have a “send it to us for repair” service, but the cost of sending to USA from Serbia would be more than the player is now worth. Plus, experience with other companies tells me that prices for obsolete (OPPO does not sell this model anymore) and out-of-warranty parts are outrageous.

So I emailed OPPO support, simply hoping for an advice what could be wrong so I can try my luck with local repair shops. I was hoping it’s simply some part of the power board. That was on Saturday afternoon (CET time zone).

This is where it becomes awesome. First, I got answer in less than 24h. Second, the answer said that OPPO can help me by sending me a replacement power board and a front-end display. Third, the price for the parts is mere $49. And then to top it off, they responded to my follow-up questions on Sunday and Monday (which was a bank holiday in US). I paid and they shipped the parts the very next day; the package reached me by the end of the week (sent by USPS).

Amazing, amazing support service, way better than I expected. I replaced the parts and the player is working as good as ever - silently and awesomely.

If you are in need of an excellent Blu-ray player, do not even think about anything else - buy one of the OPPO players they have on offer. I’m certain they are amazing just as this DVD player is. I mean, just look at the feature set, the customer testimonials and rave reviews they consistently get for their products.

We need more companies like OPPO. Kudos, masters.

Fighting feature creep

Feature creep is an easy trap to fall into. As developer and software vendor, you always want to please your users. So when a request comes in and it’s eloquently and nicely laid out, it’s hard to resist. I experienced it so much while working on Run Mate 1.1, which is the main reason why it took me 3 months to publish it.

Never again. I hope.

I have a new weapon against it now – it’s a wonderful thought that Wil Shipley said in an interview for Mac Developer Network podcast:

…Technology is just being too complicated. People just don’t enjoy using it, they don’t get it, they’re not getting the most out of it, they’re not able to use the feature they have and if we radically simplify it, then people suddenly get a lot more out of it.

They actually use more features if you give them less features.

MDN podcast is wonderful resource. I had a large backlog of various podcasts – this Shipley interview is in MDN Show 003 from back in July 2009 – which I have recently cleared out. I never check what is in any of the shows, I like when they surprise me. This interview with Wil is chock full of great thoughts.

Another fantastic feature of the MDN Show is World according to Gemmell where Matt Gemmell picks an UX subject and really, really hummers it down.

Note: Steve Scott, the man who ran MDN, has retired that show and now has a new show called iDeveloper Live. It’s more dynamic than MDN Show (more people) plus it’s recorded live and you can be part of it through the chat.