Android and the future of gaming

We are living interesting times for gaming. Everything is changing very fast. Social games, Free-2-Play and mobile are relatively new topics but they are all growing like crazy.

The new generation of the established consoles look like more of the same. But there are  promising new gaming consoles, which are Android based. We have OUYA and GameStick as small projects that have been kickstarted, but also Project Shield from NVidia and the Gamepad from Archos. Special mention to the XPeria Play for opening the path.

I do believe that Android has a lot to say in the future of gaming. I want to highlight two aspects of it, each one with 2 sides.

Gamepads: Same old paradigm hinders innovation

This is something that worries me. When I started making games for phones I wanted to make use of their special capabilities. They have lots of sensors (the controls of SpaceCat), a touchscreen (Chalk Ball is not playable with a mouse), a camera (main element for Codemon) and that are just the ones I have already used in some game.

Smartphones have lots of possibilities for new game interaction mechanics, but if we make Android consoles and put them on the living room we are coming back to the same old paradigm and, to my personal taste, that is a step backwards.

Gamepads: Old paradigm is good

On the other hand, plenty of companies have been porting games designed to be played with a gamepad to Android with the result of horrendous on-screen pads. All those games are suddenly nice to play on this new Android consoles.

The paradigm of playing with a pad is deeply entwined with many game mechanics and designs. These games are even full genres and they are big and well known. The Android phones with pads are in fact solving a need that is already there.

Indie Studios: Lower entry barrier than ever

It is very cheap to get started on Android. The SDK is free, publishing a game requires no intermediates and the fee to publish on Google Play is merely symbolic. The entry barrier can not be lower.

This is great news for all the indie developers that want to try out something. Which is what I always loved of Android. No need of publishers or arrangements with distributors. Just you and the players.

Indie Studios: Difficult to succeed

Making money with games for Android is hard. Very hard. If Android becomes a mainstream gaming platform, the big studios are going to step in, making it even harder.

The platform lacks a proper discovery channel, and even thou there are millions of potential users, only a few are really interested on games.

Yes, there are companies that make shitloads of money, but there are very few. The success ratio is lower than in other areas and there is a situation when winner takes all, everyone will play the most well known games and forget about the rest.

But…

There is an important remark to do: The people that buy these devices are gamers, and they are buying an Android device to play games with.

This is a difference much bigger than what it looks like, because this public will consume more games, more often than your usual smartphone user (maybe not more than an average tablet user, but anyway)

There will be specialized channels, blogs, etc about games for Android and that may help new tittles to be discovered and maybe create a healthier ecosystem for indie companies.

Reaching 50K downloads

Things have changed quite a bit since I published my first Android App back in 2009. Let’s talk about a figure that is sort of a magic number (pun intended) for a free app: 50K downloads.

Why 50K downloads?

Google Play displays the amount of downloads in blocks: 1K+, 5K+, 10K+, 50k+ and so on. Sometimes you need to double the number of downloads to move up and sometimes you need five times the amount. This makes 50K downloads an official milestone on Google Play and one of the “hard” ones.

Also, this number has some interesting properties.

First let’s see a niche app: MTG Tracker.

I observed that after reaching 50K downloads, the grow accelerated. While I am sure this has multiple causes, I believe one is that it reached some critical mass and word of mouth started to make an impact. It was sort of an inflection point.

When we talk about games, the story is quite the opposite.

At The Pill Tree, we observed that 50K downloads was sort of an upper limit. Each of our games quickly grew to 40K+ downloads, but after that, reaching 50K seemed more and more difficult. It looked like an asymptote.

It took Chalk Ball 2 months to get there. For SpaceCat it was 5 months. Both games had a remarkable amount of reviews in specialized blog that helped them to get to that point. But both were stuck at 50K until they were featured.

During the time SpaceCat was featured, it had 50K downloads per day. Same number again. This was February 2012, when the estimated amount of Android phones was “only” 300M.

What about now?

During 2012, It has taken Codemon 8 moths to get to 25K downloads, even with a fair amount of reviews on its bag (not as many as the other games, but still quite a few).

I’d like to highlight that the game Barcode Beasties (very similar to Codemon) has over 100K downloads, being IMHO unfinished and less polished (but it was launched a long while ago, more on that later).

This does not make sense

There are much more Android phones out there, so getting downloads should be easier, not harder,  right?

android_device_gowth

Disclaimer: This is just my hypothesis that tries to explain this situation.

