Featured Levels on Android Market

I stated many times (like in this slides) that between being featured or not on Android Market (now Google Play) means to Fly or Die.

Previously, there were 2 levels of featured; each week new titles ware added and the oldest ones ware shifted out. First you were into the top list -appearing on the header- and into the featured list, that was sorted at random. After the first week you were pushed out of the top, and after one month you were pushed out also from the featured list. It looked like this when Chalk Ball was featured past year:

This changed with the update of Android Market that presents the apps as “tiles”. Now there is a main screen, then another one for most of the categories and, in the case of games, there is another one for the genre. After that you still can browse the normal lists. It looks like this now that SpaceCat is featured:

While I believe that Android Market has too many screens and lists to the point that is confusing to the users and many of these screens are too many clicks and swipes away that they are barely reached, that is not the topic of this post.

Today I want to talk about the stages in being featured inherent to this hierarchical structure. It goes from more to less. I have classified them according to Dragon Ball Saiyan states, to emphasize the power gap.

Featured in Home Screen: Super Saiyan 3

When new featured titles appear, they are usually put on the big banner of the web and also the main screen of the app. This is the first screen users see when they open the market and -I suspect- it has a huge impact.

Needless to say, when you are featured on the home page, you are also featured in the category and subcategories and you appear in the Staff Picks list.

Unfortunately I can’t give you figures about this because SpaceCat was featured directly under Games, but feel free to extrapolate the results from the other cases.

Featured in Category: Super Saiyan 2

This is the screen when users go to find something specific. Fortunately for us Games has an entry from the homepage and it is one of the most visited screens of all the market. SpaceCat was placed there for around 2 weeks, sometimes as a big banner, sometimes as a small one.

Being there we averaged 50k downloads per day. Mind you, SpaceCat is a Free to Play game, a paid app will have a lot less downloads -as we experienced with Chalk Ball-. Still, 50K downloads a day is totally massive. To put it in context SpaceCat had 50K downloads in total from the previous 6 months, including more than 10 blogs reviews, so yes: WOW.

Of course, during this time you are also listed on the subcategory and in the Staff Picks, which just adds to the number of downloads.

Once you had your time here, it is time for some fresh meat, so you will logically be pushed to be only in your subcategory and the staff picks list.

Featured in Subcategory: Super Saiyan Full Power

During this period we averaged 15k downloads a day. That is half what we got per day when Rabbit and Eggs (an Easter themed free game) was featured on the Main Page during Easter 2011.

The number of Android devices out there has grown a lot over the past year. With the figures of past Easter and now I can say that the number of potential users definitely has grown in the same proportion.

Then, after the standard month period, your app will be removed from the Staff Picks list, but will remain on the subcategory for a while longer. Thankfully there are more spots now on Android Market and you are not pushed completely out at that moment.

Featured in Subcategory: Super Saiyan

This was a bit surprising bit for me. When the app was pushed out of the Staff Picks, but still on the subcategory, we observed a drop to “just” 5k daily installs. I was expecting the importance of Staff Picks and subcategory to be the opposite.

Although that is just 10% of what we got on the first stage, it means a lot of downloads and as an indie developer I appreciate this slow decrease in popularity and downloads instead of the sharp drop we experienced a year ago with Chalk Ball.

Although 5k downloads a day sounds small when you come from being on the top, it is still a very good amount of downloads you are very unlikely to get from any other place.

Note: Platty Soft is the current company responsible for the games of The Pill Tree.

Guru Session: Tools for Android Game Development

On March 24th, I will be giving a guru session at Mediamatic Bank (Amsterdam) about tools to build games for Android. This session is organized partly by Appsterdam and partly by the Dutch Android User Group, that’s why we have half of the seats on the Appsterdam meetup page and the other half in the DutchAUG page

There are a few spots left, and I believe it is going to be an interesting one, so go and get one!

I will publish the slides on this blog once the session is done.

Abstract

When thinking about building a game for Android, one can write it from scratch. Or you can look for tools, libraries and engines that already exist so you don’t have to reinvent the wheel.

