Smarter Alarm for Android

Like many, I use my phone as an alarm clock to wake up every morning. After hearing the annoying beep-bloop-beep of my alarm, the first thing I do is grab my phone and read from it information most important to me: Stock prices, weather, appointments, sports scores, and the news. Eyes half-opened and blurred vision, this is not a pleasant experience on a 3.7" inch screen. 

That's when I decided to write Smarter Alarm, an application that will read to me all the information I want in the morning when I wake up. During the night while I'm asleep, Smarter Alarm scours the web for information that I'm interested in and when it's time for me to wake me up, it reads me what I need to know. 

Here's what it sounds like: 

You can bet that if there is a feed or API for something, Smarter Alarm can read it to you. For now, Smarter Alarm can do the following list, but more feeds will come in future updates: 

- Local weather: Current and forecasted

- Stock prices: Major indexes and your own custom portfolio

- Top news headlines: World, US, UK, business, science/tech, health, sports, entertainment, and your own custom search topics

- Sports scores: NBA only for now

- Today's birthdays among your Facebook friends: Requires you to grant Facebook API access

- Today's Facebook events

- Your own custom RSS feeds

I have tons more features and feeds planned, but you can get a free early version of the app now on the Android Market! 


Almost forgot one last thing: I entered the app in Verizon's Power Your App Contest. If you're a developer, please vote for Smarter Alarm!

Selling shovels to Android gold miners

I’ve developed many Android applications, the most notable of which is Car Locator which some argued marked the start of the Android gold rush. To aid common issues/annoyances in selling my Android applications, I developed several tools along the way that were immensely helpful in increasing sales. It occurred to me that other Android developers face similar issues and could benefit from these tools as well. I’ve packaged them up and released them at Here are some of the issues I faced, and how AndroidLicenser solves each one:

1)      Application Piracy

Problem: Stealing apps is trivial. just do a google or twitter search for your application’s .apk file and it’ll be posted somewhere on the internet. A user need only to copy this .apk file to his/her phone to pirate it. I collected some data and found that Car Locator had an 80% piracy rate. That is, for every 1 person who bought the app, 4 people were pirating it. Google did release a licensing system, but as they posted on their blog, it has already been cracked.

Solution: AndroidLicenser uses an “Activation Code” client-server licensing scheme. Since all purchases go through Google Checkout, the AndroidLicenser servers will poll your Google Checkout account (your provide your merchant credentials) every 5 minutes and generate and email a unique activation code to any user who recently purchased your application.

Within the first 24 hours of first using the application, the user must enter this activation code into the application itself. If the licensing server finds that the activation code is valid, it will grant a permanent server-based license attached to the hardware id of the device/phone. Every time the application is started, the phone/device checks in to the licensing server to ensure that a license exists for the hardware id. If a license does not exist for the hardware id, the application will prompt the user to pay for the application. Since an activation code is only generated for those users who actually made a purchase through Google Checkout, and since a license can only be generated using a valid activation code, pirates won’t be able to steal your application. We provide a client library that makes it simple to integrate this into your Android application.

There are several other issues that are addressed in this licensing scheme, such as the 24-hour refund policy, users changing phones, no internet connectivity, and annoying paying customers too much. However, for the sake of brevity, I’m going to talk about how they are addressed in a future posts on the AndroidLicenser blog

2)      Availability in Different Countries

Problem: Paid applications are only available in 14 different countries. That’s only a very small percentage of the total Android users that developers are allowed to sell their applications to. I used to get daily emails from someone in a different country asking if they can send me money through Paypal in exchange of me emailing them the .apk file.

Solution: Android Licenser allows developers to sell their application in any country that Google Checkout is accepted (almost all countries). You simply upload your application’s .apk file to AndroidLicenser and set a price. A storefront will be setup where users can pay for your application with a credit card and be taken to a secure link where they can download your application’s .apk file. If you are using the “Activation Code” licensing scheme, you won’t have to worry about the user sending the .apk file to someone else because it won’t work without an activation code anyways.

3)      70/30 Revenue Share

Problem: Google takes 30% of any sales you make on through the Android Market

Solution: AndroidLicenser lets developer keep 100% of the revenue. Of course, Google Checkout will take their normal fees, but these are standard for any credit card purchases.