There are more users, yes, but the mayority are not power users. The amount of people that continuously checks Android news and is looking for new games and apps has barely grown. These guys are mostly early adopters and that phase is long gone.

But the amount of users is growing, so, even slightly, the amount of power users should grow. Where are they?

Well, it becomes more clear if we look at how much competition we have.

google_play_apps

I consider myself a power user and an early adopter, and this is what happens for me:

  1. I am flooded with new good apps coming out every week I barely have time to run them even once, and the same is true for games. I just can’t keep up.
  2. I have most of my needs covered already. That means I have over 70 apps / games installed that I like and use every now and then. It feels like I don’t need more.

A while ago, I tried almost every game that looked interesting. As of today, I have around 10 apps in my wishlist waiting for a chance, for months.

So, I think power users are either satisfied, overwhelmed or no longer so excited.

Apps used to get more exposure given the bigger percentage of power users and mainly, less competition, but even then, it was not that great.

Is all dark and gloom?

If the amount of users grow, but is harder to get to them, what’s the point?

While this is discouraging, there are 2 main benefits from this situation:

  1. If you get to be featured / popular the growth is spectacular. SpaceCat was having 50K downloads a day, and that was one year ago. Nowadays is must be even bigger.
  2. There are more specialized users and that means the niches are bigger in size. I have observed how the growth of my niche apps (MTG Tracker, KendamApp & JuggleDroid) almost matches the grow of number of Android phones, just on a different scale.

TL;DR;

Over the past years, the amount of Android users has grown (over 500M now), and so has the amount and quality of apps and games being released daily (over 750K apps listed).

The number of apps that a user can check per day is limited, and it is independent of the amount of users, it just depend on the number of apps.

Getting the same amount of downloads for your app is harder than before, but if you are lucky, the difference is astonishing.

Maybe it is time for all of us to start spending more money and/or time on marketing, focus more on niche apps (even niche games)

2012 Year Review

2012 has been a very intense year. It has been first I have worked completely on my own, so I wanted to have a review of the most interesting parts of it. One per month.

January: Mtg Tracker wins 3rd place on Best App Ever – Reference. Few days later the free version gets suspended by Google upon a copyright infringement letter from WotC.

February: SpaceCat gets featured by Google Play, downloads go sky rocket and the server melts down during the first weekend.

March: I organize a Guru Session on Appsterdam about “Tools for developing android games” that is a great success in attendance and fun.

April: Codemon is launched on Google Play!

May: I start working part-time with Fashiolista to build their Android App.

June: Working on 3 projects: Fashiolista, Codemon and AppAffinity. Learning how to minimize context switching impact. Quite happy with the result.

July: Together with LoopBit, we launch AppAffinity, our take to solve the app visibility problem.

August: KendamApp is updated with the ability to track your progress and know how close you are to a certain grade. Then I traveled to the European Kendama Open, where I get pre-dan.

September: I participate on the V hack Android hackathon with Ronald and Ron. Winning the second prize with “Appy Birthday”

October: I speak at BubbleConf with a lightning talk about “Piracy on Apps”.

November: For the second year in a row, I speak at DroidCon.NL, this time in the main stage.

December: Codemon goes into the last big update adding facebook integration, with the idea in mind to give room for new projects next year.

Why Google Play sucks at discovery and how to do it better

The Visibility problem

App Visibility has been a big concern for a long time, and it is not going away. If anything, it is getting worse.

A few weeks ago, Google announced 3 new Nexus devices which are going to bring lots of new potential customers for App Makers.

Also that same week, Google announced that the Play Store reached 700,000 apps. That is quite a huge number of apps for people to discover, and for developers to compete against for visibility.

Why does Google Play suck at discovery?

Google Play has an issue with discovery; even search is not good. They have been trying to fix it, but with little success. Let’s go over their attempts.

A year ago they introduced a lot of new lists (Top Paid, Top Free, Top Grossing, Top New Paid, Top New Free and Trending) which almost nobody browses because there are too many of them, making them irrelevant.

The best discovery tool on Google Play is the feature area, and it is a great one. Unfortunately it only highlights 4-6 new apps a week. That is clearly not enough, not to mention that it is impossible to apply for it and the selection criteria is vague, to say the least.

Lately Google Play introduced the “Recommended for you” feature, and I was hopeful, but it does not actually work. I believe Google doesn’t care about this.

