Sunday, November 29, 2009

Well That Didn't Last Long

Dominoes was knocked from the #1 paid slot in Cards & Casino after only a few days on top. A solitaire collection is currently #1, but Dominoes looks like it's going to hang in solid at #2. It's still selling very well (30-40/day). Dominoes is #50 overall in paid games. Comparably, the #16 in Arcade & Action is #30 on the overall list, which gives an indication of the better-selling categories. Golf Solitaire is hanging tight at #7 with 3-10 sales a day, so it doesn't take much to stay in the top 10 in that particular category.

I'll do a recap at the end of November, but it was a very good month. I'd love to see the numbers go up as more and more people buy Android phones, but I certainly would not complain if they stayed right where they were for a while.

Sunday, November 22, 2009

Checkout Check

I'm just finishing up a new app that's probably the first one I've designed and built specifically for my own personal needs. It's called Checkout Check and it's an interface to Google Checkout that lets you generate simple sales reports. Here are some screens:

Here was the problem: If I want to see what my sales in the Android Market are for a given day or date range, I can log in either from the browser on my PC or on my G1. On the browser, the cookies make the login a two-step process. On the phone it's an additional step and each page that loads is quite slow. Either way, there is no way to sort sales for a given day based on the name of the app. You can export a summary to an .xsl file, but get this...you can't export orders with the name of the app!

Let's say I sold 45 apps on a given day and I want to record the sales. If I want to know how many copies of each app I sold, I have to load up the market interface in the browser and manually count them. And like I said, you can't even sort them by app name. As my sales continue to increase, this becomes increasingly tedious.

So I've developed an app that let's me select a date range and an order state and generate a simple report that details the name of each app, the number sold, the gross revenue, and net revenue, and totals for everything. It's kind of amazing to me that I'm not able to generate such a report through the official market interface.

And let me tell you, it wasn't easy using the Google Checkout API, either. There's a Notification API, which works in real time to notify you of any changes to your account, a Notification History API, which allows you to get information on past notifications, and an Order Report API, which generates reports on orders.

But here's the thing...from what I could tell, only new order notifications contain information regarding item name. So what I had to do was send a query to the server for all the new orders for a given time range, returning order number and item name, then send another query for an order report for the given time range, which contained order number, status (CHARGED, CANCELLED, etc.), and cross-index the two to generate a report with the information I wanted. Sounds fun, huh? Because who would actually want to generate a report with the name of the items they're selling, right?

Anyway, it works. Sort of. It's a bit slow, but right now it's reliably fetching sales information for a single day for charged transactions. I'm still having some issues with other order states, and I'm also getting errors when I search for time ranges over a day.

Another fun property of the Notification History API is that you can only fetch 50 orders at a time. If a query return is longer than 50 orders, what you get is an XML response with 50 orders and a next-page-token. You have to send another query using that token to get the next page, and so on for every 50 orders. I'm probably either getting a time-out error or an issue with memory for queries longer than a day, but hopefully I'll figure that out soon.

Anyway, I know I'll find it useful, and I hope other Android devs do as well. I'm sticking ads in it to hopefully generate a little revenue. If the ad revenue just isn't worth it, I'll likely just open-source it and see if other devs can help make it better. Also, right now it only supports transaction fee structures for Android merchants. Google takes 30% per transaction for Android apps, but the normal cut for Google Checkout is a tiered structure, depending on your monthly revenue. For non-Android transactions they take a small percentage and a flat fee for every transactions, and the fee gets smaller the larger your monthly transaction total. If there's enough interest and demand I'll probably augment the app to handle non-Android app transactions, but there's no need to do that right now. Besides, non-Android merchants can still use the app to get a summary of units sold and gross revenue.

Dominoes Hits #1!

Yep, I've now got the #1 paid app in Cards & Casino in the Android Market. People must love their dominoes. And revenue continues on an upward trend. I could get used to this.

I'm definitely expecting growth through the end of the year. Black Friday is coming up and I would expect another bump from discounts on the current crop of Android phones, as well as another around Christmas when gifted phones are fired up and new users start looking for apps.

