Friday, September 24, 2010

Picture perfect: The story of how iPhone app Due came about

Lin Junjie with girlfriend and beta tester Sharon Tan.

Some rusty Visual Basic and C and a degree in broadcasting and cinema studies doesn't sound like much of a foundation for making a great iPhone app. However the experience of Lin Junjie, a photographer and developer of Due (US$2.99) shows that nothing beats a great idea, perseverance and an attention to detail (not forgetting a bit of luck).

Junjie's first week on the App Store was a slow one. Everything changed though when his app was mentioned on the well-known blog Daring Fireball. At the time of writing, Due is the number 7 paid app in the Productivity category in the US iTunes stores, ahead of Awesome Note and GV Connect.

iMerlion interviewed Junjie, 25, to find out how Due came about, what it was like to be Fireballed and his advice for other iPhone developers.

(Note: The interview below was conducted via email and edited for readibility.)

How did you come up with the idea for this app?

Actually it's funny that it all started off from a blog entry on Daring Fireball, and now people are getting to know about Due through John, so it's like coming back a full circle. About 2 months ago, John was blogging about the Mac app Pester. The idea was to make it real easy to remind ourselves of the little things and errands. That was also around the time when I rekindled my interest in software development and was looking for an idea for my first app.

Pester sounded like a great idea, but I thought it would have been so much more useful if we could carry these reminders with us. A reminder app that is both easy to use and fast to set up on the iPhone sounds just like what we need on the App Store (or so I thought), and thus the birth of Due.

I spent about a month picking up the fundamentals of Objective-C from books while working on the foundations of Due, and another month fully devoted to coding and designing of the app.

It has a nice clean interface. Can you tell us about your UI philosophy?

