Listen to your community, but don't let them tell you what to do

Great, brief post by Jeff Atwood - applies to many different things, not just web site development.


My Experience with the Amazon Free App Promotion

     This post is geared towards fellow hobbyist Android developers who are considering participating in the Amazon Free App of the Day (FAOTD) promotion.  When I was approached by Amazon, I found next to nothing online from other devs to help guide my decision to participate or to not.  I offer this blog entry up for those devs who find it - others may find this interesting or painfully dull - read at your own risk.

     I'm a hobbyist Android developer.  Picked up my first Android phone on July 7th, 2010, started reading all the Android programming books I could find starting on July 8th, 2010, and published my first app (Dream Journal Pro) on September 10th, 2010.  I now have 20 apps out there total, but Dream Journal Pro was my first, and I've been working on it and iteratively improving it for over a year now.

     Dream Journal Pro has done well since being published, selling ~2,000 copies in the Android App store, and getting mostly favorable reviews.  I published the app to the Amazon App store soon after that platform launched in March of 2011, and there was a steady, very small trickle of sales:  4-5/week, compared to an average of 1-3/day on the Android App store.  That is, until Christmas 2012, when 3.7 million new Android devices were activated across Christmas Eve and Christmas day, and a separately tracked, huge number of Kindle Fire devices were activated.  Dream Journal Pro showed a relatively large spike in sales, and over a month later was still averaging far more daily downloads than prior to 12/25.  Here's my Amazon App store graph for that period (12/21/2011 through 1/27/2012):

     On January 19th, 2012 I received an email from Amazon asking me to participate in their Free App of the Day promotion.  If you Google "Amazon Free app of the day dev experience," you won't find very much.  Amazon is closing in on 365 of these, and surprisingly little has been written by devs online about how it worked out for them.  Of course, there could be a non-disclosure agreement or the like I completely missed in the Amazon offer email....but I'm pretty sure that's not the case.
     After reading everything I could find, I found no reason to NOT participate in the FAOTD.  It was crystal clear to me that this promotion is the FREE app of the day, so no one (Amazon or myself) is making any money from the download of the app (through direct sales;  site traffic is another thing altogether).  As for generating additional traffic for my app, my assumption was that the FAOTD was, worst case, not going to negatively impact post-FAOTD sales (unless the app bombed in the reviews), so there was minimal risk from that angle.  I had a nagging fear that everyone who would be interested in buying the app would find it via the FAOTD, thereby drying up most future sales.

    After bottling up and packing away my hesitations, I opted to agree to let Amazon review my Dream Journal Pro app for the FAOTD.  Here's the chronology from initial invite to FAOTD placement:
  • 1/19/2012    email from Amazon inviting me to participate in the FAOTD with Dream Journal Pro, pending my acceptance and a more thorough testing and review of the app by Amazon.
  • 1/24/2012    emailed my agreement to Amazon to be considered for the promotion.
  • 1/25/2012    email from Amazon with the results of their testing, which uncovered an issue appearing on two devices (Motorola Xoom tablet, and the Samsung Galaxy Nexus).
    • debugged and resolved issues for those two devices, did my own testing, then re-submitted app for review.
  • 1/26/2012   email from Amazon stating that the app passed all testing and reviews on their end, with a request for me to submit a promotional banner for display on the FAOTD web page on Amazon.
    • promotional banner submitted.
  • 1/27/2012 (5:55pm EST) email from Amazon that Dream Journal Pro would be in the FAOTD promotion the next day (1/28/2012).  I had hoped for a couple days notice to tidy up my website, Facebook page, and auto-response support emails, but I suppose this was better than waiting days or weeks for word.
  • 1/28/2012  12:01am PST Dream Journal Pro goes live as the FAOTD on Amazon.

     UPDATE:  1/28/2012  10:32pm  The promotion has been going on for almost 24 hours now, and I can comment on the actual experience.

  1. With another couple of hours to go (I believe each app runs until 2am the following day - EST), there have been 113,541 downloads of Dream Journal Pro.  $0 revenue, but a lot of eyeballs on the app, which I'm happy about.
  2. I received a total of 4 support emails for the entire day.  The support email is posted on the app page on Amazon, and there is a menu item in the app to email support.  Three of the support emails asked whether the Dream Journal app also interpreted dreams (it doesn't);  the fourth asked why Internet permissions were required (the app has options to email you copies of individual dreams or all your dreams, as well as the option to email yourself a backup of the SQLite DB used to store the dreams - hence the need for internet access.  There are also two activities which are web-based, and require access).  I had read other devs describe receiving hundreds of emails during the FAOTD, so I was ready, but in the end didn't have to triage technical issues for anyone.  A major reason for the low number of support emails was probably due to....
  3. 1,021 surveys regarding the app were completed on MoboSurvey on 1/28.  The initial welcome dialog after the app is installed has a link to the survey (optional), and I'm assuming most people opted to go there vs. emailing support.  This is a good and a bad thing;  good in that I wasn't inundated with 1,021 emails;  bad in that the survey gives me no way to respond to or otherwise contact the submitter (for clarification, to offer support for an issue, etc.).
  4. Amazon included verbiage in the app description that it is not compatible with the Atrix or with older model phones.  So I of course received a number of reviews with varying amounts of stars because the app doesn't support the Atrix, because the reviewer was able to run the app on the Atrix without issue, etc.  No idea why that device was listed as incompatible, as Amazon did not report back to me any issues with that device during their testing.

UPDATE:  1/29/2012 the day-after-FAOTD

  1. Total downloads for the duration of the FAOTD hit 140,553 ($0 revenue).
  2. Happily, as of several hours after the FAOTD promotion ended, Dream Journal Pro is selling at full price, over 100x more than it typically sold per day prior to the FAOTD.  There is a banner on the Amazon App Store landing page which shows the previous 5-days worth of FAOTD apps, and can be scrolled to show the past 20-days worth.  I'm guessing this is what is driving these paid sales, and that I'll see rapidly dwindling sales over the next 5 days, returning to baseline on or before 6th day.  At this point my fears of the FAOTD drying up paid sales are alleviated;  I'll revisit this over the next several weeks to see if that changes.

UPDATE:  1/30/2012 the day-after-the-day-after-the-FAOTD
  1. Follow-up sales have dropped off to 10x more than the pre-FAOTD promotion, which is still great.
  2. Additional 2 emails came in today, for a total of 10 for the period 1/28 through 1/30/2012.  One was the first bug report (fix going up tomorrow night).  
  3. Single additional review today - 1 star complaining that DJPro is the Free App of the Day for the second time this week.  No idea what that person means, as it isn't.  Ah well....

Things I would do differently if my time machine worked:
     The main thing I would do differently would be to spend the time necessary to get the Radiant Monkey Software Facebook page and Twitter feed cleaned up, include links to both on the MoboSurvey users hit from the welcome splash, and probably also wedge links to them into the app.  That was a huge missed opportunity to grow my social network connections with users.   

     In summary, I found the FAOTD experience to be close to what I expected, and generally a very good opportunity, and would sign on for this again if it was offered for this or any of my other apps.  I believe the factors that favored me were:  that this FAOTD promotion ran on a Saturday, and that I would have had lower numbers all around if this occurred during the week;  that the app had been in production for over a year and most, if not all, bugs had been resolved prior to the FAOTDthat, because the app handles a very narrow set of tasks, defined in the title of the app, and has only a few activities, for most people the app was not confusing and did not generate a lot of negative reviews regarding missing functionality that is explicitly not offered in the app, or regarding functions the user couldn't find that in fact are in the app. 


Your project contains error(s), please fix them before running your application.

You get this error message, but there are no items flagged as errors in the project.  What is that?

The Android development version of rebooting, Project --> Clean doesn't resolve the issue.  What is it?

Go to:  Window --> Show View --> Problems

Embarrassingly, just found this one tonight.  Looking through the list, found the one problem for the app I was working on: 

error generating final archive:  Debug certificate expired 

What?  After a bit of Googling, turns out the debug certificate that Eclipse creates for you when you configure your initial Android SDK setup has an expiry of 365 days.  Happy anniversary!  

The fix:
1.  Navigate to the debug certificate and delete it or rename.  You can get the path to the debug certificate on your machine via Preferences - Android - Build - Default debug keystore.

2.  Clean your app again, then build it - should run without vague, useless error message this time.


Android Programming Life Lesson #3,423

When just learning how to use GIT and the eGit plug-in in Eclipse, you're spending time learning valuable skills in how to safely maintain code versions.....but when you get ahead of yourself and start playing with forks and trying to merge/synchronize/rebase without really knowing what you're doing yet, right in the middle of trying to push an app update into production, and you find yourself lost in the trees and forks for a couple of hours, you've learned that simpler is usually better.  Occam's razor and all that.


Wee bit of experimenting

Wee bit of experimenting, seeing if I want to move the Radiant Monkey Software blog here....or not.  I'll be moving posts here from the other blog shortly.


Welcome to Radiant Monkey Software, the Blog

Welcome to Radiant Monkey Software, the Blog version. This blog will track current and upcoming releases to the Android Marketplace.