Supposedly Verizon/Motorola has already sold around 250,000 Droids, and I saw a report yesterday that estimated 600,000 would be sold by the end of the year. Good stuff.

On the flip side, Golf Solitaire has slid down to #7, but I'm not going to complain.

Wednesday, November 18, 2009

T-Mobile Carrier Billing for Apps

Apparently T-Mobile had announced that starting Nov. 17th users would be able to purchase Android apps by easily charging them to their mobile bill. They also announced a custom T-Mobile channel in the market. It's Nov. 18th, and browsing the market and searching for T-Mobile, I don't see either of these functions. I have T-Mobile service, but clicking "Buy" for a paid app still takes me to Google Checkout, with no other payment options.

I was excited when I heard they were implementing this, hoping that more payment options would facilitate more sales, especially impulse purchases, and possibly fewer returns. It's not up by the announced date...I do hope they get it up and running soon.

And another quick update: Dominoes has just moved up to #2, but Golf Solitaire has dropped a slot to #6. Having an app in the #1 slot would be oh so sweet. Just one more to go.

Update

Well, a few days ago Golf Solitaire was #3 and Dominoes was #5. Now their positions are reversed, with Dominoes at #3 and GS at #5. Dominoes is still selling strong, making up about 30% of my revenue right now.

It's been a while since I've shared some hard numbers, so here they are in a pretty graph. This is net revenue by day for the past 6 weeks:


I had been steadily making about $50/day before the release of Dominoes, which gave me a very nice, and so far robust, increase.

As you can see, revenues had started to dip back down slightly before the release of the Droid on Nov. 6. According to reports, they sold 100,000 Droids in the first weekend after it went on sales, and about 250,000 in the first week. It looks like the Android market is poised for steady, sustained growth, mostly on the back of the Droid. Though the bulk of my users are still on the G1 and MyTouch, I'm seeing a steady rise of Cliq, Hero, Eris, and Droid users in my analytics.

My graphics probably look a little grainy on the Droid, though I have yet to confirm this...still wrestling with whether or not to get a Droid. The only confirmed technical issue was with Kilopod, my Centipede clone. I'd built it for trackball support, and hadn't built in controls for a d-pad, which is what comes on the Droid. A user alerted me to this and I fixed it within an hour.

And that's net revenue, after Google has taken their 30%. Revenue from ads makes up about 55% of the daily take, leaving about 45% to net sales. Ads have tended to make up about 50% of revenue since I started this.

In the works are a Google Checkout client for Android called Checkout Check (I'm not happy with the way Google Checkout exports data), a multiplayer version of Dominoes using Google App Engine as the server (Philip is working on this), a local version of Relativia which will be rebranded as Puzzle Lords, and a new game called Mobile Murder Mystery.

Sunday, November 15, 2009

2 in the Top 5

Dominoes has edged it way into the #5 slot in Cards & Casino in the Android Market. Golf Solitaire is wedged in at #3. So I now have two games in the Top 5 in their category, which is very nice. And Dominoes shows no sign of slowing. It might very well pass GS this week and take the #1 (currently held by Ahoy Matey).

Meanwhile, InfusionCalc had dropped out of the Top 10 in Health, but I've had a nice trickle of sales lately, enough to nudge it back into the #10 slot.

I've noticed now that a lot of my niche apps (like Concrete Calculator) are selling in low, steady numbers again, probably due to the infusion of Droid users.

Friday, November 13, 2009

Update

Sales and ad revenue are still strong, so I'm happy. Golf Solitaire is still #3 in its category, and Dominoes has moved up one slot to #7, and is still selling briskly.

I came close to buckling down and buying a Droid and just going month-to-month on Verizon, but then I heard that there's a GSM version of the Droid called the Milestone that's released in Germany and will soon be released in Canada. See, T-Mobile, the carrier I'm on right now, uses GSM. Verizon uses CDMA. That means the phones don't run on each other's networks. However, even if the Milestone isn't officially released in the US, you should be able to use it on T-Mobile's network. So I'm going to wait a little bit and see if I can make that happen. That would really be the best option.