Saturday 6 September 2014

Sensor Tower

Becoming an App publisher is no "Field of Dreams."

And by that I mean, "If you build it, they will come" is not a valid moto! I think it's fair to say the making of my first app, Float, was for sure the easy part. Getting it seen is by far a harder task, and something I'm ill prepared for.

I have my app on the devices of a handful of like minded indie developers and family and friends (thank you to all of you!) and some of them are very complimentary. But getting even those people to share or rate or even +1 the app in the play store is hard. As a result, my app lingers way down the rankings, even if you search by its precise name!

So, having stumbled upon Sensor Tower, I've been inspired to focus on the keywords in my app store description.

Sensor tower has allowed me to much more easily establish my ranking for certain search terms (previously I'd have searched and scrolled through 250 apps to determine that I'm not ranking).

It also allows me to track how my ranking has changed over time (See image below, which I'll come back to shortly).

Another really helpful feature is the ability to choose specific competitor apps to track and review their own strategies.

So, I decided I needed to make some changes to my app store description today having viewed my app floundering at 70 in the rankings for searches of "float". I changed the name from "Float" to "Float Tile Puzzle" and added new text to describe the game in more detail, using the terms "Tile" and "Puzzle" a few extra times, as well as "Mahjong" and "Sudoku" once or twice.

The result was not ideal! With the new name, my app instantly plummeted in ranking for search term "float" and did not appear on the rankings for either "tile" or "tile puzzle"

I can only hope the changes will be helpful in the long term. And at least I now have Sensor Tower to help me measure my ranking.

It's not perfect though. The free account is quite limiting (though they do give away a Pro plan to students and indie developers for posting a review of their platform ;))

It also could do with an android app. I couldn't find one (I assume that's not because they haven't optimised their own rankings!) and the web page performs very poorly on a mobile platform.

I hope I can post the image below again soon with a significant bounce back in search performance!


Saturday 30 August 2014

Android Icon Maker (free script for GIMP)

I discovered the joy of script-fu for GIMP today.

One thing I've found time consuming and irritating about android app developing is creating graphics for the various screen densities that are out there. Every graphic has to be created for the highest density, then scaled. Using GIMP for my originals, this previously meant I would have to scale the image, export the image, scale the image, export the image etc. until all drawable folders were populated with the icon. And if I then make a small change to the graphics, I have to repeat the process.

Then of course, there is still the task of putting the right file in the right folder with the right name.

So I discovered there is a script for GIMP  (specifically "script-fu-save-icons-png") available from the GIMP Plugin Repository (written by Jan Pavelka) that allows icons at multiple sizes to be created from the current GIMP image in one step.

That was great, but it didn't support all of the sizes I needed, and the images all had different file names (because the pixel size became part of the name). Plus, they still needed moving into sub-folders, so no major help.

I then decided to modify the script to suit my needs. I came up with the UI below, which I think would be helpful for other developers. The script gives an option of (currently) three different graphic sizes in dp units (suitable for launch icons, action bar icons, and notifications) and it allows a range of pixel densities to be specified.

When executed, it calculates the pixel size for each pixel density, and outputs the icon graphics (all with the same name) in the correct drawable subfolders for an android project.

Now with one press I can generate all of my icons from a single source file.

I've used this with much success on Float.

I will ultimately upload this to the GIMP Plugin Repository, but in the mean time it can be sourced from here: script-fu-android-icon-maker.scm


Just two problems with Google products

There's so much about Google and it's products that I really love. But this post is about two things that frustrate me. Now, maybe I've missed something and there are solutions to these problems. If that's the case, please comment to help me out! 

  • Firstly, when publishing android apps there is a really powerful and really cool developers console that provides a lot of statistics and helps to see how quickly different releases were taken up, and (equally interesting) how quickly older versions died out. But there is a problem with the graphics - it only lists app versions that still exist in the wild. So you see from my screen shot below, the graphic shows big holes at times when app versions that are no longer being used were adopted by my users. I want to see those now extinct releases in my graphs! 

  • Secondly, and completely unrelated to app development, is Google Play Music. I discovered recently that if you buy a track fro man album, and later want to buy the album, they still charge you full price!

Thursday 14 August 2014

Leaderboard nearly ready

I spent a long time this evening trying to work out why the next exciting development in Float wasn't working.
That next exciting development just happens to be an amazon GameCircle leaderboard. You'll see from the screen shot, I eventually had success.
The problem was that the GameCircle SDK was not initialising, and other than messages to "follow the developer instructions" there was little to go on. But gradually, I tracked down the cause. I promise I'll explain it simply:
I was getting an error that the api key was missing, even though I'd created my amazon security profile and generated my api key using the MD5 fingerprint from my android keystore... (i take back my promise by the way). The key was in the assets folder and all instructions had been followed.
However, I used the MD5 fingerprint from the keystore I use to sign my releases... But I was testing in an unsigned debug build. As I learned tonight these are not unsigned, but signed with a debug keystore. So when I set up a new api key, based on my debug builds, everything worked like magic, and my efforts the night before were suddenly worthwhile!
Still some work to do, but you can expect a new release in testing (google+ community "float beta testers") soon.

Wednesday 13 August 2014

I think my Dad is addicted to Float

Parents take an interest in their children and help them in their endeavours, right? Well it seems my dad is playing this role by helping to massively boost the user stats for my debut app, Float.

If you look at the screenshots, Australians are a minority "active users" group and yet account for about two thirds of the total game time elapsed since being released.

Most times when I check the stats, an Australian (hereafter referred to as Dad) is either currently playing or had played in the previous few hours.

Should I feel bad? Does Float need a health warning? The only thing that worries me more than the time Dad spends on Float is the amount of time I spend looking at my stats. Now THERE is addictive behaviour.

So I'll just say, thanks Dad, and keep at it. I'm sure you'll get a tile 9 eventually.

Friday 8 August 2014

Responding to Critics

Following recent feedback, I've released a version 1.5.2 of Float for beta testing (if you are in the Float beta testing community). I expect this will be promoted to production release quite quickly. In the process of making this small change to the code I once again relied heavily on the terrific resource that is stackoverflow.com. I find myself using this platform for learning more than any other. I find it even more helpful than the main Android documentation over at developer.android.com

But I have one frustration... As I have not yet asked or answered a question on the site, I haven't been able to build any Reputation Points. This means I am ineligible for up-voting things. It's very strange to me that I've no way to show my gratitude to the invaluable help I get from the Site.

I Guess I'll just have to find a question to ask.

Tuesday 5 August 2014

Dealing with Criticism

In shamelessly trying to promote Float, I've been joining and posting to Google+ communities looking to:

  1. put the link to my app out in the big wide world
  2. possibly gain some useful tips for improvement
  3. I'll be honest, a healthy does of backslapping and "well done old boy. Great app!" is naively hoped for.

From most posts, I got a good deal of 1, also a little bit of 2, and a tiny but of 3. Actually, there was no 3, except from my parents...

But from one community, I got a more critical response. Now I'm a big boy, I can brush that aside, but I'm curious about why this happened suddenly and in one specific community. Oddly, I was more responsible in this community than in some others. By that I mean I posted in a conversation topic that was specifically meant for feedback requests, and I requested feedback on a specific element of the app (the palette choice and use). In other communities I was simply one of many "Hey, check out my app!" posts.

I had one very unfair and critical comment right off the bat, to which I responded with "OK, so what don't you like about it?" To that reply, a different poster responded with "do you really not see the problem with the user experience?"

What am I meant to do with that? And why was I being ganged up on? I checked out the profiles of the people commenting and one of them at least seemed to be a professional android developer. I felt like perhaps I'd found myself in the rough pub at the wrong end of town. Maybe I should avoid this community and stay where novice hobbyist programmers are more welcomed.

But before tucking tail and backing out of the saloon doors I faced up to my attackers, commenting that their responses were of no help.

To this I got mixed responses. One then responded with an apology and some helpful criticism that I've taken on board graciously. The other (the professional) responded sarcastically, accusing me of not understanding users because I don't play other games (there may be some truth in that... who has time to play games around here?)

So, I deleted his final comment that I deemed to be sarcastic. Would you have done the same thing? The censorship feels wrong, but I'm a small time developer in a big timer's game... one or two negative comments can make things really hard. I don't have time for a war of words I'd only lose anyway.

I'm a little surprised (but grateful) that I have the freedom to delete comments on my public posts in someone else's Google+ Community.

Was I wrong to delete the comment?

The original post (minus the offending comment) is here.

Sunday 3 August 2014

Introduction

So here I am, with an android app finally released in the Google Play store. I'm calling it my debut, although it's not exactly my first app store publication. See for example Mr Maths and UXB Depth Calculator.

So why am I calling Float my debut app? it's because these other two published apps were both made using App Inventor, and I've since learned more about programming and taken on the challenge of writing apps "properly". The advantage is not just satisfaction, but significantly more control on what can be achieved.

App Inventor is great if all you need to do is present some static forms and maybe do a few calculations on some user input, but more complex graphical interactions and complex data handling benefits from the freedom of a fully fledged programming environment.

So now I'm writing in Java using Eclipse. I'm so grateful that Eclipse exists in the first place. I'm not expecting to break into the big time in terms of app development (that wont stop me from hoping though!) so having an affordable (i.e. free!) route into the game was essential. And its been great fun to learn.

Float is also not the first app I've created, but it is the first I've taken as far as publication. There are two currently in draft form on my phone, Float was my third effort, and a fourth is currently just a concept in my head currently. I hope to mention them on this blog in coming posts.

I'll be using this blog to chronicle my efforts to make further improvements to Float. I have some exciting upgrades planned, some of which will be easier than others. I'll finish each post with a description of how I feel it is all going.... Floating, sinking or swimming!

Right now, with Float released, and daily gaining new users.. .I'm Swimming!

Android app on Google Play