About 3 months ago, we set off on a little experiment into the world of the Amazon App Store. Back then people were hailing it as the solution to the problems with the Google Market, industry pundits like Andy Ihnatko called it ‘An Excellent Work in Progress‘.
Amazon’s biggest feature by far, has been their Free App Of The Day promotion. Publicly their terms say that they pay developers 20% of the asking price of an app, even when they give it away free. To both consumers and naive developers alike, this seems like a big chance to make something rare in the Android world: real money. But here’s the dirty secret Amazon don’t want you to know, they don’t pay developers a single cent. Before being featured by Amazon, you get an email like this one:
As you may already know, the Free App of the Day offer placement is one of the most visible and valuable spaces on the Amazon Appstore. We would like to include your app “[name removed]” in our Free App of the Day calendar. We have seen tremendous results from this promotion spot and believe it will bring you a great deal of positive reviews and traffic. It is an opportunity to build your brand especially in association with a brand like Amazon’s. The current price of this placement is at 0% rev share for that one day you are placed.
The emphasis there was actually added by them in their email. So we asked them to confirm, what seemed a ridiculous proposition:
Thanks for emailing us. If I read this correctly you’d like to give away our application for free, and pay us nothing? That’s very generous of you, but we like being paid for our work. I appreciate that Amazon is trying to build up it’s store, and get more users, but the problem is at the moment you have the reputation of being ‘The place where I get my free apps’ and for a developer like us who doesn’t put advertising into our applications, that can only be a bad thing.
We’d be happy to reconsider if you decided to pay us the 20% that we agreed to in our original developer agreement, but this new one seems to favour only you, at the expense of us?
To which they responded:
Thanks for your response. The Free App of the Day promotion is the most valuable and visible spot in the store. It hosted the launch of the likes of Angry Birds Rio, Plants v. Zombies and more. Amazon will not receive any sales rev share from the Free App of the Day; and in fact, with as the Free of the Day for one day, you will receive a subsequent Appstore main page placement for the following 14 days.
All these highly valuable placements are at no cost to you. We want to promote your app and in exchange of the placements, at the 0% rev share for one day only.
All this seemed way too one sided to us, Amazon is being predatory here, and asking developers (who are often desperate for exposure) to give away their app, in order to promote Amazon. A heated debate broke out in our office about whether we should or not. I was firmly against, my business partner for. In the end we agreed that we had entered the world of Android development as an experiment, and it would seem silly not to add more data to the experiment we were conducting. The day of our promotion came:
That’s right, Amazon gave away 101,491 copies of our app! At this point, we had a few seconds of excitement as well, had we mis-read the email and really earned $54,800 in one day? We would have done if our public agreement was in place, but we can now confirm that thanks to Amazon’s secret back-door deals, we made $0 on that day. That’s right, over 100,000 apps given away, $0 made. Did the exposure count for much in the days afterwards? That’s also a big no, the day after saw a blip in sales, followed by things going back to exactly where we started, selling a few apps a day. In fact Amazon decided to rub salt in the wounds a little further by discounting our app to 99 cents for a few days after the free promotion. All we got was about 300 emails a day to answer over the space of a few weeks, that left us tired and burnt out. For all we know most of the people who wanted our application, now have it. To add insult to injury Pocket Casts relies on a server to parse podcast feeds (allowing instant updates on your phone), and all these new users forced us to buy more hardware just to meet demand. Hardware that we are going to have to support indefinitely at our own cost.
What makes us mad though is the public perception that Amazon pays developers to be featured. Every single person we asked on Twitter or via email thought they were helping developers out, and getting a free application. Amazon does nothing to dispel these rumours, in fact they put really restrictive clauses at the bottom of their emails, saying that no one is even allowed to discuss these back door deals they are doing. But that’s not our only beef with Amazon:
- Lengthy review times of anywhere up to 2 weeks (I’ve lost count of the amount of emails from people asking why our Google Market app is newer)
- Amazon gets to set the price of your app to whatever they want, without any input from you, or even the chance to reject their price
- Amazon re-writes your description, and in ours they even made up things like ‘add up to 100 podcasts’. No idea where on earth they got that number from
- Amazon don’t provide error reports like Google do making it hard to fix errors
- They don’t yet support Google’s new multiple APK initiative
- Amazon pays far later than Google does, and to date we haven’t received any cheques from them, even though we are listed as being ‘payed’
- US Only
- Much less real-time sales information than Google
- Update: (and this one surprised us) you can’t remove apps from their store! You have to ask them for permission via an email. Every other store lets you remove apps from sale.
We can see the counter argument here, that we agreed to Amazon’s terms, even if they were underhanded and secret, so we deserve everything we got. Perhaps. I guess it’s just lucky for us that this was an experiment, and that we don’t make our full time income from selling Android apps, but rather from developing for iOS. That said, we want to make a clear stand here, so that Amazon doesn’t take advantage of those less fortunate than us.
So today we’re making a stand. Effective immediately we are removing ourselves from the Amazon Store. We’re not the only ones doing this.
To anyone who paid for our app in the Amazon Store (yes all 200 or so of you!), we apologise for the inconvenience. If you choose to come and join us in the Google Market, and want a refund for that purchase, we will be more than happy to oblige. Contact us for more details. To those who got the app free from Amazon, we’re sorry to say there won’t be any more updates. We won’t cripple your app in any way, it will continue to work…but then if you like it that much, you could do worse than throw $2 our way 😉
- We’ve turned off comments because they were getting to hard to moderate, plus I think we’ve pretty much got all the point of views now. We enjoyed the feedback though, good and bad 🙂
- Yes we got what we signed up for, that’s not our beef. This article sums up our contention better than we perhaps did: http://techcrunch.com/2011/08/02/amazons-appstore-youll-make-0-when-we-give-your-app-away-and-youll-like-it/
- Our app status in Amazon now says ‘suppressed’ no idea what that means, but it does sound a bit comical/sinister 😉
- My personal favourites are the conspiracy theorists “BUT YOU DIDN’T SHOW SALES AFTERWARDS, YOU GUYS MUST HAVE MADE MILLIONS”. I was almost tempted to post “Dang nab it, you caught us red handed” as a joke, but no doubt that would just get out of hand. Here you go July sales (we were featured on the 27th of June, -10 points if you ask for June 28-30th, now you’re just being silly ;-P):
In our previous post we lost our minds and decided to make Pocket Weather World and Pocket Weather World HD free for a day (normally USD$1.99) . How did it go? Well we’re glad you asked…
In terms of raw download numbers: 32,978 new Pocket Weather World users, and 23,104 HD, for a total of 56,082 new users!
I freely admit, we didn’t expect that many before the sale! I guessed 26,000, Philip 8000 (yeah, who da man!). We didn’t bother to try and optimise our server because our Australian one already supports 400,000+ users, so we figured we could add thousands of people without breaking a sweat. Boy were we wrong:
It turns out there’s one key difference in Pocket Weather World, in that searches for new locations used to take 600ms. No big deal you say, that’s reasonably snappy! True, until 50,000 new people download your app and all go to search at once! Needless to say we went into a mad scramble, and 2 hours later we got that search query down to 6ms (props to Philip on that one). Still the fact remains, thousands of new customers had just been exposed to an app that didn’t work.
By the time the sale was over, the server was under control, and we even added more memory to it just for good measure, but the damage had been done. A lot of 1 star reviews, and a lot of people that now associate ‘Shifty Jelly’ with ‘stuff that doesn’t work’.
So with that in mind, let’s get to the juicy bits, after all at least half of those new people got a working app, not a broken one. So when the sale ended did they tell all their friends? Did sales skyrocket? Pocket Weather World averages about $20 a day in sales, it shot up to $427 on the first day, and we got all giddy with excitement, but it rapidly dropped off in the following two days. Our hope is that people who heard about the sale, missed out, and then bought it anyway, but it could also have been people that thought it was free, ignored the button, and just clicked buy. We haven’t received any complaint emails, but you just never know.
Pocket Weather World HD is similar, except it averages closer to $10 a day on the app store, and it’s post sale sales were much more measured.
So what did we learn from all this?
- If you make a paid app free, expect a lot of downloads!
- If you’re app has a server component to it, be sure to test the hell out of it first, and not just assume it will be ok.
- Free app sales will get you a lot of eyeballs, but who knows if they are the right ones, or if there’s any long term affect from doing it.
Today we’re proud to announce our latest app Pocket Casts, for Android:
Which begs the obvious question: Have we gone mad, two Android apps in the space of a month? Have we abandoned iOS for greener pastures? The simple answer to which would be: no, we’ve always been mad, but we’re still committed to iOS development.
The longer answer is that currently we have two programmers at Shifty Jelly: Philip and Russell. Out of those two only one coded all our iOS apps, Russell. Philip focussed on the server side of things, which pretty much all of our apps rely on, and which has always been a full time job on it’s own. Since resigning from our full time jobs in September of 2010 Philip has been optimising the heck out of our servers, to ensure that each day he has less and less maintenance that he has to do on them. This frees him up to do some front-end development, which is something he’s always wanted to do. Combine that with his 10 years of experience in Java, and Androids rise in the mobile world, and you have a pretty good match. If you’ll endulge us a second, let’s rephrase it as a computer hardware analogy: in essence we’re a dual core machine, capable of working on iOS apps on one core, and Android apps on the other, while taking advantage of our design co-processor across both.
In many ways the Android side of things is still an experiment, a way of putting a toe into the water to see what happens. So far we’re pleased with the results, but it’s early days. We’re going to be writing a series of blog posts over the next few weeks about the experience, should be quite interesting!
So what can you expect from the Shifties over the next few months? Here’s our current plan:
- New version of Pocket Weather AU for iPhone (hopefully released to Apple today)
- New versions of Pocket Casts for iOS and Android (hint: we’re building a platform here, not a podcasting app as such…there’s a LOT more in the pipeline for Pocket Casts)
- New version of Pocket Weather AU HD for iPad
- New versions of our world weather apps
- New versions of Pocket Weather AU for Android to slowly build up the feature list to match the iPhones
- What, that’s not enough for you? 😉
So let’s put aside the iPhone vs Android war, it’s pointless, both platforms have their merits and neither one is really superior to the other. It all depends on your preference, and having a choice is a good thing as far as we’re concerned. But more importantly, you can enjoy the benefits of Shifty Jelly on both…now isn’t that a load off your minds? Now go be good little boys and girls and buy up all our apps so we can eat for another week! No really…I’m hungry…
Up until recently we’ve had a todo list much longer than any human arms I’ve ever seen. Every week would see us complete one item only to add two more. Todo lists you see, often follow a very accelerated version of Moore’s Law. But we’ve got a secret weapon now: the time to do things (having gone out on our own almost a month ago) and the motivation to (in a very small way) set the world on fire.
So today we’d like to show off something that’s been on our todo list since we first released Pocket Weather AU HD for the iPad. Version 1.2 to be precise.
Yes indeedy, you can get your tides, state warnings, detailed forecasts, icons in landscape view and so much more in this new version.
At this point we’re providing an intermission for those who don’t care how this stuff is built. Don’t feel bad, the lights are on, we’ll clean up all the popcorn you’ve managed to spill everywhere. Last chance!
Now let’s talk about just why this release took so long. We promised that when we went into this full time we’d no longer accept compromise, and we meant it. This version was ‘ready to go to Apple’ 3 weeks ago. In the past it would have been myself, at 1am on my couch looking at things and going ‘close enough’ and pressing the submit to iTunes button. When you’re tired anything that’s working starts to look good. Since then we’ve rewritten the warnings feature twice, the tides three times and played with two different ways of showing you detailed forecasts.
After each re-write I’d hand the iPad over to Phil and ask him for feedback. Phil was brutal about everything he didn’t like, which initially made me very defensive, but I’d go and do it because I knew he was right. It was jarring, I wasn’t used to reworking features that worked, and were bug free, with the sole justification being ‘we can do better’. It was also hard to break out of the “we don’t have time for that” mould from our former lives as out of hours developers. After each iteration though we both knew we’d created a better product. Things you’ll never see like that the initial tides screen having left and right buttons (instead of swipe). Then there was the original detailed forecast design that had the day panels sliding left and right to show more or less content. Don’t even get us started the original warnings screen which had resizable panels of all things. In some cases we re-wrote it because we knew we’d taken shortcuts, other times (like with the slidey detailed forecast panels) we realised we’d gone too far the other way and made something a lot fancier and less intuitive than it could have been. In the end we finally had a version that Phil & I approved of, and one which was much better for the process we’d gone through.
There’s three obvious lessons from all of the above:
- Getting things right often means getting things wrong, but being willing to change them.
- When people look at a final product and estimate the effort required, they’ve left out the biggest component, all the rework and tweaking that led to that final version (common example from stack overflow).
- Pocket Weather AU HD is awesome…have you bought it yet?!
Just a quick blog post to let you know two quick items of news:
- Version 1.4 of Pocket Weather AU was submitted to Apple last week, so it should hopefully be approved any day now. Highlights include extended regional forecasts, a new high visibility skin and a configuration option for the wind direction. That last one should final end the religious debate between the into the wind and away from the wind people.
- We were interviewed on the Mactalk Interviews podcast, which you can find here (if you really want to hear how bad we sound in real life): http://forums.mactalk.com.au/40/64628-mactalk-interviews-interview-7-phil-russell-pocket-weather.html.
In our previous post we talked about Nathan, the sole designer in our trio of iPhone monkeys. We figured that we may as well complete the picture, and release part two of this three part trilogy, this time looking at Philip Simpson.
Philip and I both work at Groundhog Software during the day, a company that develops custom applications and web sites for many different clients (be sure to check them out, they’re one of the few companies I’ve ever come across that really value quality and innovation rather than just talking about them). They are also highly supportive of our iPhone efforts, and trust us to maintain a separation between our work and personal developments, a trust I think we’ve always done the right thing by. That’s where I first came across Philip, when he started there as a Software Developer about 2 years ago. It quickly became obvious that Philip was smart, and highly motivated and also that he did a lot of development in his spare time (at the time mainly for charity). In his day job Philip mainly works with Java and large J2EE applications for our clients.
It came as no surprise then that when Ruby on Rails started gaining traction Philip fell in love with it. It was the anti-java in a lot of ways, fast, flexible, highly extendable and very light weight. While Java servers generally need at least 512MB of RAM to run, Rails runs quite happily on a tenth of that. Meaning that you could set up a ten server Rails cluster in the same space you could put one Java server. Rails is also a lot cheaper to host than Java. It was a fairly logical step then that it was the language of choice for the back end of Pocket Weather, and even more logical that Philip should be the man to do it.
The back end of Pocket Weather is what I call the ‘invisible’ side. Most of you probably don’t even know it’s there or what it does. Coded exclusively by Philip the back end polls the various FTP and HTTP sites from the BOM at various intervals during the day, and parses out all the data that Pocket Weather needs. This is no small feat, and is why we refer to Philip as our ‘Ruby Magician’ because all I see of it is a nice clean API that the iPhone App talks to. When you open Pocket Weather it contacts our server, and asks it for the weather for all the locations you have set up. This data is all sent back in one tiny chunk. This is good from a speed and data point of view on your iPhone, and also very good for the BOM, because it’s only our server talking to it, not tens of thousands of individual iPhones.
The running joke in the early days of Pocket Weather development between myself and Philip was always ‘Yes, but can it scale?’. You see Rails has an (undeserved) reputation for not being able to scale when it comes to handling large amounts of traffic. We were able to test that first hand when, in the early days of Pocket Weather, 800 new people a day were downloading our application. There were some nervous times when Philip had to keep a daily eye on things as our shared hosting groaned under the strain. Philip was always on the case though, and has been tweaking the code and architecture since day one. This has meant that Pocket Weather has experienced no downtime due to our code, though we have had some minor outages thanks to the double-edged sword that is shared hosting.
Philip is also a great friend and a very handy developer to have in our trio. I find that working solo it’s hard to get motivated and produce quality work, but when you have someone else you can draw immense motivation from each other, and you end up with a much better end product. Just like all of us, Philip is in the development for the fun, not the money, so much so that I often have to force him to accept payments and end up arguing with him because I think he needs a higher share of the profits, while he’s always pushing for a smaller one. I can think of many employers who would kill to have that problem 🙂
So what is Philip currently working on at the moment? Well he’s bringing the extended forecasts we promised for version 1.4 (so you can stop emailing us residents of Cape Byron, Wollongong, etc), as well as moving all of our code to a private server, so that we will never have to suffer the indignity of the downtime and problems you get on a shared host. He’s also working on two other projects that are very close to being released, but that we are maintaining Apple(TM) levels of secrecy about.
Welcome to the home of our new blog. We got tired of using iWeb for trying to maintain our existing one, but more importantly we want to start hearing from you guys, yes all 2 of you! In the coming months we’ll be keeping you up to date with what’s going on at Shifty Jelly, as well as asking for your feedback on various things that we are doing or are planning on doing.
Can we make this work? In the immortal words of Bob The Builder “YES WE CAN”!