Why do Google Play Recommendations suck?

Let me show you a screenshot I took a couple of weeks ago to illustrate some flaws:

Google Play is recommending Codemon (Barcode Monsters) to me. This is thrice wrong because:

  • The game is published under the same account that is configured on the phone. Well, this one is tricky, so I can forgive that.
  • The game is already installed in this device. Ok, this is awkward.
  • It recommends it to me because “You, txema olmo and 3 other people +1’d this”. Aha! Since I’ve +1’d it I may like it. This is great.

To be honest, I have not seen this happening lately, so they may have fixed some of the cases, but this is just the tip of the iceberg of how terrible their recommendations are.

They mix “Top applications” with “Popular in my area” with “+1’d for my friends” with “Popular with similar users”. All in all, it is a mess and it does not feel personal at all. Does it for you?

I usually don’t care of what is popular in my area; I already know the top applications and what my friends +1’d. I usually got all that by word of mouth. “Popular with similar users” is close to good, but there are so few of these recommendations.

Maybe it is a hard problem and can’t be done better; they are Google after all.

Well, it CAN be done better and it has been done.

How to do it better?

Personal recommendations are the key to solve this problem, but they need to be implemented properly.

AppAffinity is a project done by a team of 2 guys: One back-end guy and one front-end guy. There are other teams trying to solve this problem, but hey, this is our project.

It is as simple as using the information of the apps you have installed to recommend new apps for you.

Not “Popular in you area”, not “+1’d by your friends”, not “Top Applications”. Just Apps linked to your interests.

Obviously, an app you have already installed will not appear in the list, neither will an app you have uninstalled.

About the presentation: It is not 7 lists where you get lost browsing. One single list (which you can filter by Paid, Free or All)

The effort on AppAffinity is to provide the best recommendations as easily and simply as possible, and by looking at the comments on the Play Store, we may be close to our goal. Definitely closer than Google.

Speaking at DroidConNL

For the second year in a row I’ll be speaking at DroidConNL.

DroidConNL is the best conference for Android Developers in the Netherlands. 2 days packed with interesting topics. Past year was a blast, and I expect it to be even better this year.

I’ll be presenting an updated version of “The Road to Publishing” which I presented earlier this year at Appsterdam lunchtime lectures, among other few places, including one in Spanish for AgyleCyL (online, of course).

You can check out the slides, but I encourage you NOT to do it, since they are mainly images that will help you recall the concepts, so they are interesting after the talk, but not before, anyway, they are already online here.

Hope to see you there!

Talk summary (as on DroidCon website)

The process of building an App is slightly different from just Software Engineering, it is Product Engineering. In this talk Raul presents several topics about Product Engineering that are relevant to anyone that is making or planning to make apps.

The points presented in his talk are the result of his work in many apps and games in a variety of teams and situations, from Solo Developer to Team Leader. From how and why make prototypes to what it means to be agile, the talk covers many points of the life of an app before it gets published (and a few from after it is).

AppAffinity goes out of Beta!

It has been a while since we released AppAffinity. It has been out in the wild for a few months and without any effort on advertising from our side it has grown over 1,000 users. Quite a success.

For the past week, I got LoopBit involved again on a new iteration, tweaking the UI using the suggestions we received and solving the bugs user reported. Now we believe AppAffinity is ready to go and we have removed the beta tag.

Now it is called just AppAffinity.

What’s new?

People asked to see the details of ratings of every app. Many were upset that apps without the banner had more information. We did not want to add clutter to the banner because the designers put a lot of effort on them looking nice, so we added a detail view you can get swiping to the left

We also added a few animations, which you will notice as soon as you open AppAffinity.

The ability to filter the installed and blocked apps was also requested, and it we included it as well.

And I won’t bother you with the other performance improvements and minor bug fixing.

Sincerely, the AppAffinity team.

Codemon: The Backstory

It has been a while since I published Codemon on Google Play, and I have been updating it quite often. I originally talked about why I made Codemon in my personal blog, in Spanish. I got many requests to post it in English, so here it is.

The story starts a while ago: It was the 90s and there was a TV commercial (at least in Spain) about something called “Barcode Battler”. It was a portable console you could scan barcodes with, which turn into creatures you used to battle each other. Sounds familiar?

I loved the concept, but back then I was a student with little money to spare so I never got my hands on one of those. Instead, the concept of the game got stuck in my head, where it kept being an amazing game, and since I never played it, it didn’t have any flaws or limitations.

