I was doing “Office Hours” at Google I/O, and this guy walked up with a question and we got to talking. His name is Derek James of Polyclef Software; he comes from a different planet from the one this Web guy has been living in, one where Psychology Ph.D. candidates build actual real businesses, starting part-time, via single-handed mobile-device programming. I did an email interview with him.

Numbers · Tim: Let’s start by establishing your credentials. I’d say that by most metrics, you’d rank as a successful Android game developer. Care to give us some numbers?

Derek: Sure. First of all, I don’t just develop games, though those are generally my more popular apps. In terms of quantity, as of now my apps have over 300,000 combined downloads. As for quality, I have over 10 published apps with a 4-star rating or higher. And as for revenue, I’m on pace this year to exceed six figures solely from monetizing Android apps. So yeah, I consider myself a successful Android developer. My experiences with Android have already exceeded my expectations.

History · T: What’s your background, and how did you get into this?

D: That’s the funny thing. I have no formal software development training. My undergraduate degree is in English (from UT Austin). I worked as a high school teacher for a few years, then did web-based training for a while after that, before deciding to go to graduate school. I’ve been working on my PhD in Cognitive Science for several years, and then last March a friend of mine who works at Google sent me an interesting birthday present. He’d gotten a G1 as a bonus at work, but already had an iPhone. So he gave it to me as a present. At that point I hadn’t heard of Android. I read up a little about it online and downloaded the SDK out of curiosity.

Derek James of Polyclef

I have a couple of friends who develop for the iPhone, one who makes a little extra cash each month from simple niche apps like construction calculators. I thought I could maybe do the same on Android and just earn a few bucks for pizza each month. I was already familiar with Java, having used it to do some computational modeling in graduate school. Writing a concrete calculator in Android was far easier than modeling neurons. Hitting the publish button for my first app was pretty cool. I saw a trickle of sales, so I kept on releasing simple apps, learning more and more features.

I love games and so it was natural at some point to try my hand at working on an Android game. My first one was a version of Spades. It was the first Spades app on the Android Market, but someone else released a competing version within a week after mine. I then released a version of Hearts, but initial ratings were poor, so I pulled it. Golf Solitaire was my next game, and it’s still one of my most popular apps.

I spent all of the summer of 2009 working on an entry into the second Android Developer Challenge. It was a game called Relativia. I was a big fan of the game Puzzle Quest, which is an RPG/Match-3 hybrid. Though I really like that game, and I love the concept of blending genres, I never really thought Match-3 worked very well as a head-to-head battle system. So I designed a puzzle game as the battle system for Relativia that worked like a variant of Connect Four. The player fights enemies by dropping tokens into a slots in a grid. If they match 3 or more gems, they get money to spend on gear like swords and armor. If they match 3 orbs, they get mana, which lets them cast spells. And if they match 3 skulls, they do direct damage. I planned on adding the additional wrinkle of geolocation, so when you launch the game, you search for markets and dungeons local to you, and they coincide with real-world locations, such as your local coffee shop. You would need to travel to that coffee shop in order to enter the dungeon in-game. Now I thought this was a cool twist on mobile gaming and potentially a clever new method of monetization. If the game was popular enough, I could make deals with businesses to be featured as locations to visit to unlock game content. The game placed in the top 25%, but that was it. And when I released it on the Android Market, I got a nice dose of reality. People overwhelmingly liked the RPG elements and the game system, but they didn’t want to have to walk or drive around town to play the game. So I revamped it as a non-geolocation-based game, and renamed it Puzzle Lords. Even though it’s very highly rated, it doesn’t do nearly as well as the staples: well-known, high-demand casual games.

So my next game was Dominoes, which has done very well. And most recently I’ve worked with another developer to release WordWise, which is an asynchronous, 2-player crossword-style board game. We decided to use Google App Engine as the back end, since it uses a Google account for authentication and Android devices are also set up with with a Google Account by default. It’s been a lot of work, and there have been a lot of issues, but the app seems to be doing pretty well so far. It’s got about 800 users and a 3.5-star rating.

Future · T: What’s next for you?

D: Well, we released WordWise as a paid app initially because we didn’t want to have a massive user base while we were working out any issues with the server. It’s getting pretty stable now, so we’re hoping to release a free, ad-supported version soon. There are also lots of features that we want to add in. If that does reasonably well, we’d like to get other clients made, such as Facebook and iPhone. I think it would be great to have a game that lets iPhone users play against Android users.

I’ve also got another word game in the works, a solo casual game that’s sort of a hybrid between Match-3 and word find games.

I’m also sketching out plans for a social networking app that uses the Bump API. That could be really exciting if I decide that it’s going to be feasible technically and cost-wise.

Needless to say, grad school is on hold right now.

Irritants · T: What’s the biggest problem an Android game developer faces?

D: As far as development, I know the Android team doesn’t like the “F” word, but fragmentation is a very real issue. There’s the increasing number of hardware configurations. There’s vertical firmware fragmentation in the sense that there’s a spectrum of versions in the ecosystem ranging from 1.5 to 2.2. And then there’s horizontal firmware fragmentation in the customized variants by the manufacturers, like Sense UI and MOTOBLUR. This rapidly expanding diversity is great in terms of expanding the user base, but it increasingly makes development and testing a pain. The Android team has done a great job of trying to mitigate these issues. The development tools associated with Android are very nice. But it will become more and more difficult to develop apps and games that run on more and more configurations if the gap between the oldest and newest firmware version continues to grow and manufacturers continue to release their own versions.

As for the business side, Google Checkout needs a lot of work, specifically in the area of reporting.