We did that at The Pill Tree for both Chalk Ball and Space Cat, both games have different requirements and the solutions we found were also different. In this session I will summarize the strong and weak points of AndEngine and jPCT-AE and the uses you can make of them.
I will also give a brief explanation of other libraries that are interesting, such as ScoreLoop / OpenFeint for scores and awards and give a short introduction to virtual currency and incentivated ads.
After the talk, I will provide the people with the samples of both engines and we will play around with them.

How to get into a good mess

Over the past weekend the online shop of SpaceCat stopped working.

That was the result of some unfortunate decisions and the fortunate situation of being featured. Anyway, that should have never happened, but I re-learned a few lessons.

Problem #1: The shop is our own implementation

I always defend to not reinvent the wheel, but in this case we did. Should we had used a 3rd system such TapJoy or ScoreLoop -which are already integrated-, this should have never happened, partly because their code is more tested, partly because it relies on their servers.

Why did we did it?

Because we wanted to have a shop that was not bounded to just Android Market to be able to distribute the game over other channels such as Amazon AppStore. We integrated PayPal for that. And we had to implement tracking of purchases per user, which is done for you when you use Android Market IAB .

ScoreLoop did not support it. We could have done it with TapJoy, but the initial release did not include that library, since this was originaly designed for Chalk Ball.

In summary, that was the result of legacy decisions that could have been changed later on but we did not want to throw out work away.

Was it worth it?

Hell no! Paypal is a nightmare from the accounting point of view (not entering other discussions about PayPal here) and at the end we did not delivered SpaceCat through other channels, so 100% not worth it.

Problem #2: The shop was hosted on a shared server

Yes, we just put it in on a server we used for hosting other websites. At the time it looked like a good idea and it was not like we were making too many requests. After all, users don’t open the shop that often, they do play, and that does not require the server.

Why did we did it?

Because we did not have a dedicated server out there and setting it up for this sounded like an overkill.

Was it worth it?

Yes, until the moment SpaceCat was featured. We did spare the cost of a dedicated server for 6 months, while the game was not popular enough.

We should have prepared the migration at the very moment SpaceCat was featured, but honestly I did not see this comming.

Problem #3: The URL of the API was hardcoded

Yes it was. What else do you want me to say?

It required an update of the game to get it fixed. Should this happened to an iOS game we could have been unable to fix it for days.

Why did we did it?

Good question. Because I did not think of it at the moment. No excuse.

Was it worth it?

No, it could have been a much worst scenario. I am glad it just required to do an update and that the continuous integration system was properly setup so we could do it quickly.

What happened exactly?

Once SpaceCat got featured, we started having around 50,000 new users a day, 50% of them opened the shop. So after a week, that database had grown from 50,000 to 300,000 rows.

In addition to that, we started having more than 4 requests per second hitting that table. While this should not be that bad, it was too much for a shared server and the account was suspended.

The fix

The solution was to set up a dedicated hosting so we can have total control and maybe install other tools that are not mySQL in the future if it is required.

Once the host was delivered (and the company did a very good job by completing it in less than 5 hours) installing the code of the shop and migrate the data was done in less than an hour.

Then, we had to reconfigure SpaceCat and publish an update on Android Market. I’m glad to have jenkins in place.

All in all the system was down only for 12 hours, which is not that bad.

Even more

In addition to that, once the dedicated server was up, I noticed that the table was being slow even if the server was not heavily loaded. I looked again at everything and I noticed that it was missing one index.

How did that happen? I don’t know, I was sure to have it in place. Probably because we lacked a proper deploy method and that index was only on the dev environment. Probably because of the lack of stress tests; until 300.000 entries & 4 request per second the table was not performing that bad and we never noticed it. This is, again, a problem of implementing your own solution.

Now the system is good and working, but it has given me too many headaches over the past days so, again, if you are going to create an app that uses a service and it has the potential to be used by many people, use a 3rd party solution if it is available.

Why there are no good mtg free apps for Android?

This lack of good apps for this game may be astonishing at first. Magic is a popular game and Android is a popular platform. You should expect a few good mtg apps. WotC (Wizards of the coast, the makers of the game) is going to release an official app soon, but that has not been the case for the past years, so why there are no good free mtg apps?

Well, the fact is that there were good Android mtg apps, not to long ago M:tG Tracker was a free app and you could upgrade to the paid version. The app was as good as to get 3rd place on the Best Reference category of Best App Ever 

