Smart people like John Gruber of Daring Fireball seem to believe that Android development takes 3x as many developers as iOS. He believes it so strongly he mentions it again in another post about analysts who try to fit facts into a narrative.
Unlike John, we actually do Android development full time, and we have for many years. We’ve made big apps, we’ve made small apps. Sorry to disappoint you John, but a talented Android developer works at roughly the same speed as a talented iOS one. They make the same apps, of the same complexity, in the same amount of time. Sure there are differences in platforms and API. Some things are quicker to do on iOS, others on Android. Long story short, there’s not a lot of difference when it comes to development time.
Like the very analysts he mocks, Gruber is trying to fit a story to his pre-existing narrative. Does the BBC story offer a reason as to why the team is 3x bigger? Nope. Does it suggest any sort of causality? None. It’s a casually mentioned fact about an app which is currently being developed. It could be that the team is bigger because the app is playing catch up to the iOS one that came out first. It could be bigger because some of the iOS team is helping out. It could be bigger because the BBC is using developers who are less familiar with Android. It could be that the iOS team used to be the same size or bigger, but was ramped down after the first version of the app was completed. Which one is it? I have no idea, I don’t infer facts from stories that don’t explicitly state them. Justin Williams (an iOS developer by trade) speculates along the same lines. Your mileage may vary, but unlike most other people I speak from years of experience in actually developing on these platforms.
John is certainly not the only one doing this, people write articles like this almost every day on both sides of the fence. It’s just disappointing that these kind of myths are perpetuated in the echo chamber that the tech press occasionally becomes.
Update: Johns response is quite well done, and his research shows that indeed, the BBC iPlayer team is having a lot more issues on Android than iOS. He also links to a PBS Article where they’re having the same issues. Then states:
Maybe the problems the BBC faces are specific to the domain of streaming video.
Maybe? I’d say most likely since that’s all they talk about in the other articles John has now linked to. I realise however, that I should have provided examples of where Android development was faster, or the same as iOS. So here goes:
Skala View development on Android was easily 10x faster than the iOS version. The main reason? Networking is far easier on Android, as are most of the other tasks that Skala View needed to perform. The iOS version was also there for us to work from. To quote Marc Edwards of Bjango:
Backing up @shiftyjelly’s claim re Skala View. Android was way faster and has some additional abilities.
My Physio, a client app we developed was also done in a shorter amount of time than the iOS one. Again because the iOS version was already completed so a lot of the hard work had already been done. I’d say if they were done in parallel they would have been finished in parallel.
Pocket Casts on Android was easier to develop than the iOS counterpart, though the testing and support costs are higher. It’s no small project either, taking 6 months to complete the version 4 update.
Likewise our other apps like Pocket Weather take about the same amount of time to develop for Android as with iOS.
At this point I could scour the Internet for more examples like this one where the author explains how both platforms took him equal amount of times to develop for, and which aspects of each he prefers. That’s not my intention though, it was merely to point out that Android and iOS development in general, take about the same amount of time. In some cases is Android development harder? Of course. In some cases is it easier? Yes. I’m not here to champion Android and claim it’s not fragmented, because it is. I’m not here to tell you that it’s somehow superior to iOS, the truth is that it’s a lot more nuanced than that.
The long wait is finally over, today we bring you Pocket Casts 4 for Android, a free update to all our Google Play customers. We can’t tell you how happy it makes us to finally release this version to you all. It’s been at least 6 months in the making, thousands of hours worth of blood, sweat and occasionally even tears. So let’s talk a bit about what’s new.
Syncing and Backup
This has to be the biggest and best feature of version 4 by far. Basically you can (optionally of course) set up an account and store all your podcast subscriptions, playlists & playback progress in the cloud. What this enables you to do is seamlessly sync your progress with your other android devices, and as we update Pocket Casts on iOS and other places you’ll be able to sync to those as well. Even better is that this makes moving to a new device, flashing a new ROM or just starting fresh super easy. Just log back in and Pocket Casts will set you up exactly where you left off, including hooking up any downloaded files you might have on your phone/SD Card from before as well. During development I’d estimate between us we uninstalled/reinstalled the app about 100 times, and this feature worked flawlessly!
Powerful smart playlists
Another amazing feature of version 4 is being able to easily build lists of the kind of episodes you want to listen to or download. You can filter by an episodes playing status, whether it’s audio or video, whether it’s from a particular podcast, its download status and whether you’ve starred it or not. This lets you easily build a playlist of what you want to listen to which you can then sort how you like, and also choose to have the phone auto-download for you. It’s a game changer and I personally can’t go back to the old version because of this feature alone.
Built in variable speed playback
I can’t tell you how painful this was to build (hands up if you love native C++ code?), but the end resulting is amazing. No more expensive, crashy plugins to download to get variable speed playback in Pocket Casts. We’re the first podcasting app on Android to do this, and the difference it makes is huge. You can go all the way from 0.5x to 3.0x. My personal favourite is setting it to 0.5x, aka ‘Drunk Mode’ and listening to your favourite podcast host slur through all their words.
Stunning phone and tablet interface
We heard you loud and clear. Our previous iteration was a messy port of an iOS app built for Android 2.2. Times have changed, and so has our stunning new Holo style interface that works seamlessly on both phones and tablets.
Control your podcasts from the Notification Center, lock screen, headphones, bluetooth, etc. Basically your favourite app is only ever a tap or two away.
There are of course, many more features large and small, but for those you should really just go and grab the app, or find out more on our website! Happy podcasting to you all, from the team here at Shifty Jelly!
A few people were bemused by our decision to release Pocket Casts 4 first on Android. I suspect a few of them even think we may have lost our marbles. I thought I’d take a few minutes to outline exactly why we did what we did.
We’re a small team of only 2 developers and a designer. We realised late last year as we were working on a simultaneous release of Android and iOS that if we were going to have any hope of shipping either of them, we’d really have to choose one to do first. The take-away from this is simple: if we were bigger (say double our current size) we would have just done both.
Pocket Casts on Android has outsold the iOS version historically at about 5:1. That means for every 1 iOS version we’ve sold, 5 were sold on Android. The Android version also costs $1 more, so we’re making more per transaction as well. The reasons for this are a blog post on their own, but it’s a fact.
On Android there is no native podcasting solution, and we see a massive potential to fill that space. There are other apps out there, but we feel we have what it takes to become the dominant podcasting app on that platform.
Team rivalries should be left on a sports field. There’s no reason not to launch on Android first or iOS first in 2013. Both are massively viable platforms full of users who want to pay for great apps. Anyone who tells you otherwise is wrong. The choice of platform all comes down to where your users are, and which one makes more sense for the kind of app you’re launching. It’s no longer a clear-cut ‘always iOS first’ world.
Let’s be honest, 2 years ago Android really sucked. The OS was a mess, the store was a mess, the SDK was a mess and the hardware was a mess. Today all that has changed, and it’s an amazing platform. That said overall the app quality on iOS is still far higher than Android, as developers catch up with all these new changes. There’s a point coming soon when Android will be full of high-quality apps, but there’s a gap in the market right now for small developers like us who are passionate about design to create something a cut above the rest. In short it’s currently easier for a good app to stand out on Android than it is on iOS.
So there you go, a short and sweet explanation of why we did what we did. Once version 4.0 is out on Android (countdown available here), we’ll be working on the iOS one next. We won’t be starting from scratch since a few months of development has already gone into that version, but there’s still a lot to be done. If you’re fascinated by the Android vs iOS development process, there’s a great interview with me available here.
For the past six months we’ve been working on something really big and, judging by the constant emails and tweets we get, it’s no secret what that something is. Today we’d like to talk a little about the upcoming release of Pocket Casts 4, on Android.
So what’s new in Pocket Casts 4?
- Completely redesigned, completely awesome, modern Android user interface.
- Tablet support. We’ve targeted Nexus 7 and 10, and it looks great on others too.
- Cross-device syncing of your subscriptions, playlists and play states on every Android device you own. We *love* this feature.
- Remote backup. You can now drop your phone in a toilet and not lose your podcasts. Buying a new phone and setting it up has never been easier.
- Actual smart dynamic playlists. Want a list of every unplayed, downloaded podcast? Right here. How about a list of video episodes that you haven’t downloaded yet? Easy. Manual playlists are here as well for the super picky among you.
- A lot more. But we’re not telling the rest until we release it.
We’re going to be shipping it on Wednesday the 27th of February and it will be a free update if you own version 3 on Google Play.
Version 4 for iOS will be out later this year (Hey! We’re a team of just three people. Give us a break!), and yes you’ll be able to sync between iOS and Android, finally bringing peace to the OS wars!
We think its the most powerful and beautiful way to listen to podcasts on any platform. We know you’ll love it and we can’t wait to get it into your hands.
It’s been just over two weeks since our post about our Amazon App Store experience, so we thought we’d give you a quick update:
- We received A LOT of unexpected press coverage, everyone from Daring Fireball to podcasts like Tech News Today and Buzz Out Loud. Since our goal was to raise awareness of how the Free App Of The Day Promotion works, I think we’ve succeeded there. Anyone who thinks this was a calculated marketing ploy, clearly has very little idea about how clueless about marketing we are, and just how hard it is to get covered by some of these publications.
- The next most amazing thing was the volume of people that wrote into us with their support, and their stories about how they had since purchased our app, and just how much they loved it. To each and every one of those people, we thank you, we really do. Let it never be said that Android users don’t pay for apps or care about developers.
- There is still some confusion as to why we did what we did, and the answer is really simple: we were angry about the strict privacy Amazon enforces around these back door deals, and we wanted to expose them.
- There’s no denying that other developers in the same situation as us, would have been jumping for joy at the exposure that 100,000+ downloads brings. More power to you, it may well be in some situations it would be a great thing.
Thank you for your message. We need to verify that you are removing the same app(s) from any Similar Services (defined as any Android OS application store which distributes in the U.S. and its territories and possessions) at the same time barring other agreements that may prevent you from listing the app(s) in the Amazon Appstore. Please refer to the Distribution Agreement for Amazon Appstore:
3.a. Delivery Commitment for Apps. You will deliver electronically to us and continue to make available during the Term all versions of all software applications, games or other digital products (including any special or collector’s editions) (i) that are designed for the Platform, (ii) for which you have the rights required under this Agreement, and (iii) that are the same versions and editions (except as otherwise provided in this Agreement) that you or your affiliates make available directly or indirectly to any Similar Service….
Please respond to confirm that your request for app(s) withdrawal is compliant with our policies. Once we hear back from you, we will verify and then let you know how we will proceed.
That’s right, they responded asking us to remove our application from the Google Market, and then they would let us know how they would proceed. Needless to say that creeped us out a bit, but again it’s a case of read the developer agreement (every last page of it) before signing up. Easy to say in retrospect, but admit it, how many developers out there read every single one Apple/Google send out to them before clicking ‘I Agree’?
Finally we gave up and asked them to terminate our developer agreement, a full week later, we received this response:
Thank you for your email requesting termination of your Amazon Appstore Distribution Agreement. Your account is terminated.
Feel free to read that in the ‘Arnie’ voice, it really does make it sound better. So far we’ve yet to figure out what being ‘terminated’ means, since we can still log into their admin area, and they still have our app in the ‘suppressed’ state. If that means new people can’t buy it, but people that have it currently can update to the latest version, then we’re all for that. If on the other hand it means one day they can just start selling it again, well you’d hope not, but at this stage nothing would surprise us.
Finally they sent us a cheque for around $700 representing 3 months worth of app sales, addressed to ‘RUSSELL RUSSELL’. It’s no doubt safe to assume that was a clerical error (since no Russell Russell works here), but I’d like to think they issued us a cheque we couldn’t bank as a final act of defiance, to show who The Boss really is. Sorry Jeff, want to hug and make up?
If you really haven’t had enough, then I think you could do far worse than watch Rob Woodbridge’s interview with our own Russell Ivanovic. It goes through the full history of our company up to this point, and why we did what we did. It really puts a human side to this whole nonsense, which is so often missed in reporting: [Flash Version] [Direct Link]
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):
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…