Enclosure for iOS

Between other jobs, I’ve been able to put some (mostly late-night) time into porting Enclosure to iOS.

My first thought was that, “hey, it’s both OpenGL – it can’t be that hard to convert Java to Objective-C”. As it turns out, it’s a bit of a nightmare, so I quickly gave up that idea, and instead turned my attention to another tool I’ve been wanting to use for a while: Unity.

Let me start by saying that Unity is nothing short of awesome. The only downside is that I have to write the code in MonoDevelop which is not much more than a glorified text editor – being used to IDE’s from jetBrains (I use both IDEA and AppCode), Mono is a bit of a pain in the neck.

Anyway, choosing Unity meant re-thinking the visual appearance of Enclosure – the main gameplay will be the same, but it will look like a different game entirely. Here’s a sneak peek:

Early development screenshot

Early development screenshot

I have most of the basic gameplay-features in place, and because it’s C#, I can grab big chunks of code from the Android game and more or less paste them into Unity. Much simpler than converting to Objective-C.

Right now I have a ton of other things to attend to, but hopefully I’ll find time to finish it in the coming months.

Tempo Tim Update

Last night I uploaded a new version of Tempo Tim with some new features that has been requested over the last couple of days since it was first launched:

  1. Ability to pause the timer without resetting it
  2. Parental lock to prevent kids from tampering with the settings
  3. Show remaining time while “parent lock” is on.

The remaining time is shown both as a time and as a “progress” bar in the form of a glass of lemonade 🙂

The new "lock" screen in Tempo Tim

The new “lock” screen in Tempo Tim

Android Development on a Mac

I just had to take 5 minutes to write about this…

Last year I did a small Android app for a client, it was just a prototype but it had to run on a specific device: A Sony Ericsson Xperia. It was supposed to be nothing more than a couple of days work, and everything looked fine until I tried debugging the app on the device.

The damn thing just wouldn’t connect – I downloaded and installed a host of drivers and countless megabytes of Sony fluff, but finally ended up stitching something together from various 3rd party sources. It took almost two days before I could get the debugger connected.

I should have known, I guess, since I had a similar nightmare on a laptop with my HTC Desire some half year earlier, but back then I figured it was just the laptop that was messed up.

Now, today, I had to do another small Android project and since my HTC Desire was so low on battery that it would not run from the USB connection on my MacBook, I hesitantly dusted off the Xperia and plugged it in.

I pressed “Debug” in IDEA and lo and behold, the app instantly fired up on the device.

How ironic is it that Android development is easier on a Mac? 🙂

(Update: The HTC finally charged up so I tested it as well – same story! No need for annoying HTC sync apps and funky driver setups – it just works).

hipKey No.1 in AppleStore


The hipKey made a quick dash to the #1 spot in “app-enabled” accessories in the US Apple on-line store the other day.

Well done 🙂

On the downside, it seems a few customers are having stability issues which are almost certainly due to incomplete BT pairing – if initial pairing is not completed properly, iOS ends up in some weird limbo state where it will only stay connected for a few seconds at a time. Un-pairing and pairing again usually fixes it.

Another reported issue has been lack of iPad mini support, but an update which fixes this is due as soon as Apple approves it, so hang in there :). We were caught a bit off guard by the mini: Since there was no non-retina BLE enabled iOS devices before it came along, we only ever tested the app on retina devices, assuming it would just work on the mini. It didn’t.

hipKey is here!

Screenshot-2One of my Clients, hippih, recently released their new product: “hipKey” on the Apple Store (yes, the hardware shop, not the app ditto – it’s a Bluetooth leash).

I wrote the iOS app which was part UI work and part building the Bluetooth 4.0 layer needed to support the hipKey hardware. Let’s just say that I’ve learned a thing or two about Bluetooth Smart in the process.

Here’s a screenshot from the app, you can read more about the device at hippih’s website (below); there’s also a nice video showing the device in action.


The MathRat is 1 year old today

It’s been one year, now, since the MathRat was released on the App Store.

I was going to write a follow up on the retrospective, but I really don’t have a clear conclusion. It’s been a strangely un-eventful year for the MathRat – sure, there’s been a few dips and a few spikes, but nothing that really had a lasting effect; It just keeps selling in the same low numbers every day, on and on.