I’ve used AndroidLicenser for my own applications for the past 2 months and have seen an increase in revenue of about 150% -- from $4,000/month to $10,500/month. If you’re curious to learn more, or want to start making more money on your Android app, you can learn more about how AndroidLicenser works. I’m sure that you’ll be delighted with how much more money you will be making!

Copy/Paste for Android Phones

One of the complaints I hear most often from Android users is the inability to copy text from an operating system level. The ability to copy text varies from app to app, and unfortunately, most apps don't have this ability. I love coming up with creative solutions to seemingly impossible problems, and this was one that I thought was worth solving. 

My 2nd Android application is called "Copy Paste It", and it's available on the Android market now for $3.99. The app "mimics" copy/paste functionality on your Android phone in the following way: When you want to copy text, it takes a screenshot of your current screen. Then, it runs a modified OCR (Optical Character Recognition) engine on the screenshot to extract text from the image. Finally, it copies the recognized text into your clipboard. Roundabout? Sure. Solves the problem? Yes.

Here's a video to see it in action: 

There's a couple disclaimers to this. First, it requires a rooted phone. Taking a screenshot is something that is not possible on a stock Android device. By having your phone rooted, the app can get access to your phone's screen. Secondly, accuracy is not 100%. The OCR engine is not perfect and hasn't been optimized for recognizing screenshots, but I've been making tweaks to it to improve the accuracy. 

If you watch the video carefully, it almost seems like the copy/paste functionality is built into the operating system, when in reality, it's just another app. Kudos to the openness of the Android operating system, which has made this possible.

I'm hoping to follow on the success of my original Car Locator application. If noteworthy, I'll follow up here with some revenue numbers on this app. In the meantime, I would love to hear your thoughts on this Copy/Paste solution for Android! You can find it by searching for "Copy Paste It" on the Android Market or using the links below: 

Market Link:

An Android Success Story: $13,000/month App Sales

Since releasing the “Car Locator” Android application about 5 months ago, I posted twice before with sales figures on the Android Marketplace. First, when I got excited after it averaged $20/day for a few days, and second, after winning third place in Google’s sponsored contest, the Android Developer Challenge 2. In both posts, I was a really happy camper because what started as a little side-project while I was vacationing with my family, turned into a few extra bucks for lunch money every day. I feel incredibly lucky to be able to say the app has continued its upward trend and is now beyond my wildest fantasy of what could have been possible. So without further ado:


  • About 70,000 downloads of the free version.
  • 6,590 downloads of the paid version
  • Price of the app was raised from $1.99 to $3.99
  • The app steadily climbed the charts, briefly reaching a peak of #4 in the Travel category for paid apps.


  • The application was netting an average of about $80-$100/day, until it became a featured app on the Marketplace. Since then, sales have been phenomenal, netting an average of $435/day, with a one day record of $772 on Valentine's Day. Too bad I didn't have a Valentines date this year -- we would've gone somewhere real special!
  • There appears to be clear peaks on the weekends and during holidays. This was always my hunch, but I think I can finally say this with certainty since the signal-to-noise ratio is much better now.
  • Some may be quick to point out that a featured Android application is only able to net $400/day, while top iPhone apps make thousands. But the Android market appears to rotate applications in and out of the featured apps list in some psedo-random fashion. Every time I open the Marketplace app, the featured list is different and most of the time, I don’t even see my app on there.
  • The price of the application was increased from $1.99 to $3.99. I ran a few price experiments and was surprised to see that though I doubled the price of the app, the number of purchases decreased by much less than half. Android users appear to have a willingness to pay more than a couple dollars for apps.
  • Piracy appears to be an increasing problem. A quick search for Car Locator on Twitter reveals links where people can download the .apk file without paying. I tend to have the same attitude on piracy as Balsamiq, so I'm not too worried about it, but I would love to hear some typical statistics on Android piracy.

Clearly, I'm on cloud 9 with these numbers, but where does it go from here? Sales of about $13k/month is awesome income for any one person, so it may sound ridiculous for me to think it can go even higher. However, I still think that Android is only a fraction of what it will eventually become. Each release of a new Android handset gets me excited, as it means a wider reach for the Marketplace.

If Android development is something you've been mulling over, I encourage you to make the leap. Though my experiences are clearly not typical, I definitely think Android is the ideal platform to be in for an individual developer.