Fast forward to the arrival of smartphones. The first time I saw a barcode scanner that used the camera of a phone the concept came back to me. I thought that the game could be done for phones, so I searched it. What I found was Barcode Beasties, which is a similar concept but the gameplay was really limited and the UI was “not so good”. My inner geek was urging me to build a better barcode game, but I had a full time job… until I resigned.

Then it came The Pill Tree, a gaming studio I co-founded with a friend. The idea of building a game based on scanning barcodes was always there. In fact we had a prototype of a game called “DNAPets” (working name) which at the end was pushed out by SpaceCat. Once SpaceCat was done, there was no continuity on The Pill tree and the idea was “abandoned”.

Then I started Platty Soft, and this project was always there. Taking time from here and there I was able to build prototypes and test them. The idea evolved again to something more of a “Pokemon” style and therefore the name Codemon (Barcode Monsters) the monsters you find on barcodes.

The last obstacle was the lack of a designer since day 1. A pet/monster game has character design as a cornerstone, and any game needs a nice UI. Hire someone for a personal project, not knowing how (or if) it is going to work out and running it on your own money was a difficult decision. But then I realized that it was either that or abandon the project, and I had invested so much time and illusion to trash it now.

Finding a designer was not easy and I must say I was lucky with the ones that got worked with me, and very happy with the result as well.

All in all, there have been more than 3 years since I got struck by the idea, and around 20 since the seed was planted. The final result is a game where you scan barcodes to find Codemons which you can battle other players with and level them up (and collect them as well) if you haven’t tried it yet, I encourage you to do so.

Android Development Course in Amsterdam

After having done 3 successful Guru Session about Android with Appsterdam and given some formal training via the Appvertising Agency, I think it is time to go one step forward.

There is a complete lack of Android training courses in Amsterdam. I want to change that. I want to provide expert Android training for IT professionals.

Ok, so, let’s answer some questions about this first Android Development Course in Amsterdam.

How long?

5 days (Monday to Friday), 8 hours a day (most likely 9:00 to 17:00 or 10:00 to 18:00).

Less time will not give proper in-depth training. I expect the attendees to be able to build full REST applications with a persistent database and adaptative interfaces for both phones and tablets at the end of the week

Do you have a program?

Some topics that will be covered are:

  • Activities & Intents
  • Layouts & Resources
  • Lists & Adapters
  • Asynchronous / Background tasks
  • Network communication
  • JSON / XML parsing
  • Content Providers
  • Fragments
  • Action Bar
  • Adapting apps to tablets

How many slots?

I want a group of 10-12 people. Less will be too expensive for them and more will not allow me to dedicate proper time to each of them.

Where?

I am talking with several locations, but BouceSpace has a lot of possibilities to be the one.

When?

Not sure yet, but I’d like to do it before the end of 2012, proposed dates are December 10th to 14th.

How much?

This is still undecided, but I believe it will be around 800 euros per person. Food will be -almost definitely- included

How do I RSVP?

Just follow the link to the event page on EventBrite, or just contact me if you are interested but not completely sure yet.

Android Design Patterns and Tools: Recap and slides

Past Saturday we held a Guru Session about Android Design Patterns and tools at Appsterdam. The topic is very interesting and so more than 15 people showed up with their laptops ready to learn more about it and, of course, talk about the topics and get their hands into some code to try it out.

I started talking about how to use one layout for all devices and how to adapt it, giving Chalk Ball as example (thanks to Matt for the photo) and moved over other topics as Master-Detail architecture, ActionBar and how to save time when testing on devices.

You can check all the slides here:

This time there was less bootstrapping new projects and more playing with the concepts, but all in all it was fun to run it and based on the comments, attendees learned new ideas and enjoyed it as well.

Piracy on Apps, Bubbleconf and slides

Past Friday I went to Bubbleconf and I gave a lightning talk about Piracy on Apps. I already wrote about it in this blog entry.

Here’s a photo of the conference, you can see all the photos of Bubbleconf in flickr.

We used the Pecha Kucha style for the talks, 20 slides, 20 seconds each. It was the first time I tried such a method. While I was expecting to dislike it, it was not that bad, in fact I sort of liked it.

And of course, the slides of the talk, it just took 6m40s to deliver it

The conference was held in the Pathé Tuschinski theater in Amsterdam, an amazing venue. All in all, an interesting day.