Every now and then it starts dropping until it gets dangerously close to zero and then for no apparent reason, it starts climbing again.

So, to answer the ever-relevant question of “was it worth it?”, I would have to say yes. Not just for the fun of it, but it does actually (eventually) make enough of a profit to be something I can justify spending time on.

Which is really all I’m asking 🙂

Day 1

Yesterday was my first work-day as an independent consultant. When I went to bed at 05:00 after working some 15 odd hours I was not tired; It seems something strange happens when your time is your own.

I think Pearl Jam nailed the bliss of independence perfectly:

I know I was born, I know I will die, the in-between is mine…


On January the 16th 2012, after a month of long nights, non-family weekends and an x-mas vacation spend largely behind the screen of my older borrowed (white) iMac (thanks MiP) , I finally got the mail from Apple I had been waiting for: The MathRat had been approved for sale.

It was also more or less exactly a month after I had finally given up on Android market after wasting 6 months developing two different games for a market that obviously didn’t care, so as we approach the quarter mark for the launch of my first iOS entry, I thought it might make sense to look back at the time that passed and share what I have learned.


The first major revelation, coming from Android, was that the Math Rat was selling – yes actually selling as in paid-for downloads – from day 1, with only a single day of zero downloads in the entire period so far.

Has it paid for itself? Absolutely not, and there’s a good deal of road to cover before it does, but as long as it does not suddenly drop dead, there is no reason to think it will not get there, eventually. Sales numbers fluctuate wildly from day to day, but over the whole three month period there’s a very clear (slightly rising) median line that is very comforting.

Free is worth just that

The second thing that struck me – and I’m about to embark on a rant here, so feel free to skip to the real retrospective below – was how the app was able to sell without offering a free trial version – a scenario completely unheard of on Android, especially for a small independent developer.

We’ve all heard the marketing wise-talk, of course:

  1. You need downloads
  2. The best way to get downloads is to give it away

The problem, then, is that as soon as everyone has “free” – what do you do? You add more content so your “free” is more attractive that everyone else’s “free”. After a while you are no longer giving away samples, you are giving away your blood, sweat and tears. You are giving away your dream.

And, what’s worse, you’ve taught your customers that your apps are worthless.

Worthless = worth nothing = free … Think about it!

Free is an infectious decease – like a virus spreading from app to app threatening to leave the entire app landscape desolate and ruined. It happened to Android (unless you think Ads are a heaven-send), luckily for the App Store it has not quite happened there yet, but it is not immune.

A bit melodramatic, maybe, but the problem with free is real and I for one am not going to be part of it.

There, I said it, now let’s move on.

Push, Push & Push

The third thing I’d like to mention is less of a surprise, but still worth bringing up as I frequently hear the argument that poor earnings of a single app is not a problem as it will work out just fine as soon as you have enough apps.

While there is some truth to it, there are two reasons why I think it is bad advice:

  1. Using volume to make up for mediocrity is pathetic. The goal should be to write good apps that are worth paying for and thus will be worthwhile developing and support for the long haul. But maybe that’s just me…
  2. The second, and real, reason is that having an app on the App Store is not (generally) the effortless infinite source of income that some make it out to be. It’s hard work, and you can’t rest.

Every little thing you do to promote your app shows up in sales, but unfortunately the opposite is also true – If you let go, sales drop immediately. So if you try to compensate with volume, you will fail for the simple reason that you won’t have enough time in your life to reach critical mass.


Ok, enough if my mindless babbling, here is what worked for the Math Rat and what didn’t:

What Worked

  1. Updates: I have made many updates to the math rat, and based on that I firmly believe that getting it right matters. Listen to your customers; their ideas and suggestions are worth a hell of a lot more than what you pay for them. That one last little update you do could be the difference between instant death and a rising sales curve, and often these updates are not even 5% of the total development time. It might be more fun to work on the next app, but it’s not a better use of your time.
  2. Get Reviews: Reviews sells, but getting reviewed is hard. Even just one-liners in the App Store are really, really, hard to get. A common mistake when first looking for reviews is to go for the top-3 general app-review sites to reach more customers with less effort. Don’t. Instead, find good local – even niche – sites that will provide honest feedback quickly, no payment (=high integrity), personal contact (=chance to get a bad review updated, see below). It’s more work, but you’ll actually achieve something. Look below for some of the ones that we can recommend.
  3. Act on Reviews: Getting reviewed is one thing, but getting good reviews is what will boost sales. Getting good reviews depends on creating good content, but it also depends on (1) above. Read it again, then continue. If you get a bad review then act on it: Take it as free advice and fix what’s broken. Then get another review.
  4. Promotion Codes: Use them, but make them count, and make them scarce… Wait – did he not just call “free apps” a decease? Indeed, but there’s a gigantic difference between making an app “free”, and giving away a copy of an app that is not free. The first devaluates the product, the second attracts attention because customers understand that they get something that has value (is not free) as a gift. What we’ve found is that on average each promo code given creates an immediate direct sale (I.e. when we gave out 10 promo codes we’d get 10 real sales more than on a comparable day without codes). But, and even though I cannot prove it, I believe it also serves the much more important task of keeping your app visible.
  5. Price Adjustments: This is the only “trick” we’ve used that I’d really rather be without, because it makes me feel disloyal to my existing customers, but fact is: It works. Randomly reducing the price of the app on special occasions for short periods of time causes large boosts in sale. Especially on the last day of the sale, as people scurry in to get it before it goes up again, so no point in making a sale last for 14 days. I have a gut feeling (and that’s all it is) that the actual price matters little – it’s the “sale” part that is important – the fact that something “more valuable” for a limited period can be had for less.

What Didn’t Work

  1. Early Release: Yes, I’ll admit it. The first version of the Math Rat was rushed. I’d been working nights and weekends and really needed to see it on-line, so I cut corners. As a consequence the first update was massive, and I probably left a number of customers with a less than optimal experience. In my case I think it was a choice between rushed release and no release, but still, the advice is to take your time to get it as right as you can.
  2. iPad/iPhone: The Math Rat was developed for the iPad because that was what I had. I felt at the time that it would not play well on an iPhone so didn’t bother making it compatible. I later found that not to be the case, but making a version that supported both seemed like a hassle so I created a separate iPhone version. Dumbest decision ever: It’s a maintenance and administrative nightmare, and extremely confusing to users because the iPhone version will in fact run on the iPad also. Next time, it’s one app, all platforms.
  3. Localization: I’m quite proud of the wide range of spoken languages supported by the Math Rat, and a great deal of effort went into collecting, producing and implementing all the audio (thanks to a bunch of helpful friends – you know who you are 🙂 ). BUT, I’m not going to do that again. Do not translate to a language until you are ready to pursue the local market in that language. It will not sell automatically by just being in the right locale. In the case of the Math Rat, we’re selling in Sweden and Denmark, and that’s about it. The remaining languages are pretty much just extra weight. Hopefully we’ll get there eventually, but I could have spend my time better at that point.


Pappas Appar

“Pappas Appar” is a Swedish site which reviews apps for kids. It is run by father of two, Daniel, who is very serious about what he does. His reviews are honest and he provides some extremely helpful feedback. He is also very fast to respond which is nice when you feel you have addressed some of his concerns and would like that 3/5 rating re-reviewed 🙂

Pappas Appar has become something of a central hub for kids apps in Sweden and his ability to keep his integrity by staying financially independent of the various players in the market means that a good review by Pappas Appar is very valuable.


Mors Apps

“Mors Apps” is a Danish equivalent to “Pappas Appar” with a similar background and similar set of values. Judging from our sales in Sweden vs. Denmark I would estimate that  it does not have quite the same penetration yet, but other factors may be involved.


Dk Apps

“DK Apps” is an iOS app which lists apps in Danish or with Danish content. It has a massive penetration in the Danish market – a single day on the front page boosted our sale by 10 times.



Redeem Now is a web site run by Daniel of Pappas Appar. The site provides a simple and very convenient way to track and distribute promocodes. The two primary benefits (vs. just giving out the codes) are that you can see immediately if a code has been used, and you can get a count of how many people have tried to use a code, giving you an idea of how much exposure a promo code is getting.