Battleheart Developer Drops Android As 'Unsustainable'
mr100percent writes with this excerpt from Electronista: "Battleheart's creator Mika Mobile in an update explained that it was dropping Android support. Google's platform was losing money for the company, since it spent about 20 percent of its time supporting the platform but only ever made five percent or less of the company's revenue. Much of the effort was spent on issues specific to Android, where the diversity was only creating problems rather than helping.
'I would have preferred spending that time on more content for you, but instead I was thanklessly modifying shaders and texture formats to work on different GPUs, or pushing out patches to support new devices without crashing, or walking someone through how to fix an installation that wouldn't go through,' one half of the husband and wife duo said. 'We spent thousands on various test hardware. These are the unsung necessities of offering our apps on Android.'"
But I can't help wondering if there is something wrong with the code that it struggled with different GPUs or crashes on new devices without special patches. Most code seems pretty robust to such things.
Just spent the week at the Game Developers Conference in SF and this seemed to be a bit of a recurring theme from having conversations with a couple mobile developers. The cost of supporting Android is too high in many cases and not worth the effort.
Once of the sessions I sat in on (can't remember who it was now, embarrassingly - I think it was PopCap talking about Bejeweled - not a bit player) pointed out that Android has many many variants on many different handsets. Even though the market size is roughly the same as iOS (his numbers were around ~250m each), iOS has way fewer variants to deal with, whereas Android had many. So you get to spend a lot of time messing around trying to make sure it's working on all platforms.
I've noticed from flicking through app reviews in the Market, it's not uncommon to see people with complaints about it not working on their particular handset. I haven't had this problem with anything I've tried so it's hard to tell how big a deal it is, but I don't use many apps.
The general feeling I got from speaking to a few indie developers was that they wouldn't bother doing an Android version unless their title turned out to be a big hit on iPhone.
The developer feels he's spending more to develop for Android than he's getting back - so he decides to stop developing for Android.
I suppose that's interesting at some level, given past stories about Android developers not making money; but, in the end, it's just the free market operating rather than some amazing news item.
#DeleteChrome
So they've done the right thing. They're not interested in sympathy; they found that a particular product on a particular platform was unprofitable, so they dropped it.
Quidnam Latine loqui modo coepi?
Which is why they're making good money on the Apple market, right?
Justice is the sheep getting arrested while an impartial judge declares the vote void.
Development isn't a test of machismo or stoicism. The Android version wasn't making any profit for them. Time is money, and when you're having to do more more work than the sales you are making, it's a business decision to stop doing it.
iPhone is less work for much bigger sales.
If only your lack of knowledge meant the problem didn't exist.
How about "sales are significantly lower"? They say they're making about 5% of their income from Android with the remaining 95% presumably from iOS (I doubt that Windows Phone is a factor). That would mean iOS gets 19 sales for every 1 sale Android gets. If this applies to more than this developer then it's a real reason to make iOS software instead of Android software.
Justice is the sheep getting arrested while an impartial judge declares the vote void.
And I thought Apple fanboys were bad. Android seems to be garnering its own set of rabid followers who disregard reality in favor of their favorite.
I think you will find his complaint was that he was spending all his time making up for androids fragmentation and thus not producing content.
He uses Unity which is a great tool for doing much of the underlying work so the developer can focus more on the game. But if android is dragging him back to messing around with boring details (platform specific and multiple variation for that platform) then the cost/fun/productivity balance gets all wonky.
App development for any mobile platform is a lottery. Most developers make very little from it. A few make tons of cash. Even on Android.
Android has what, four versions in the wild? iOS has 3, 4 and 5 taking up something like 15, 20, and 65% roughly. Not a great deal of difference there.
You've conveniently ignored the hardware diversity.
This sounds like a complaint from a guy who is basically saying "Development is hard, and I don't want to work to make things good". Just as well he's calling it quits, shape up or ship out I say.
Yeah, fuck him for having limited resources and wanting to make a living out of a small business.
it's Google Play now. Get with it.
It's not that iphone is less work. They started with a focus on IOS. It's more work to port a highly focused piece of software and they just couldn't handle multiple platforms being a 2 person team. What they ended up porting to Android was such a bug ridden POS that it didn't sell at all. That doesn't mean App's dont sell on the Android. Developers just have to make decent software for it. It's just as easy to make software for Android as it is IOS, given that you plan your project to include both. They obviously relied heavily on IOS frameworks. There is nobody to blame but themselves.
The problem is shitty port's don't sell.
Version diversity isn't the only kind. Implementation and hardware diversity matters too - for instance, I've run into a crash bug when attempting to start a new Activity from within a TabHost that only occurs on Galaxy S devices. That sort of thing is really incredibly frustrating, and makes QA far more of a pain in the ass than it should be.
You bet. Those folks are already used to spending two or three times as much on stuff that isnt even that great. Anyone could make money selling stuff to Apple consumers.
The problem was having to support different hardware platforms, not different OS versions:
I was thanklessly modifying shaders and texture formats to work on different GPUs, or pushing out patches to support new devices without crashing, or walking someone through how to fix an installation that wouldn't go through,' one half of the husband and wife duo said. 'We spent thousands on various test hardware.
Apparently, a whole range of devs can't release a quality product on Android while they do just fine products on iOS. Coincidentally, it's all the devs that needs 3D Rendering.
Go figure. It cannot be that Apple's platform is much more leveled. Nah. Can't be.
Write boring code, not shiny code!
If they are spending more money than they are getting then what do you want them to do?
The stats provided are damn near useless.
Let's hypothesize and say I develop some app. Let's count the app-specific dev time/costs as a separate baseline cost (cause that's how comparison of cost to maintain a port should start).
Now, out of my remaining monies, I spend 20% supporting "Android", and the rest (80%) supporting iOS.
Would it surprise anyone if the platform receiving SIGNIFICANTLY less of my attention ran into more problems, bugs, bad reviews, fewer purchases, etc?
I have no idea if that's what they meant by "20% of its time", but the other side of the coin is not even mentioned. It would be FAR more significant if they stated that they spent 5% of their time supporting iOS specific issues, 20% supporting Android specific issues, and 75% of their time improving core app and server functionality, and were still seeing 95% of their revenue come from iOS and 5% from Android.... but we just don't know.
The only fact I can see is that their software had numerous issues on Android. Maybe if they fixed those they'd actually be able to turn a profit - people don't like to pay for shoddy work.
It's EXTREMELY easy and common for businesses to spend more than they're making (ex. see restaurant turn-over). Plenty of people ARE making money though... so either you're spending too much, or you're not spending enough (assuming you're otherwise competent).
This company had other viable options, such as:
* go the hulu route - pick a small handful of officially supported devices, and add in device model restrictions. Only support those you can support well.
* spend more time/money, and make sure you've got everything supported so people don't hate on your product.
* combine those, and add devices as the beta/demo results show them working well.
IE. this isn't as much an Android story as it is a business story (and a really poor one at that - no real details at all).
And for the fanboy's ready to flame this... note I didn't say Android costs less to develop for or support. I'm only saying this "article" is for shit and doesn't provide enough to make any conclusions.
And so far it's been a very profitable investment.
I am writing applications that require extensive hardware-specific testing (file manager, network-based stuff, system tools). I certainly have plenty of complaints about Android with regard to cross-device compatibility, and I've even found plenty of egregious omissions in the API (e.g., how do you find all user-writable storage without going down to /proc/mounts). That said, I find it to be an overall excellent platform. And it seems to pay the bills.
My only real complaint with the investment in devices is that I would love for cell carriers and/or Motorola/HTC/Samsung/etc to respond to my requests to have even slightly early access (or guaranteed release day access) to new devices. I'm sick and tired of visiting random cell phone stores who won't reserve product and lie about availability. And I'm tired of explaining that yes I want to pay full retail and no I do not want a contract no matter how much of a better deal it is.
It seems to be the other way around to me.
iOS is like IE6: one particular implementation with a huge market behind it. It has its own particular set of bugs, but they're well-known and apply consistently everywhere, so the devs are used to working around them.
Android is like standard HTML 4: A definition of how things should be defined, and many implementations following that specification. Each implementation comes with its own set of bugs, so when your program expects a certain undefined behavior, it fails on other implementations than what you tested.
As with web development, there are two solutions. You can stick with the "one implementation to rule them all" model, and ignore the rest of the world hoping it will go away, or you can write your program from the ground up to be compliant with the One True Spec, and you can port over to other implementations more easily.
You do not have a moral or legal right to do absolutely anything you want.
OpenGL has become a joke under Khronos. More and more of the work needed to render scenes is pushed back onto the application developer. Once upon a time you could specify the material, texture, and light parameters and IT WOULD JUST FIGURE IT OUT! The responsibility for making it run fast was up to the OpenGL implementer, not the application writer. Now you cannot draw a single triangle without a month's worth of effort to implement matrix math, texture uploading, and material lighting from first principles. And then do it all over again on the next device because the stupid chipset vendor decided that they couldn't be bothered making simple color interpolation work fast (I'm looking at you ImgTech).
The problem is not handset fragmentation. The problem is that the OpenGL API provides no guarantees about what will actually work and work well. It's all thrown back onto the application and the chipset vendors can then brush off bugs in their design with "our examples work great - obviously you don't know how to write shaders".
It's time the application (not chipset) developer community smacked Khronos upside the head and made them specify a USEFUL rendering API that guarantees good performance for application-level tasks, and decertify chipset vendors who are too lazy to do their damn jobs.
You're obviously not very good at math. If you're spending $X on development but still making $2X in returns, you end up losing $X by discontinuing development. That doesn't change just because you spent $4X on development on another platform and then made $20X. Losing $X is losing $X.
On top of that, have you considered that spending 20% of the time on a platform that has 50% of the users may be a bad idea? How about spending equal time on it, so that your app doesn't suck on that platform and your sales don't keep dropping?
But the proliferation of so many different devices is not only causing problems for this particular software developer. The so called cross platform web-application is getting harder to test as well.
Windows (Various versions), Linux (Various versions), OSX (Various versions), Android (Various versions)
each running
MSIE (Various versions), Firefox (Various versions), Chrome (Various versions), Opera, Safari and many other browsers
And somehow developers are to write an application that runs on all these combinations. It is a bloody nightmare. I long to the days there was only windows with the Win32 API to write for. Good debuggers, great IDE's and mature software dev tools. At the moment it is one steaming pile of disjointed crap.
Which is why they're making good money on the Apple market, right?
They don't come right out and say that, in fact it seems unlikely given their great concern over investing "a few thousand" in test hardware. Which seems like a dubious claim anyway, because it probably costs them little more than an email to get sample equipment from any given manufacturer. In fact, the whole story smacks of spintroll to me. After all, who except Apple cares about what a boutique game shop does not attempt?
Have you got your LWN subscription yet?
Android has what, four versions in the wild?
No, they have dozens. You can't just look at the OS version, you have to look at the hardware, and the manufacturer modifications. As an example, the Kyocera Milano has a weird hardware bug where sometimes the clock goes backwards. Really tough bug to find. A lot of the Tegra devices have unusual graphics problems where only one process can open the framebuffer at a time. There is a lot of variation in the video hardware, actually.
Now, if you stay in the Dalvik VM, you don't have to worry about most of that. You only have to worry about different screen sizes and API versions (and you never know what weird thing will pop up.....for example, on the Xoom, gradient-buttons default to white text, whereas on most other phones they default to black text. Then if you have a mostly white gradient, you might be left wondering what happened to your text). But if you are writing graphics applications, you leave the VM, and then you have to deal with hardware issues.
Note, Apple has exactly the same issues. There are some things that are inexplicably different between the Verizon and AT&T versions of the same phone model, same OS. But Apple only has a few devices, whereas Android has dozens. Which is what makes Android more difficult to support.
"First they came for the slanderers and i said nothing."
You're all being ridiculous.
The Android OS isn't really the major issue that these guys are facing. The biggest issue is how many different variations of hardware there are for Android devices and the fact that when you expect to be able to write it for one platform and then have it work perfectly well on other platforms (hardware specifically, though software does come into play with the modifications to the Android OS that all of the major manufacturers like to do like crazy), your plan is going to fail. You can see some of these same issues on PCs at times (I see it a little bit more in open source programs that haven't reached stable yet and have issues across different hardware it's being attempted to run on, to be specific).
Which is why they're making good money on the Apple market, right?
Of course, other developers have had the opposite experience. For example, Angry Birds makes more money from Android than iOS:
http://news.softpedia.com/news/Angry-Birds-Makes-More-Money-from-the-Free-Android-Version-than-from-Paid-Ones-170596.shtml
While their business model may work fine on Apple market, sometimes it takes changes to make money in a different environment.
It's not Android that's unsustainable, it's their business model on Android that appears to be unsustainable.
No, it's an unfortunate choice. As a hobbyist dev, I find Android difficult to follow. Since I started adding tablet support to my app (which included, among other things moving from SDK 4 to 10), my app's stability has considerably worsened, with various problems in Android's core that often make no sense. The SDK change introduced problems with about 10 different types of hardware that required painstaking, slow fixes, which are difficult for anyone but a company with a dedicated test team. Some of the changes in ICS completely hosed parts of code (including services), and required considerable rewrites. Apple's not without its quirks - changes in Xcode are ridiculously capricious, and not always for the best (e.g. storyboards). That said, supporting only 3 -4 types of hardware, instead of thousands, is considerably more predictable. Android's in a unique situation - it's attempting to be everything to everyone, which ultimately puts the strain on the devs. For people like me (who aren't even mobile devs by profession), this is extremely taxing. However, for companies that have staff dedicated to exactly this type of thing, this should be a non-issue.
I was about to ask if you were thinking of the TabHost bug where clearAllTabs() will randomly provoke a crash. But a quick DuckDuckGo search turned up a bunch of other mysterious bugs with the Android tab bits. My favorite was issue #12359 where the fix is a couple of lines, and it would be an easy fix were Google to not mark their classes as final (thus preventing you from subclassing them). Unfortunately the proper fix is to roll your own copies. The official Google response was to ignore the problem and tell everyone to stop using ActivityGroups (which are useful in tabs) and start using Fragments (introduced in Android 3.0).
Google applies their hands off approach to updates and support to both hardware (as evidenced by all the fairly new phones that don't ever get updates) and software. I'm pretty sure Google never fixed the broken widgets in Android 2.3, leaving developers to completely reinvent even rudimentary pieces of the Android framework.
QA in Android is a freaking mess, I'm not surprised that the Battleheart team gave up on it.
The revolution will be mocked
Really? REALLY?!?
You've got to be kidding me, right?
Considering it took pretty much EVERYONE reading Apple the riot act over the scripting language thing... I'd say that this was an example that negates your take on Apple. They're NOT surprisingly easy to work with.
Considering that Microsoft had TIGHT restrictions until recently on Indie titles... I'd say this was an example that negates your take on Microsoft. They're NOT surprisingly easy to work with.
If you're outside their parameters or standards, they're going to flip you the bird like you accused Google of doing- unless you're big or you've got damned near everyone bitching at them. Much like Google's situation.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
Yes IOS can be a nightmare. When an IOS update came out all of a sudden my code stopped working. I had checked the changes to IOS and nothing should have caused a problem. I was doing everything the "safe" documented apple way and it still blew up. I got a fix uploaded and then Apple had the app store shutdown for the holidays!!!! My update was uploaded to the store days before the shutdown but did they clear the backlog? Not a freaking chance they shut it down and we had to wait for weeks with upset customers.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Maybe they are just shit programmers.
Or maybe it's a horribly fragmented platform.
Lots of other developers seem to be able to write complex games for Android without these kinds of issues.
That's not at all what it seems like. See the comment elsewhere about the Game Developer's Conference.
He's always had something negative to say about Android, but when the problem is addressed he does nothing to make use of the fixes. There are plenty of other developers who do just fine on Android and manage to not only support their apps but release new versions of them as well. Maybe they're just more talented?
All of you who are saying this developer and their code just sucks, you've never written any significant mobile apps, have you ?
I work with IOS, Android, Blackberry, WinPhone7. IOS and Win7 are a walk in the park, compared to the other two. IOS, specifically, has stellar compatibility across all devices. I only encounted a single issue with one of my apps, when upgrading to IOS 5, and it had to do with some marginal code I was using, whose undocumented functionality had finally been obsoleted. The fix took all of 15 minutes to research and implement. Most importantly, I only need to design for two sizes: phone, and tablet. If I'm lazy, I can skip the tablet, and let it scale things proportionally. This isn't optimal, but for some apps it's sufficient.
On Android and BB, there are as many display sizes and feature sets as there are devices. Your app might look fine on your emulator and personal device, but be completely out of whack on another, so you end up having to collect numerous devices and installing a dozen emulators to cover any significant portion of the user base. Let's not forget that these emulators are horribly slow and unstable, so if I have to test and debug a build in 10+ different environments, there goes my afternoon. That's for one build! It's quite simple: for Android or BB, I typically take the IOS budget and double it. If I were writing 3D games, I would probably quadruple it because now there are countless GPUs to target and no good middleware available to abstract away those differences. Android and BB development is at least 10 years behind, in terms of comfort and convenience. It often reminds me of writing DOS software.
Windows Phone 7 is actually not too bad. For anyone experienced with Visual Studio, it's a very familiar workflow and has much commonality with IOS development. It's extremely fast to work with, and you can get a good sense of how your app will scale, just by resizing the workspace as you're designing it. I don't care much for the platform itself, but I don't mind developing for it - I find the toolset quite pleasant.
-Billco, Fnarg.com
I know OpenGL isn't made of magic, but isn't the idea of OpenGL that it's supposed to work over multiple platforms?
The point (and it was a good one) is that for iPhone he only has to do his shaders once. Bam, done. For Android, not only is he doing them again, but multiple times for different devices. His development cost to bring his app to iPhone is one set of shaders for a great return. What do you think his return is after he spends the time to fix his shaders for an obscure device that a few dozen people will likely purchase his game on? He either fixes it and takes a loss. Or he doesn't fix it, let the people deal with a buggy implementation, and then have people like you come along accusing his app of being buggy. It's a lose/lose, which is exactly why he said he's leaving Android.
Not only that, but a mature platform doesn't have issues like shader disparities. If you're a game developer, that's a huge problem you should not have to deal with across the same platform. Desktop games got over that years ago with standardized shaders for each platform. I'd forgive Android if Android had it's own shader platform, but shader differences per device? Not cool.
Which is why they're making good money on the Apple market, right?
Are they? How much money are they making on the Apple market? How much of their time is spent supporting the Apple platform? How are other developers able to make money selling Android games if the platform is "unsustainable"? TFS says:
it spent about 20 percent of its time supporting the platform but only ever made five percent or less of the company's revenue
Why didn't they just reduce the amount of time they spent supporting the platform? What other platforms do they sell on? Why are Android users 5% of revenue? Why are they having these random issues that other developers don't seem to be having? Why do they claim to be "modifying shaders and texture formats to work on different GPUs" instead of using the standard APIs? Why are they walking users through failed installs instead of fixing the bugs in their installer? Why did they architect their game so that a 50MB download wasn't enough? Why do they insist that they can't modify their software to support more than that, even when Google is offering 4GB of free hosting? How come they claim that Android takes up 20% of their time, when in their own words "Battleheart was an effortless port (to Android)". Why does he diss Android when in an earlier blog post he said, "Being featured on the Android Market is similarly lucrative to being featured on iTunes: we saw almost a 300% sales increase this past weekend thanks to the feature on the store.... We're currently #16 on the top paid list for android. Assuming the charts are based strictly on volume, the same volume of sales roughly equates to the top 80-100 on iTunes's iPhone chart. Not bad..... Daily revenue from Battleheart on Android is fairly close, within 80%, of it's iOS counterpart at the moment. "..
How did this even make it to Slashdot? This blog (yes, blog) has 17 posts - ever! A blog with 17 posts in two years! Wow. And yet this is supposed to be some important, significant information source, which we can base our future decisions on. Yeah.
One last quote from the blog... "Edit: Just to be clear (since I'm getting more traffic than expected), my experience with Android has been overwhelmingly positive, and I have every intention of continuing to support the platform. " Hmmm.
Battleheart's Google Play page indicates that it's been downloaded 50,000 - 100,000 times. It has an average rating of 4.7/5 stars, based on 5,374 user ratings, and the overwhelming majority of those reviews are 5-star reviews.
And if you sort reviews by latest, you can see that at least a couple dozen of those 1-star ratings were given today, in an apparent fit of "sour grapes" where users are giving the app a 1-star review with comments like, "The developer will no longer update this app. They stated that Android development is too hard for them and will no longer update their apps. Since when is objective C easier to write than java? Disgusting and Lazy!"
Yep, sounds like a poorly written, buggy piece of shit to me. I'm sure the developer is just lazy, incompetent, and shilling for Apple. It couldn't be that Android has legitimate shortcomings that Android device manufacturers could learn from to improve their platform.
developers need 100's of different pieces of hardware to sort out android issues. or one new apple model a year.
Every android vendor is releasing 6-12 new models a YEAR. each one with different OS, hardware, and generic software configurations.
Those vendors charge each developer for every phone they buy. Why? because 99% of the developers don't have the reputation to earn free hardware.
i thought once I was found, but it was only a dream.
The link doesn't say anything about them making more money with Android.
It says on Android they go with Ad based model, because the pay model doesn't work as well on Android.
There is no comparison with iOS.
The exact same argument is often made for "real" programs being windows-only.
If that's the kind of world you support, then of course you're right.
You can also see that Google is doing what it can to fix this, and so there's a good chance this will get fixed, even if maybe not tomorrow. You want perfect google support, it's clear which devices to buy. This year's model is the galaxy nexus. It's a great phone.
Funny isn't it. When iOS development is in question, $99 to join the developer programme is too much money. But when it's Android, spending $thousands on test hardware is neither here nor there. It's even waved away with fantasies of free test hardware for developers.
Android cheerleaders just don't live in the real world.
Sounds like pretty clear case of a fragmentation issue.
From TFA:
'I would have preferred spending that time on more content for you, but instead I was thanklessly modifying shaders and texture formats to work on different GPUs, or pushing out patches to support new devices without crashing, or walking someone through how to fix an installation that wouldn't go through,' one half of the husband and wife duo said. 'We spent thousands on various test hardware.
It isn't a case of poorly skilled devs either; this is backed up by other Game developers like Epic and id that are avoiding the platform as well:
Carmack(id):
http://techcrunch.com/2011/04/15/john-carmack-ios-still-better-than-android-for-mobile-game-development/
"Android is far too fragmented to develop for, both from a hardware and software point of view. "
Sweeny(Epic):
http://actionatadistance.net/post/4386288135/sweeney-android-fragmentation
Says Sweeney, "When a consumer gets the phone and they wanna play a game that uses our technology, it's got to be a consistent experience, and we can't guarantee that [on Android]. That's what held us off of Android."
Fragmentation is a real issue. Less so when you developing a web type, text app with some 2d bitmaps, but when you are developing more complex games and you are trying squeeze performance from the platform, fragmentation has a significant negative effect.
So life is hard for developers, but in exchange the world gets a diversity of platforms and competition.
I don't. Nothing worse than a monopoly dictating the course of technology and allowing innovation to proceed only when they see fit.
As usual, the summary distorts TFA, but TFA clearly states that the developer's main complaint is a 50Mb limit to the download cache for Market apps. They then state that they don't want to commit resources to making game data a separate download.
Think about that for a scond.
This is not a challenging task, even for a moderately skilled coder - it's a solved problem. Now I have no doubt there's good reasons why this one developer can't support Android, despite 250,000 apps making it there, but the reason given in TFA is not the real reason.
In reality, what's happened is that Google, recognising the need for larger apps and data, has increased the size of downloads from the Market as Expansion files. They did this so they could track when large in-game downloads were completing, because unscrupulous dvelopers were using large/slow downloads to make sure the user had no opportunity to finish the download before the refund period expired. Now the Market tracks that the user has completely finished downloading large applications, then starts the refund period. Most newer devices should download expansion files automatically, but older ones download them when you first run the application.
I'm not suggesting that a developer with a poor quality port from a different platform might want to deny users the opportunity for a refund. Though, if they are really having trouble implimenting something as simple as in-game downloads, I might question the quality of their other work...
"I've got more toys than Teruhisa Kitahara."
I am the author of projectM, a much more complex graphical application that the game in question here. Android fragmentation is an issue for me, but ONLY because of live wallpapers. The "standalone" version of my app is amazingly consistent across the different Android GPUs. I suspect their developers are not very experienced with OpenGL and shaders. The entire point of OpenGL is to abstract the GPU away from the developer. It works. projectM is profitable. What I take from this article is that an iOS port could bring me to Apple levels of profitability!
Hmm... Apple supports their products with updates and rewards their end users for staying current with better software and better apps.... I suppose that the downside to that is that you are SOL if you don't want to upgrade.
On the other hand with Android products you are just plain SOL because you don't get the choice to upgrade at all for the most part.
Here is exactly where your theory went 'splat': You're operating under the assumption that the iOS version of Angry Birds is only available as a paid app (hint: your assumption is bad - the numbers presented bear me out on that). There is zero mention of the revenue made in ad revenue from the iOS ad-supported version (if you assume that the purported $1m/mo. is all from Android ad-supported apps - any other alternative doesn't help you either).
The author's theory is that ad-supported makes more money than paid versions, but makes zero distinctions as to whether the Android version of the ad-supported app makes more money than the iOS version of the ad-supported app.
QED: You screwed up in choosing your cite, because it doesn't support your conclusion at all.
Quo usque tandem abutere, Nimbus, patientia nostra?
In my experience new developers are very bad at adapting to new ways of doing things and very good at blaming the system for their own problems. They'll do something that is not the right way to do it on this system, hasn't been for a long time, is documented on how to do it, and then blame the system.
Two of my favourite examples of developer laziness:
1) Lack of 64-bit apps for Windows. While I realize most apps don't need to be 64-bit, and 64-bit Windows provides flawless 32-bit support, you should still have 64-bit version available. They do run a tiny bit faster and it is just the right way of doing things. Let's start getting rid of the legacy stuff. What's more, it isn't hard to do, at least according to the developers I hang out with. You set the compile target for 64-bit and go. Maybe a couple things to correct but all in all the compiler takes care of the details. However most don't. The reason is they were doing shit in the code they never should have, like casting pointers in to 4 byte integers and so on. They write bad code, and it makes 32/64-bit porting a problem.
2) Drivers. Back when Windows 2000 came out, it introduced a whole new audio driver model, a much better one, called WDM. It supported the old NT drivers for legacy, but WDM was the way to go. Well the pro sound card I had wasn't getting WDM driers. They claimed WDM couldn't work for pro software because of a built in delay. That sounded wrong so I checked the docs and sure enough, there was a mode (KS) that bypassed it. Finally the driver came out and supported only 2 of the 8 channels. They claimed it was a limitation of WDM. Again checking the docs revealed that wasn't true. Eventually they got a fully working WDM driver but it took a long time, over a year, and much blaming the new format.
So I could see it often being the case for Android too. Developers know one way of doing things, it asks you to do things a different way. Developers ignore that and do it their way, and it leads to problems.
While I'm not saying Android is 100% blameless here, you need to make sure you are doing things the way the platform wants, regardless of if that is the way you like to do things.
Finally there's just the fact that people need to accept that maybe mobile phones aren't as profitable as they want them to be. Yes I know, Angry Birds made eleventy kajillion dollars. You aren't angry birds, you aren't going to make so much. Some people have the right combination of luck, timing, and talent to make a shitload. Many others will not make a ton. That's life.
Got a lot of flack from people for the quality of the article and arguments over the nuances of the words of the article that are completely throwing the discussion off-track.
Here is a much more recent, much more professional article on the subject of Angry Birds revenue:
http://www.wired.co.uk/magazine/archive/2011/04/features/how-rovio-made-angry-birds-a-winner?page=all
Let's discuss this one instead:
Rovio has had 20 million paid downloads for the iPhone and iPod Touch, and 20 million ad-supported downloads on Android. Ville Heijari, Rovio's spokesperson (the "bird whisperer") says both generate similar revenues.
One of the top-selling apps ever on the iPhone generates similar revenues on Android. Here, the wording is vaguer so maybe the iPhone is making slightly more, maybe Android is making slightly more, but with regards to my conclusions these tiny ticky-tack details doesn't matter.
I maintain my original conclusion, which is that while Battleheart's developer could not make their business model work on Android, some people are making tons of money by switching to different business models in a changed environment. In light of this, I state again, it's not Android that's unsustainable, it's their business model on Android that appears to be unsustainable.
That said, supporting only 3 -4 types of hardware, instead of thousands, is considerably more predictable.
Sorry, unless you are doing something really hardware specific, like certain OpenGL ext, you don't care about hardware. I can state out of 2 years of experience in android development. And if you're a game dev, then it's the usual "make your OpenGL code run better on a particular GPU" carried over from the desktop.
Android isn't the easiest, not is it bug free. Otherwise, I find your comment out of sync with what me and 3 Android developer communities I participate in have encountered.
This year's model is the galaxy nexus. It's a great phone.
And what, pray tell, would be this year's model for Tablet? Or the iPod analogue, which I typically use as a very small tablet?
Serious question here. I have no need for a cellphone, and no desire to tie myself to some overly corrupt corporation's data plan. I was considering a Kindle Fire as my not-quite-Android tablet of choice, but hey, if there's a more sane model, I'm listening.
As a developer, I can verify this. Some of them will send us phones, some won't. The cost of the phone isn't the big thing, the time involved in testing on each and every one is. Not to mention dealing with the enraged fanboids that raise hell about bugs in the app they pirated to begin with.
Android just isn't worth the effort. Your work is rewarded by getting ripped off and abused.
[quote]You don't know that. And your wild exaggerations do not help you make your point, if indeed you have one.[/quote]
No, I can confirm that. I worked for a fairly major provider of white-label VOIP software, and we where mostly hired by telcos to produce VOIP apps branded to the telco.
In hundreds of those contracts I can not remember a single instance where the manufacturers of the handsets provided us with free handsets. Sometimes the *client* would provide one or two,
But considering that early Android versions had a very difficult hardware API (We could not use the old bridge-back-to-java trick because it introduced terrible latency) for audio that introduced subtle variations per model.
In the end all we could do was guarantee our work for a certain select range of handsets.
And the support calls would always be for some mysterious handset model we'd never heard of produced by some obscure chinese manufacturer that no, they would not give us a free handset.
If we couldn't get the freebies, and remember with android we are talking *hundreds* of variations here, sure as hell the obscure basement game devs wouldn't be.
And we'd still get paid more for the iphone apps anyway. And the only substantial differences we ever saw was that the older ones where a bit slow for certain codecs.
Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
The really disappointing thing is that it sold GREAT when the app was new, but while the dev continued updating the iOS app with all kinds of new levels and features, he chose to abandon the Android app and bitch and moan about the ecosystem rather than keeping the Android version on par with its iOS cousin.
Then he has the balls to wonder aloud why sales have dropped after that initial burst? Maybe if he'd updated the goddamn app anytime in the past eight months, it would have done a little better.
I can tell you don't work in the mobile sector. From my own company, we do heavy mobile development and we litterally have cabinets FULL of mobile phones. Not just one of each, we generally have the same phone with multiple versions on it as well. It's the nature of the beast. We've found issues that for device specific reasons need to be worked around. We catch a lot of the issues in our automated testing, but we do a sanity test on all major devices and revisions. Any that come up later on, we need a real world testing environment. I have no idea how you think Google can fix this, unless you thing Google is going to come around and start telling mobile handset developers to use X cpu, Y gpu, with no additional mods), with Z version. Good luck with that.
I thought it was only a troll if it wasnt true and the lie only perpetuated to inflame.
iPad, around $500-600. Any other tablet that I like just fine that does everything the ipad does are easily found for under $200.
21" imac, $1200, equivalent i5 desktop machine with far more ram and storage goes routinely for under $500 with the monitor.
15" i7 macbook, $1800, equivalent i7 laptop with more ram and storage can be had for under $600. Ha ha ha...they want $200 to bump it from 4 to 8GB of ram. What is that, like $30 on sale from newegg?
As far as whether they buy the software on the ipad/ipod/iphone? I dont have any broad numbers but everyone I know that has one has dozens and dozens of apps on it.
In any case, is this all really any sort of news? When you button up a platform and offer limited options and configurations and everything comes from the same company, its going to be easier to develop for and manage. So why doesnt apple software, apps, accessories and other stuff cost less than windows? After all, its a lot simpler to develop for.
It doesnt mean Android is a bad product or an ipad is especially great. Its just that the latter has a lot less permutations. If lack of choice and paying at least a 100% premium somehow turns out to be appealing in exchange for fewer things that could go wrong, I guess I'm missing that appeal. If I wanted that, I'd buy a single vendor stable platform.