I’ve been an active app developer for about 18 months, and although I’m not earning a living at it, it is now a significant part of my income. Despite a number of setbacks this year which limited the time I had available, I was able to make major improvements to Solar Explorer and Exoplanet Explorer and launch them on a number of new market places including Blackberry, Nook and Samsung.
I also had plans to write a series of simple games using a framework that I created with Shiva3D, but also due to the limited time, I was only able to release one game that used it: Transmutation. I’m currently working on a second game which I hope will be released in the first week of 2013.
Google Play
Google generates the lion’s share of my app income through a combination of paid app sales and ad revenue. In December last year my apps were ranked in the top 25 in the Education category – at the time there weren’t many high quality apps. Things have changed somewhat, causing my apps to drop to position 50 or lower. Despite no longer ranking on the first page, app sales are actually up, which implies that Google’s market has gained a population of users who have more than just moths in their pockets.
At least it’s now possible for developers to make some money without having a permanent place on the first page of category results. 2,200 apps were sold up till the 31st of December 2011. I passed the significant milestone of 10,000 apps sold on Google Play on the 19th of December 2012. The total now stands at 10,300, of which 8,100 were sold this year. I didn’t expect to earn enough to buy a cup of coffee when I started experimenting in late June 2011, especially since it considered impossible to make money on Android.
Solar Explorer, Solar Explorer Lite, Exoplanet Explorer, Exoplanet Explorer Lite
Blackberry AppWorld
The Blackberry Palybook launch in February/March also turned out to be an unexpectedly big winner for me, thanks to RIM’s eager user base and in-house developer support, which included providing me with a free Playbook and regularly featuring my apps on AppWorld.
Publicity provided by RIM and further enhanced by enthusiastic posts on Crackberry resulted in sales of about 2,000 apps in the first month. Writing about my positive experience lead to further publicity on a popular Android blog, which in turn caused a sales spike of another 1,000 apps on Android Market. My tally for App World currently stands at 7,150 apps sold which is truly amazing, as it’s not far behind Google Play which has a huge user base in comparison.
I’m looking forward to the BB10 launch and I’ve got my fingers crossed that Blackberry will become the third stable smartphone ecosystem.
Solar Explorer, Exoplanet Explorer
Admob
Advertising revenue for my free apps had been pretty flat all year – averaging about $150 per month this year, about $5 per day. Things started to change in November with a noticeable increase in daily income. December has been outstanding with all-time revenue records being broken every couple of days, peaking on the 25th at $44. Compared to Christmas last year, I only earned $7.30 for a 15,000 impressions, versus 20,000 this year. I can come up with a few possible explanations for this:
- I updated to the latest Admob in November which fixed a scaling problem on tablets that had caused ads to be small and phone sized
- A lot more content was added to the free version of Solar Explorer which also saw the vast majority of the ad revenue increase
- Google introduced their “click twice” ads, which possibly resulted in advertisers feeling more confident about mobile ads, and thus willing to bid higher
- Decent Android tablet prices have crashed in the past few months, and I wouldn’t be surprised if they were a popular Christmas gift
I am expecting ad revenue to decline into the new year as the holidays draw to a close – this is normal. It will be interesting to see where it settles down because at the moment, daily ad earnings for my Lite apps are not far behind daily paid app sales on Google Play.
B&N Nook
B&N has had their own Android market place for a while now, but it wasn’t until earlier this year that they permitted non-US residents to sell apps for the Nook. Due to certain US tax requirements, I ended up having to register an Australian company to be able to sign up for their marketplace. Its been my experience that those who join a a new market early get high visibility, while those who arrive late are lost in the noise. I was very late for this party, so despite reports of fantastic app sales on Nook, and my apps being ideal for an eBook tablet device, sales have been pretty weak.
Since launching in early November, I’ve sold a total of 93 apps, so that’s a couple per day on average, which isn’t too bad compared to other 3rd party market places. The most annoying thing about B&N is that they pay non-US residents by US cheque only, which costs $10 to cash and takes 28 days to process. My first cheque from B&N was for US$47, which converted to about AU$43, less $10 processing, left me with a 20%+ haircut.
Solar Explorer, Exoplanet Explorer
Samsung Apps
I decided to release my app on Samsung’s market place because they have such a dominant position in handset sales. I figured that if they can duplicate the success of their Galaxy products, then their market place could be a winner. At the moment, it’s not a winner, but it’s still one of the better 3rd party market places. With only Solar Explorer available, I’m seeing one sale every few days. Exoplanet Explorer isn’t as popular as Solar Explorer, so I doubt I’d get more than a few sales a month if it was available there.
SlideMe
When I signed up on SlideMe Market late last year, I did so with the impression that it was the only potentially viable alternative to Google’s. At the time it was populated with things that looked like test apps, or refugees from Android Market, such as unauthorised console emulators that got banned. However, the team were supportive and they featured my apps for the first few months. This lead to a slow, but consistent rate of sales which has tailed off to a couple per month, totalling about 100 over the last year. I suspect that SlideMe’s biggest problems are that it has poor app discoverability and that it’s too easy for a potential app buyer to see something they like on SlideMe, then pop over to Google Play to buy it. I’ve noticed that releasing an update on SlideMe often causes a detectable boost in Google Play sales. This was the case even after I modified my apps to include a “buy me” button for both SlideMe and Android Market which showed that almost nobody clicked SlideMe, but they hammered on the Google Play button.
Solar Explorer, Solar Explorer Lite, Exoplanet Explorer, Exoplanet Explorer Lite
AppsLib
I launched my apps on AppsLib in December last year. This market is targeted at tablets that don’t have access to Google Play, and its curated by the tablet manufacturers – many of them will actually test the apps on their own devices to confirm that they work. I really didn’t expect much from these guys, but I’ve actually seen a similar number of sales to SlideMe, about 100 app over the past year.
The AppsLib website has a landing page has a section that summarises the most popular apps. Early on, Solar Explorer made it on to this list, which resulted in about 60 sales over a few months until it finally dropped off. Since then I’ve been getting a few sales a month. The main problem also appears to be a lack of discoverability – it seems to be very difficult to find an app that’s not on the landing page, unless you know it’s there. It’s hard to tell though – I can’t run the AppsLib market app because I only have Google authorised devices, and the app blocks devices that it doesn’t recognise.
In summary
Google Play and Blackberry are about equal in terms of revenue, in part because publicity generated by launching on RIM’s Playbook lead to increased app sales on Google Play. If you’re an Android developer then I recommended you give AppWorld a go. Depending on the type of app you’ve written, RIM provides some tools that can convert Android apps to work on Playbook. If you write your apps with something like Shiva3D, which makes porting trivial, then you’d be crazy not to give it a go.
In second place is advertising revenue. Android users generally don’t mind ads, and if you design your app well, you can present ads without making it annoying. Once RIM finalise the advertising API for BB10, I plan to release my free Android apps on Blackberry as well. Right now, it can only be done using the Cascades API which is not compatible with my tool of choice, Shiva3D. RIM have said that they are working on an OpenGL compatible advertising solution which will be available “soon”.
Barnes & Noble’s Nook takes third place. Sales are off to a slow start, but it has only been six weeks, and I wouldn’t be surprised if things improve over time as my app gets a few positive ratings and comments.
The runners up are Samsung, SlideMe and AppsLib. I get the impression that Samsung’s store will continue to generate a few sales a week. My apps on SlideMe get lots of downloads, but SlideMe have thus far been unable to monetise it, instead their store is apparently acting as a discovery tool for Google Play. Meanwhile, AppsLib will continue to generate a few sales here and there from it’s captive audience of users who don’t have access to Google Play.