I chanced across a book by Steve Krug at the library about usability testing (Rocket Surgery Made Easy) and it has tremendously influenced the development process for Due. I think every aspiring developer (whether it's web or app) should read it.

Because of Steve's book, I spent a lot of time doing usability tests right from the early stages of development, video recording how people are interacting with my app and trying to iron out usability issues throughout the development process. As the developer you're going to be so attached to your app that you start doing things you thought was extremely intuitive but in reality confuses just about everyone else.

For instance, the original behaviour for Due was to show the keyboard immediately upon creating a new reminder. This allows for more rapid creation of a reminder because you can start naming it immediately rather than requiring an additional tap on the title field. However, because the keyboard hides the date and time picker completely, people didn't know that they need to dismiss the keyboard (with the Done key on the lower right corner) to access the date and time picker behind.

In the end I decided to improve usability at the expense of speed by not showing the keyboard first. This behaviour, however, can be adjusted in the Settings for people who are familiar with how Due works and wants the keyboard to show up immediately for faster entry. I also made it easier to dismiss the keyboard by allowing users to access the date picker when the 'Due Date' field is tapped.

Due owes its usability to its testers, namely my girlfriend Sharon, my younger brother and Jeremy (maker of Traversity).

How did you feel when you learned that John Gruber had featured you?

It was an absolute nightmare to get people to sit up and notice the app. I sent out about ten emails to different app review sites (including John) asking if any of them was keen to do an advance preview of the app and no one else bothered responding besides Jimmy from iMerlion (and I think the only reason why Jimmy did was because I put in a Singapore-slant to my email).

When the app launched, I decided to try my luck again and sent out follow up emails with promo codes. I thought: perhaps ad-hoc testing was too troublesome to go through with an unknown developer making yet another todo app, so no one bothered responding the first time round.

I must have sent out 10-15 codes and only 3 of them were redeemed in the next five days; I couldn't even excite people enough to download the app for free.

I was so desperate I even sent out a mail and promo code to mrbrown—who we all know is a great blogger but definitely not someone we'd expect to do an app review—asking if he'll be keen to do a review for me. He did respond to me and was nice about it, though I doubt he'll be running a review anytime soon.

I was starting to get real disheartened with each passing day of falling sales. Granted it has only been a week, but I understand that the sales graph of an iPhone app basically goes downhill from the day of its launch (where your app gets noticed by people browsing the New Releases section of the App Store).

Then, two days ago I hit rock bottom—0 sale.

I thought to myself, this must be it. This must be the end of my iOS app developing stint.

But I did have one person redeeming his promo code that day, and that one download happened to be the saving grace for the app before Due gets forgotten in the App Store graveyard.

Somehow John was intrigued enough by the idea of the app and gave it a spin. I received a one-line reply from him saying that he liked it. That encouraged me a little, that at least I know that my app was not a dud in spite of abysmal sales and the general lukewarm response from friends around me. He didn't immediately write about Due, and I wasn't really holding my breath either.

Then late last night, Jeremy (maker of Traversity and my senior back in secondary school) dropped me an SMS: 'Dude. You got fireballed.'

I must say that I was totally caught totally off-guard and unprepared. I had intended to step up promo efforts to make a last-ditch attempt to get people to notice the app, including making a new promo video and a more comprehensive website for the app. Once John's post was up, I started receiving a few dozens of emails in the hours to come asking about whether a certain feature is supported, making suggestions for improvements, or just thanking me for the app.

I spent the next three hours responding to emails and cobbling up the rest of the website, including an FAQ and an about section.

I didn't catch much sleep after that either, because I was too excited to fall asleep. I think it just feels great to have finally gotten the word out on Due, and I have much to thank John for.

What have you learned so far about developing for the iPhone?

I think what excited me so much about developing for the iPhone is that it gives everyone an equal chance to bring their products to consumers, whether you're Electronic Arts or just a lone wolf developer like myself working out of a bedroom in a HDB flat.

But along with the lone wolf approach of developing means that you're going to have to take on many hats at once. I was not only a programmer, but also an interface designer, a graphics designer, a web designer, a sound mixer, a translator, an usability tester, a videographer, a copywriter and most importantly a marketeer.

I wasn't sure if the venture would succeed at all, so I wasn't prepared to spend a few grands on things like icon design and all. Since I decided to take on all the roles on my own, I had to really brush up my skills in all these areas to make sure that Due looks and feels polished rather than an app out of someone's bedroom (well technically it is).

Any advice for other local iPhone developers?

For anyone keen to make a living out of iPhone apps, it's important to think about marketing even before the app is ready. Making a great app alone won't get you anywhere if you can't get anyone to be interested in them. For me I really just got lucky that John decided to try out my app and liked it enough to write about it.

For someone trying to break into the iOS apps market, I think it probably makes better sense to target a category of apps where there isn't as much competition as the one I picked, or it's going to be a nightmare trying to get anyone to notice your app.

Programmers are naturally more excited about coding than designing interfaces. But on the iOS platform, your customers expect nothing short of a well-thought out and pleasant looking interface. I've gotten quite a few emails from customers who bought Due because they hated how their existing todo apps look and feel.

I think it's important to figure out early on in the development whether you're doing anything too obscure or confusing by doing usability tests when it's still easy to make changes, rather than to wait till the end to do your usability tests.

Finally, if I could draw any conclusion from the past 7 days of marketing efforts and sales results, I'd say to go global rather than local if you intend to make a living out of your app. My girlfriend and I probably told every single friend of ours who owns an iPhone about my app, but I have sold 0 copies in Singapore for the past 7 days. The biggest markets are US, followed by Europe and UK. I'm guessing unless you are extremely established like, the market is really too small here in Singapore to remunerate the developer of an local-based app adequately.

Can you tell us about yourself?

I'm Lin Junjie (not that singer), 25, and a recent graduate from the Wee Kim Wee School of Communication. I studied journalism in my first two years before switching to broadcast and cinema studies, although I ended up doing neither of them.

I picked up BASIC in primary 5, did Visual Basic and C in secondary school where I was the head of programming in the computer club (together with Jeremy). I took a long hiatus from development to pursue other interests like journalism and got keen about development again after I graduated this year. In between I was mainly doing web development and design for Cherian ( and Catherine Lim (

I'm currently a full-time photographer and instructor at Phocus LLP, a company I co-founded with my partner Nanda.

About two months ago I decided to pursue my other interest—software development—while my partner handles the photography side of the business. Computers and technology was something I had loved since I was young, and the iOS platform is too exciting for me to ignore.

What are your plans for the future?

I intend to continue working on Due for iPhone on a full-time basis for at least the next 2-3 months, delivering enhancements and fixes before exploring my next project. But before that I'll need to make sure Due is selling well enough to allow me to continue pursuing this.

Follow @imerlion on Twitter or like us on Facebook!


Md Zakaria said...

Congrats JJ for launching the app!

And hello to Jimmy too :)

Lim Thye Chean said...


sffa said...

Congrats man.

Once i read this, i purchased the app. It would be nice to have a "snooze" and more choices of "sounds" like REAL ALARM sounds to wake my sorry a** up.

Thanks again - another one for Singapore!

korakagaz said...

In your own words, "Upz for you bro!"