And that was not the only one. There were a few more, like MtG Tutor with a lot of features including a very good advanced search or MtG Depot with a very nice interface. Also, on the paid side there was Deck Forge, which had a lot of features and, I’ll admit it, took the lead of innovation in many aspects before I did.

But all those apps are no longer there, and the reason is that WotC have sent copyright infringement notices to google, asking  to remove them. Why now? The only reason I can think of is that they are going to release their own app and they want to wipe out competition.

Why making a better product if you can have “the only alternative”?

Let me clarify that.

Don’t take me wrong, there were material from WotC and is their right to claim the suspension of apps, but up to now this apps were made with good will, and were adding value to their product. Also, there was never the intention to talk, none of the developers of those apps were warned or given a chance to remove the copyrighted material from their apps.

Also, I’ve seen the screenshots and the app looks promising, so I don’t think they are going to do a bad product. But why should you risk your market share anyway? Maybe for the sake of more than 200.000 people that were using apps that are no longer available while the official alternative has not been released yet.

Make no mistake, WotC is not releasing the official app to help players, it is going to do it to make money. That is the only conclusion I can reach from their actions.

At this point: Why is M:tG Tracker (formerly pro version) still available?

When I got the free version suspended, I went through the app and I removed all the copyrighted material, the fonts, the mana icons, the tap icons, etc. with the hope that it will prevent that one from being suspended… it has worked so far.

I am trying to clarify what exactly can be put and what can not, and also asking for the procedure of licensing the material so I don’t have to worry about it in the future. While this is not settled, I can not afford to continue with the features I had in mind, risking that all that work may be trashed at anytime.

Thanks to all the users that have been supporting me and the other developers. If someone asks you “Why are no good mtg free apps for Android?” you can now tell them why.

Book Review: Learning Android by O’Reilly

I approach any Android book with low expectations. The ecosystem is changing too quickly and too often that is impossible for a traditional media like printed books to catch up properly. However, I gave this one a try.

Of course, there is no mention to the Compatibility Library, the Action Bar or Fragments, which are Honeycomb / ICS specific. I should have been shocked if there were, because they are very new, but I consider them myself the starting point of Android development as of today.

On the other hand, development up to Gingerbread is very well structured, starting with the basics of Activities and Layouts to keep going quite deep onto Services and Content Providers. They go even further, talking about Aidl and NDK, which I had no need to use yet, but it is good to have them referenced.

There are two variants of introductory technical books: the ones that teach you general concepts, and the ones that are structured around an example. I personally prefer the second type, it helps me seeing real applications of what I am learning and is easier to focus on the content. This book is one of those, which I think is one of its best points.

I recommend the book to get an overview of Android or as your first Android book. It will serve you for quite long in the learning process -I even learned a couple of new tricks myself-. But if you want to be a really good android developer you want to complement the lessons of the book with the Compatibility Library, the Action Bar and Fragments.

Why piracy in Android is not that important

Many people complain about piracy on software. A lot of mobile developers complain about piracy on Android. I was never too worried myself, this is why.

It is true, piracy exists. As a matter of fact, when we launched Chalk Ball at The Pill Tree, it got cracked in a couple of weeks. We were checking for blog reviews at a time and we found it, so it was even easy to find.

Cracking an Android app is not very complicated, but it is not trivial either. If someone takes the effort to do it, it means you are already in the way to succeed. Having your apps cracked is something to be proud of. So if it happens to you, don’t get angry, be proud of your work.

The cracked version was almost complete, just facebook integration was broken. There you have a tip: Since the signature can not be recreated, If you want your app to be really hard to crack, use facebook single sign in to login into your app.

Now think about the effort the user has to make to install an app from somewhere that is not Android Market.

First you have to seek and check an option labeled “Unknown Sources”. Many users will not do that, simply because is scary, and it is true, you are installing apps from untrusted sources anyway, if they cracked a game they can put a trojan inside it as well, right?

Secondly, downloading it and installing from your Android device is usually not trivial, you may need to download it in your computer, copy it to the sdcard, and then open a file browser to install it. Not complicated, but long and boring.