I'll post again in a month or so with hopefully even better numbers!

Android Sales Figures After Placing 3rd in the Android Developer Challenge 2

I posted a few weeks back on my Car Locator Android app sales figures. I was pretty excited when my app netted a record $44.00 in sales shortly after it was announced that my app made the final round of the Android Developer Challenge 2. I was hopeful that sales would settle around $20/day, and was content with the app making just enough money to pay for my meals everyday.

It's been an exciting 3 weeks since then. One of the highlights of my day is logging into my Google Checkout account, tallying up the number of sales of my app, and plugging the number into my excel sheet every evening (yes, I know, I live a simple life). Last week, I released version 2.0 of the app with a lot of new features. But the really exciting news came when I heard from Google that my Car Locator app placed 3rd in the Travel category of the contest, winning me a nice $25,000 prize.

Needless to say, things are looking up for Car Locator and I couldn't be happier with the way things turned out. I'd like to share with everyone some updated numbers since my last post.


  • About 39,000 downloads of the free version.
  • 959 downloads of the paid version at $2 each.
  • At last check, the app was ranked #14 in the Travel category for paid apps.


  • I recently discovered a bug in the free trial of my app that caused it to never expire, making it essentially the same as the paid version of my app. Oops! Amazingly, people were still buying the full version. This has restored my faith in humanity.
  • The spike around November 23rd coincided with the release of Car Locator 2.0.
  • The spike around December 1st coincides with all the press/blogs covering the ADC2 winners (for example, here, here, and here). Sales for the past 3 days have exceeded $100/day, with the record being December 2, at $156.00.
  • Having a visible position in the Android Market is vital to the success of the app because there aren't many avenues for an Android app to get exposure other than the Android Market. Your rank on the Android Market appears to be some combination of your average rating and number of downloads. Obviously, this is sort of a chicken-egg problem for developers. The recent string of fortuitous events for my app was enough to push it into a high enough position to get enough visibility. I hope it's able to stay there.
  • Sales of the app is still nothing I can live off of, but it's definitely paying for more than meals at this point, and is providing some nice extra income. Especially after winning $25,000 from the contest, I now owe a lot of dinners to friends!

My Humble Android Sales Figures

Posts on the Apple app store sales are pretty easy to find, but I haven't seen many Android developers sharing their sales figures. Though I wish I had some more exciting numbers to share, I thought people might be interested in hearing my sales numbers anyways.


Before diving into the numbers, lets put things into context.

  • Car Locator is a pretty straightforward app: Save your location when you park your car, and the app will navigate you back to your car later. I've also heard of it being used to locate hiking trail heads and for Geocaching. The app goes for $1.99 on the Android market.
  • There is also a free version of the app.
  • I've done no marketing on the app.
  • The Motorola Droid phone was also released on November 6.


Car Locator has been on the market for a little more than 2 months. Since then, I've seen:
  • About 23,000 downloads of the free version.
  • 220 downloads of the paid version.
  • At last check, the app was ranked #21 in the Travel category for paid apps.

  • In the first 2 months, the app saw sales of about $5-6/day. Nothing too fancy. But starting November 7th, there's been a significant uptick in sales, peaking on November 9, where the app saw $44 in sales.
  • Sales have since settled to about $20/day, but it's probably too early to tell if this will hold.
  • I'm attributing the recent uptick in sales to 2 factors: (1) The release of the Droid phone and (2) Car Locator being in the final judging round of the ADC2 contest. It's impossible for me to tell how much of factor each of these play, since both events happened on the same exact day, but I would be interested to get some more data points from other developers.
  • Ironically, it seems to me that it's easier to get exposure as a paid app rather than a free app. Here's why: When you open the app store on your phone and select a category, the app store first shows you a list of paid apps in that category. Car Locator is the 21st app on the list in the Travel category -- It's pretty easy for someone browsing the store to see the app. However, if you select the "Free" tab, I can't even count how far down the list the free version of Car Locator is -- No one would really find the free version of the app without explicitly searching for it.
  • Though sales of the app is nothing I can live on, it is kinda cool thinking that the app has been covering the cost of my meals recently. It's nothing compared to the stories you'll hear on the Apple app store, but I personally beleive that with the release of many new Andoird-based phones, Android has more long-term potential than the iPhone.