Dos and Don’ts · T: Are there any special tools you use and would like to recommend? Conversely, are there any Worst Practices that other developers should stay away from?

D: In terms of development, I just use Eclipse and the tools that come along with the Android SDK, which are great. I use Flurry for analytics, and I highly recommend it for providing detailed information about how users are interacting with your apps.

In terms of worst practices, probably a lot of what I do are worst practices. :) Actually, there’s very basic stuff like not being very rigorous about commenting code, tracking versions, and basic development practices. Because the Android approval process is post hoc, you can basically publish or update a live app nearly instantly. It’s very easy to get lazy and sloppy when your app is not subjected to a rigorous approval process. I’d also strongly advise against developing and testing solely in the emulator. There are often stark differences, especially when it comes to interacting with the user interface, between an emulated device and a real one.



Contributions

Comment feed for ongoing:Comments feed

From: Nushio (Jun 24 2010, at 18:00)

Hey there!

I'm really glad to read this interview. I just started developing android apps about 2 weeks ago, and published my first app on Monday.

I found the Android Market good, but not good enough, and was wondering if you could help bring these issues into Google's attention:

http://abugadro.k3rnel.net/2010/06/24/my-android-market-wishlist/

In particular, http://code.google.com/p/android/issues/detail?id=4376 (Share Application Statistics with Developers), I think that one is the *most* needed issue that needs fixing.

Thanks.

[link]

From: Richard (Jun 24 2010, at 22:08)

Presumably Derek isn't in Canada - or any of the other 12 of the 19 national members of the G20 - or any of the other 150+ countries in the world - where the Market doesn't allow developers to sell their apps.

Guys. I/O was the last chance for you to announce a *massive* expansive of global Market support, without it becoming clear that something has failed, and failed badly. I was shocked that there wasn't even a *token* attempt to address the issue - add a couple of countries (say Belgium, Portugal, Switzerland, something Scandinavian so that Western Europe is at least covered) to show that something is moving, the lights are at least still on.

Instead, all we've seen is repeated failures in the Market front-end and back-end, insultingly vague non-apologies, the odd random non-comment buried in a somewhat obscure web 'help forum', and no sign at all that anything is changing. There's not even any sign that anyone is aware that there's a problem, never mind how embarrassing it is. We need a public acceptance that things haven't been done right - it was done for the N1 store, it can be done for the Market - and a public commitment to improve, *with* some concrete examples, not just platitudes. Please?

[link]

From: Mike (Jun 25 2010, at 01:14)

If Google had any sense of ethics, it wouldn't open Android Market in those countries where it refuses to allow developers to sell apps from.

Looks like Google just wants to make some money off Checkout, so even if developers in a hundred countries get to suffer for this as a cost - it's ok.

And sadly, they don't have to courage to admit it - what with all the "it takes time to introduce it".

18 months and counting.

[link]

From: Pavel (Jun 25 2010, at 01:45)

Agree with Richard completely. The limited number of countries which allow developers actually to sell apps through market seems like a huge, glaring hole in Android armour. Understand it is a difficult process, but as Richard said, adding a few more countries or addressing the issue at G IO would make it much more tolerable.

Is Google going to address this anytime soon ?

[link]

From: Matt (Jun 25 2010, at 07:46)

Beautiful.. thanks for sharing. And on the topic of sharing, despite the entitlement attitude of some developers, I can only be grateful and ultimately stoked about the progression of open development for the common man on the willing backs of sharing-centric companies like Google. Right-on.

[link]

From: Cameron (Jun 26 2010, at 01:10)

Great article, its amazing to see people with no background is software development have lots of success just from determination and perseverance.

I also agree with Richard, when I started development for Android and realized they did not support Canada selling apps on the market I was shocked! Reading more and learning that they only opened the market in August 2008 I can understand they are doing the best they can but if they want to contend with Apple they better step up their game fast.

[link]

From: Derek James (Jun 26 2010, at 07:25)

Yep, I live in the US. I definitely have sympathy for those devs in countries where paid app sales have not yet been approved. On the other hand, paid apps are not the only way to monetize. A large percentage of my revenue comes from free, ad-based games, and I know of other devs who monetize exclusively through this model and do well. It has the nice advantage of thwarting piracy as well.

If your app is especially suited to paid sales, you also have the option of working with someone in a paid market to publish your app. Yes, it's a pain, and the publisher will take a percentage, but it's a workable solution until your country is approved. If you have questions, drop me an email (polyclefsoftware at gmail dot com).

[link]

From: Dan Scott (Jun 26 2010, at 08:55)

Hmm. Not being able to purchase apps in Canada is news to me - I just successfully purchased and downloaded "AndChat (Donate)" for $3.10 CDN.

It isn't exactly news that paid apps are available in Canada, either: http://androinica.com/2010/03/15/canada-android-users-get-paid-apps/

Perhaps it's because I purchased an unlocked Nexus One directly from Google, so my phone isn't subject to restrictions at the whims of my carrier (Telus, in my case)? If you aren't able to purchase apps, I don't think you should be blaming Google.

[link]

From: JoelC (Jun 28 2010, at 12:10)

It's possible to purchase apps in Canada, however it's not possible as a developer/publisher to sell apps in Canada.

What is the roadblock here? Is it something to do with Canadian policy?

Are there any options available to Canadian developer for monetizing their apps in the market?

[link]

author · Dad · software · colophon · rights

June 23, 2010
· Technology (77 fragments)
· · Android (56 more)
· Business (106 fragments)
· · Mobile (20 more)

By .

I am an employee
of Amazon.com, but
the opinions expressed here
are my own, and no other party
necessarily agrees with them.

A full disclosure of my
professional interests is
on the author page.