It is all about the cost of opportunity. If someone is about to install an application from an unknown distributor on the internet -having a free version that is enough for a few hours of play- and the process is going to take you more time than using the official channel, to save scarcely 2$, then is not a lost sale. This person was not going to buy it anyway.

Given that the problem with mobile games is mainly the visibility, each install -even if it is from a piracy source- is going to help you. That person is going to show the app to other people, and since there was an extra effort required, he is more likely to show it than those who just downloaded the free version. In the end, it is some sort of advertising.

These are my reasons to state that it is not a lost sale, and also that it is some sort of advertising. However, you may not be convinced by my arguments, then I’ll tell you about the ultimate tool to battle piracy on Android. Ready?

It is called the GetJar Gold program. They give paid applications for free, and you know what? They pay you per download. Sounds crazy, I know, but it works. They are a well known source and they have the latest updates since they work with the developers.

Once your app is part of GetJar Gold, piracy is meaningless. You just need to install their App Store and from there on, you just download the gold apps for free, almost as easily as from Android Market.

Using GetJar has a higher opportunity cost for a user than using the market, but less than downloading an apk from the Internet. So still, many people will get your app from Android Market. You are offering the people that is up to make an extra effort to get the app for free a legal alternative to piracy.

Everyone wins, piracy loses.

A big elephant enters the room

Let me talk about one of my favorite projects: Magic TG Tracker, it is the most popular Android App for Magic the Gathering in both the paid and the free version, here is Magic TG Tracker in Android Market if you feel curious about it.

 

Yesterday we had shocking news, Wizards of the Coast announced an “Official app”. For those who don’t know it, they are the guys that make the real game, and they already have a couple of computer versions as well.

Many users asked me how I felt about it either on the facebook page of the app or by mail. It took me a while to put my thoughts in order, since there were lots of them.

First, I think is good to have competition, that always pushes products to the next level. Maybe there is going to be a bit unfair, since Wizards is a big company and Platty Soft is only one person, but I still believe I can build a better product. They also have the brand support and they can do any type of in-house marketing that I can’t, but we’ll see.

Secondly, they are announcing their iPhone app, the android one will follow. This can take quite some time, and building an app like Magic TG Tracker from scratch is not a small task, if they are going to build it after the iPhone one is published I will expect a few months to get it out. During this time people is going to search more for Android apps for Magic, and that is good for me.

But what really intrigues me is the purpose of Wizards, let me explain. There are two main reasons why -in their position- you may want to have an official app.

  1. Improve brand perception
  2. Generate profit

Let’s analyze them, its when things become interesting.

Their app is going to be free, but they are going to charge for the updates with the new sets. So it seems they are trying to make profit.

Magic TG Tracker is the most successful app of his type. It has even been in the top50 of Tools in the market. It is been nominated to best reference app of 2011, you can vote for it. Yet the income I get from it is not enough to make a living out of it.

What I mean is that the income for this app is going to barely pay for the development, even if it generates money, it is not going to be a significant amount for a company like Wizards. I may be wrong and the brand of Wizards will make the app have much more downloads than I do, but allow me to doubt it. More than 200.000 installations are quite a lot, few apps have more than 250.000. The next free app is not even at 50.000 downloads.

And this leads me to the final point. If the app is not going to generate a significant revenue for Wizards, they should keep it completely free and use it a tool to improve the brand perception. I think they are a victim of the gold rush of the apps.

Even facebook and twitter have their official apps, yet there are others, and many people prefer to use them.

I am not afraid of losing my user base. I know they like the app, and I am keen on improving it farther, and I will keep working on it. I’ll let you know if the impact in the amount of users and downloads when they release the app, in the meantime, version 4.0.2 has just been published and 4.1 is going to be on the works on Monday.

Speaking at Appsterdam Lunchtime Lectures

On January 11th Raul Portales (@sla_shalafi) will be speaking at the Appsterdam Wednesday Weekly Lunchtime Lectures (WWLL). The talk title is “The Road to Publish”.

For  more details you can check it on meetup.

From having an idea to publish an app there are many things to consider and a lot of potential pitfalls.

The talk starts putting down the myth that you actually need an idea to continue about topics that go from product engineering to project management (even for small teams) and other common topics to software development and “appcrafting”.

Hope to see you there.