What day is it with Unity?
Time has been slipping away what with setting up the new Mac and going through my old Linux Mint hard drive to bring everything across. Everything, that wasn’t trashed when the old Linux PC slid off the desk onto the floor while I was trying to make space for the iMac… at least I’d backed up most of the stuff on the old PC before I started moving stuff around.
One of the things that caught me out about Unity is the use of reserved file and folder names. A few days ago, I created a new script file, after which I tried to compile the project. This resulted in a load of errors appearing from nowhere, with messages like “The name ‘Editor’ does not denote a valid type (‘not found’)”. Because this was immediately following the migration from the MacBook to the iMac, I spent some time checking the code to make sure everything had come across properly.
Eventually, I figured out that it was actually the name of the new script that was the problem: “ShapeEditor”. “Editor” is a reserved word which Unity uses to identify editor extensions, and any class that has the word in it’s name has to reside under a folder called “Editor”. Renaming the script file fixed all the compilation errors, but it’s an easy mistake to make, and the error messages it produces aren’t exactly obvious.
There’s other similar reserved words, such as the folder name “Resources” which Unity will look in whenever you call a function such as Resources.Load to instantiate an object at runtime.
Yet more plugins
Progress has been slow on my game because I’m continually backtracking and re-doing bits as I learn more about Unity. I’m not trying to make perfect code, what I am trying to do is to find the most efficient way of writing code for Unity so that the next project will be faster and easier to write.
For instance, I decided that I wanted to add a grid to the level editor so that I could get an accurate view of the where all the objects are placed on the 2D game area. Unity’s line drawing functionality doesn’t seem to be particularly useful – In fact, it’s much like Shiva, the only line drawing calls are used for debugging, and don’t show up in final code.
The logical solution is to create lines using vectors as part of an object. I started off by constructing a grid from an array of lines in Inkscape, then imported it as an SVG spline to bypass having to figure out how to create an object from scratch with Unity. By messing around with the scale I was able to get the grid to match the size of the blocks on the 2D game area, and then I implemented drag and drop, with the ability to paint new objects into the scene from a palette of pre-defined splines imported from Inkscape. This turned out to be a lot of work because of the calculations involved in lining everything up and have it all at the same scale.
The result was several hundred lines of code spread across a number of files.
Once I had it working, I realised that I needed to alter the size of the grid slightly to account for the relatively narrow screen aspect ratio of some iOS devices. My fiendish plans unravelled due to the difficulty of adjusting the lines on the grid, and then applying the same changes to all the objects in the scene. While Googling for solutions, I came across yet another Unity plugin called “Grid Framework”. It wasn’t free, but for $20, I was able to implement a much better solution that allows me to control the size of everything in the game world from one line of code. The plugin also halved the amount of code that was needed to run the editor… if only I’d thought of looking for a grid plugin before I’d started…
Speaking of purchases, I have just bought a license for creating iOS apps with Unity, in addition to the Android one I already have.
The only outstanding compiler now is the Blackberry one, which I hope will become available soon, and I also hope is compatibile with all the plugins I’ve purchased… I still haven’t heard if Blackberry still has plans to upgrade the old Playbook to BB10 – it would be silly for them not to do it because they need all the goodwill they can get when facing off against Android and iOS.