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.'"
Good choice
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.
Its not surprising. They have to support as many devices and configurations as possible while at the same time deal with people who either expect having something for nothing or very close to it. This is exactly why iOS games and apps are much more polished.
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
If they are spending more money than they are getting then what do you want them to do? The fragmentation of Android is a serious issue that I am sure affects lots of developers. As new phones come out the problem only gets worse.
Of course it takes work, the question is if the work invested gives enough of a return to warrant doing it. Turns out it doesn't pay well so it gets dropped in favor of more profitable endeavors.
Justice is the sheep getting arrested while an impartial judge declares the vote void.
Too bad you had to actually do work to develop and support your app.
Which they apparently did for awhile, without a good return on their investment.
It's mandatory to wash your hands before returning to the land of Dairy Queen.
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?
I'm sorry, but this is just complaining from an Apple Fanboy. He's wrong on several points, and it's easy to see with a little thinking.
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.
As for crashing, has he ever used an iOS device? Apps and the OS crash about equally to android.
And if your app is approaching Android's 4GB limit, then I'm sorry, but you're doing something REALLY wrong and should step back and take a look at efficiency,
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.
Yes, and his battleheart is obviously a gay fantasy game that will have much more demand from an apple audience.
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.
This is the kind of BS that was stated when Windows was competing with Apple, and yet Windows won. I'm not a big Windows fan, but paying attention to history has it's advantages. I have to wonder if the frag whiners are all inexperienced brats who weren't around during the Windows/Mac wars?
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.
Supporting Android apps is not that hard. You have OGL ES 1.0 and 2.0(+). If you keep these two versions apart and do not mix em up, you'll be ok. Considering the difficulty the couple is having (assuming their platform of choice is iOS), they might as well outsource the Android port to someone that knows knowing the odds and ends of the platform, instead of wasting precious time and resources.
It's true, Android can be a PITA, but not so if you know what you're doing (as with anything else in life).
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.
I've never heard of it either. That so I of course don't know how badly or well the app is written. The developer says it came down to the bottom line, the android version was a money loser.I'm not going to argue with him. But plenty of other developers seem to be ok with android, so I dunno. Weather or not the not the code was good, I think there is a point to be made the android's hard abstraction layer might need some work. Or perhaps the 3rd party hardware companies are not following their guidlines closely enough.
Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
/. really is a pile of freetards who think they know everything. Do you really think Android has only four versions in the wild? Have you ever developed for Android? How about for iOS? Until you release some apps on both platforms you are officially ignorant of what is actually required and your opinion is not valid.
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.
Let's look at the numbers: 20% of his development dollars is supporting 5% of sales. And the 5% is declining. Anybody who would keep developing for any platform in this environment is not a good business person.
If I used a sig over again, would anyone notice?
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.
Clearly, he didn't have to do the work. By not doing the work, his profit per hour went up. That the number of apps on Android went down is incidental to him, but probably not to Android users. Taken in aggregate, the end point is that there are fewer apps on Android, and even fewer really good apps, than on iOS. But that will be seen by Android users, no doubt, as "bad luck" in the Heinlein sense of the term.
-- Two men say they're Jesus. One of them must be wrong. - Dire Straits
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.
One less shitty paid app on Android.
Seriously, Android do not need them. Android, as a platform, is doing fine, getting about 50% of worldwide smartphones sales. There are more free apps on Android than on iOS. I really don't see what the problem is. It's not as if Android was going to disappear because of the lack of paid games.
The issue with android is you are developing for a moving target. A near infinite number of hardware/software combinations, and no way to test on all of them. That's not an issue of not wanting to do work, but having to do near infinite work for a finite amount of return is bad business.
Learn to love Alaska
So require either 2.3 GB or 4.0 ICS and be done with it. HE does NOT have to support 1.5 - 4.0 and he can still make money. This " I have to support all versions of Android and every handset no matter if it's a paygo phone or a Galaxy Nexus. " is a load of crap. Just like with Windows ... sometime the requirements exceed the install base of a version. If Windows 2000/XP can't do what a game requires then ... wait for it ... support is DROPPED.
This whole thing is a whiny excuse. Period.
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.
So they claim they spend 20% of dev and support time on the android versions. Now why was the last update to battleheary more than half a year ago?
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?
Because you know his revenue and expenses for the various versions so much better than him.
He says nothing about relative crash rates beteen Andoid and the iPhone, just that his app crashes on new phones and hence requires tweaking. That might be because his code sucks, it might be because the graphics libs are crap, it doesn't matter it's an extra support cost.
And it wasn't Android's 4GB limit, it was Android's 50MB limit. Sure Google just made a new way to get more data downloaded, but using that would require yet more development effort.
And no he's not saying development is hard. He's saying he make more revenue for each dollar he spends developing/supporting our product for the iPhone than he does for Andoid. In fact he's saying he spends more than he makes, and hence one particular platform is not worth the effort.
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.
Let's look at the numbers: 20% of his development dollars is supporting 5% of sales. And the 5% is declining. Anybody who would keep developing for any platform in this environment is not a good business person.
Uh, you're not looking at the his numbers... you're looking at only 2 of them. That statement would make sense if he was developing for 5 platforms, 20% of his time to each, and getting 5% sales from one of them. If there are two platforms, and he's putting 20% to one and 80% to the other, it's no surprise he makes less on the one he barely supports! And anyone thinking that is not a good business person. (of course, there are too many unknowns to make either conclusion, but that didn't stop you)
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.
If you need anything beyond the currently supported standards, Microsoft and Apple are surprisingly easy to work with. Google just flips you the finger. That alone is driving programmers and companies away already, including one of the biggest companies in the world. Google needs to get its act together and listen better to the community. Especially if said customers have the backing of a huge multinational and are pissed off at the support it's (not) getting.
Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
If you read the blog his biggest gripe is the android market, not the technical problems: :)"
"As an android app developer, you have to sign up as a vendor with google checkout, where all transactions take place. This means that you alone are responsible for resolving any billing concerns. We actually have a tiny handful of people getting refunds on our iOS games every day, but since all billing and possible refunds are handled by Apple, I don't have to deal with it. On Android, I do, and I really wish I didn't. I just want to make games, not listen to people whine about how their app won't install (due to user error 9 times out of 10) and they missed the 15 minute window to give themselves a refund, or didn't even know there was such a policy... even though its prominently featured on their order confirmation which is instantly sent to the device being held in their f***ing hand... Yea, my patience is low at this point.
Most mobile purchases are impusle. Like when you're stuck waiting a long time or trapped in a car on a long drive. The people that drive the market are not going to have any luck installing from untrusted sources. Yeah, for a /. poster it's easy as falling off a log, but joe & jane average just get lost in the menus. Now, what that says for the average mobile phone user I won't bother commenting on, but the model is sustainable.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
From what I've seen, most developers put very little effort into their mobile apps, and are content to write clones of better and more popular games and utilities. A few invest the proper time and effort and have a genuinely new idea. What you sow...
How can I believe you when you tell me what I don't want to hear?
Sorry, but I don't have a credit card and I couldn't pay for any google apps however much I wanted to. I can't buy coupons for google market/play with cash, I can't use wire transfer, I can't use paypal ...
It's not the quality of the apps, it's not the quality of the handsets, it's not the screen resolution or any of the other canards serving as reasons. It's the business model.
Just take my money and shut up.
very little is done for you. You'll be writing tonne of low level code you just don't need on Android. Read blogs from the guy who made Gratuitous Space Battles for more detail on this. Basically, since there's so few different iDevices you can get away with damn near writing to bare metal. If you've put the time in to do that, great. But if not Android is a nice platform.
Besides, it'll catch up on the next gen unless you're targeting the low end (like my Hauwei Ascend II from Cricket). Give it one more hardware gen and all this crap will go away.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
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.
You sound informed, like you've actually done some Android development and are aware of the pitfalls. You do realise your type isn't welcome around here...? :P
If you make 300-600 on one app you're in the top tier of developers. More than 90% make no money at all, after counting cost.
Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
Sure. It also sends a clear message they aren't making enough in the Apple market to sustain them. Otherwise... look at this: if you believe their own numbers, by investing an additional 20% of development resources they increase their market by 5%. Say their development expense is $200K and they pull in sales of $1M. By their numbers, $40K is incremental development expense and $50K is what they got back for it. Sounds like $10K of free money! Well, obviously they aren't making anything like $1M, from iOS or Android, and that is their real problem. I trust they won't quit their day jobs.
Have you got your LWN subscription yet?
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
Actually, what I think he is saying is that he makes 95% of his revenue from iOS yet spends 20% of his development time bug fixing Android versions, so he is dropping support for Android because it represents an insignificant market for his software. That's a financially reasonable position to take.
Even if his position were, "I'm a shitty developer who doesn't know Linux, but I know iOS, and I make 95% of my money from iOS so I'm dropping Android, that would still be a financially reasonable position to take.
I'm sure you didn't buy his software anyway, though I did on iOS, and quite enjoy it, so what's your bitch?
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
Taken in aggregate, the end point is that there are fewer apps on Android...
Except nobody actually has hard numbers to support such an assertion. Maybe you are special. Just thought I'd mention it. Carry on now.
Have you got your LWN subscription yet?
You, sir, owe me a monitor and a keyboard...
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
Originality has very little to nothing to do with success, in apps as in music and movies. E.g. Zynga.
Hardware diversity shouldn't be a big problem if you're coding to the APIs in question. People keep running this up the flagpole on Android and Linux- never accounting for the hardware diversity for Windows, MacOS, or iOS (iOS doesn't have as much diversity- but it's still there...and NOBODY bitches about stuff having issues running on an iPhone 2 versus an iPhone 4GS...). In the case of this game, looking at the screenshot, I'd say I can't get why he's burning 20% of his efforts on Android...unless the code wasn't well ported from Objective-C to Java and from iOS to Android.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
No wonder you never heard of it. It never had a free lite version to begin with.
This is an iPhone developer who thinks he can sell an Android app just like he can sell an iPhone one.
That may or may not be true, but I honestly have seen nothing to suggest any deep thought or analysis went into it. It sounds a lot like he went "herp derp, 20% is greater than 5% so I'll stop doing Android." There are a lot of questions one needs to ask beyond that to understand what's going on and if it was ultimately a good decision.
The first and simplest is where is the growth? If sales for Android are growing while sales for iPhone are plateauing, he has probably made a bad decision. Relatedly, does having that extra 20% of his time allow him to make up the lost sales revenue? In other words, can he get more iPhone sales or more money out of existing iPhone sales or is he essentially saturated?
The second question I would ask myself is why. Is it just that iPhone users are more likely to buy than Android users? Is it that he has obviously been developing for iPhone longer and sales have established themselves? Is he advertising for one and not the other?
In other words, 20% of your time for 5% of your profits is only bad if you can put the time to better use (or would just rather have the free time based on the ROI). We don't have enough information to make that call and I don't know that he bothered to get enough either.
Maybe they are just shit programmers. Lots of other developers seem to be able to write complex games for Android without these kinds of issues.
Perhaps they are getting confused by broken drivers on certain phones or something. If they were developing for Windows they probably wouldn't bother patching their game to support old graphics cards running old drivers that the card manufacturer should really update/fix.
The bottom line is that plenty of other devs are getting on well with Android. This whole story just seems like a typical "tabloid" media story, i.e. find one disgruntled guy and try to make out he has discovered a huge flaw in the system that affects everyone.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
Bullshit.
I'd say screen resolution is the /easiest/ thing to work around. With Android, you've got all sorts of problems with inconsistent behaviour between different versions. Prior to 2.3 (Gingerbread), you couldn't put assets in an APK larger than about a megabyte and the app installer won't clean up after data that you put in the officially sanctioned directory on the sd card. Trivial stuff when you're trying to bundle potentially large graphics files I guess. With Gingerbread, Google broke the Expandable ListWidget class. As far as screen resolutions go, there are predefined ways to handle the different sizes and densities. It's actually pretty flexible and one of the more intuitive things about Android development. Other than the list of acceptable values itself being something of a moving target, it's not /so/ bad.
As for the free development suite, you get what you pay for. I certainly much prefer XCode to Eclipse, to the extent that I use NetBeans to do development instead. Of course, the hot new SDK broke some minor things like incremental builds with NB. Previous versions of the Linux SDK shipped with broken versions of gcc that wouldn't compile the kernel properly (okay app devs don't worry about this, but it goes to show how chaotic the Android ecosystem is), and the supposedly supported MacOS X lacks support for various things like dexopt (OS dev) or Google TV support. Yeah, okay, I'm still chaffed that Google refuses to integrate SDK support for other free, open, non-Linux, UNIX-like operating systems and just writes sloppy code.
Linux as the required SDK platform is a bonus only if you're already using it.
The revolution will be mocked
So saith the Anon Coward...
I can't say what it takes to make iOS apps at this time- mainly because I've not done it yet (though I do happen to have access to source code FOR a game selling on it...). I do know something of what it takes to make Android apps- just not anything that is selling in the Market (Ooops... Google Play...). It's NOT that difficult unless you're trying to make a mostly native code application to make a fairly solid beast for Android. And it's not that much more difficult once you understand how it works under the hood to make a native app.
iOS has several versions out in the wild, as best as I know. They each have differing hardware associated with them. Some things don't work on earlier versions, much the same as Android's story. But...since it's not Apple and iOS, many drub the Android side, claiming that they know something about Android development and that there's more problems with it than iOS. Yourself included there. Without knowing you from adam, I can't say with veracity that you're talking straight- all I know is what I've had the experience to develop and work with.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
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.
That's a good point; getting web-apps to work in all browsers (as a one-man shop) is a miracle. One difference with web development is that you can buy *one* Windows box and run all the browsers you listed; with Droid dev, you need to buy or borrow each device if you want to make sure complex stuff, like OpenGL, works. I find the emulator doesn't always match real devices -- and that goes both ways, good and bad.
Let's look at the numbers: 20% of his development dollars is supporting 5% of sales. And the 5% is declining. Anybody who would keep developing for any platform in this environment is not a good business person.
Not necessarily. Is the 5% in sales covering development costs? If sales are not covering costs then the developer should drop the platform. If sales are covering costs then the developer should look at opportunity costs. In other words, will net revenue increase by dropping Android and investing all the money in iOS? That's for the developer to know. In the end, Android will continue to grow and attract developers.
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.
The multitude of platforms and versions and screen sizes is maddening. It's an enormous pointless time sink.
The only solution is to go back to a "write once, run everywhere" platform. Beef up HTML5 and run with it.
He uses Unity, I believe. This limits his interactions close to the metal. Do far I've found unity to be pretty compatible acrosss handsets. But who knows what he was doing or the issues that he ran into.
We're about to release Temple Run on Android .... And we may be in for a similar dismal time. The title is huge on iOS. I
Expecting Android users to like what we've done.... But who knows at this point.
1) You're basing a conclusion on numbers you're pulling out of your ass. Pull different numbers out of your ass and the conclusion would be different. The developer himself who made the decision does know.
2) Even then, you conclusion would only make sense if he could just find 20% more time. But he's an indie and his time is limited. If he spends it on Android support, he isn't spending it on creating a new iPhone game, for which the rewards are bigger.
Clearly he can put his time to better use. He can spend it on developing new iPhone games where the returns are better.
It's just as easy to make software for Android as it is IOS
It probably is just as easy to produce a game for a single Android model as it is to produce it for iPhone. It clearly is not as easy to produce it for the vast fragmented platform that is the reality of Android.
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.
Same reason the last version for iPhone was that long ago. One man, multiple games. Clearly he's experiencing the issue across all his games. But the line he's drawn in the sand is on the question of updating that particular game to be compatible with the latest Android devices.
That's of course true for some apps, but not really for games that depend only on finger input and 3d rendering. Monoculture greatly reduces support costs is one of the few true arguments that Microsoft made in support of it's windows-office platform.
The same is true on the windows platform for games. We only have high-production 3d games for windows + xbox and ps3 these days, because you can do that coding against directX and 1 gpu. The other platforms, including at the moment ios, just get scraps.
For games, this seems to be a big point.
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.
Because apple has started using microsoft/facebook tactics and pays people loads of money to badmouth google ?
If you drop support, but your app still remains on the app store, you continue making $2X until the already-supported hardware becomes obsolete. Discontinuing support means you raise profits from $X to $2X for some amount of time.
Which is, of course, not really dropping support. Because the next bug someone reports which you realize is significant and would make you an thousand extra sales on Android if you fixed, you decide to fix. And then that happens a few more times, meanwhile the installed base of Android increases by ten million devices and you end up getting more Android sales solely by virtue of that, which makes you decide it's cost effective to work on the Android version even more, etc.
On top of that, the company never said 80% of their time was spent on iOS bugs. In fact, they specifically stated how they desired to spend more time on content, so one could safely assume that at least some of that 80% is on content.
Which is irrelevant unless you actually know how much time they spent on iOS bugs. It could be 79% of the time or 1% of the time. Which is still irrelevant to the fact that you can't compare percentages of different values to determine which is bigger in absolute terms.
On top of *that*, 20% is still a greater share of time than the 5% share of revenue.
Which is exactly the thing I already explained is a totally inane thing to care about. You can't compare percentages of time to percentages of revenue because they're different amounts. 5% of the revenue could still be several times as much as 20% of the development budget.
Let me see if I can make you understand why it's stupid. Let's suppose that you divide the development budget into pieces and then assign portions of the revenue to each development cost. The average development cost will naturally equal its percent share of the revenues. Then some will provide better and worse than average bang for the buck. So let's say you now create a heuristic that says whatever has worse than the average bang for the buck, you cut. The problem is this: As soon as you cut whatever that is, you change the average. It used to be that half your development costs were above average and half were below, and now you've cut half of them out. Well, now there is a new average, and a quarter of the original development costs are now below the new average. Repeat this process a couple of times and you end up with a product that costs 0.1% as much to develop and brings in 2% as much revenue as it used to. Which is a great way to cut 99.9% of costs if you don't mind losing 98% of your revenue.
The reason for that is because the heuristic is stupid. You don't compare one development cost to the other development costs, you compare it to the amount of revenue it produces, and if you come out ahead then you keep it.
One of the benefits of Linux is that its been pressed into service on hundreds of different architectures, running multiples of different hardware on all of those architectures. There is a uniform architecture layer that optimizes the use of the hardware and interfaces with the rest of the software. Writing code for one device is dead easy compared to writing it for 500. Bugs get found, reliability goes up. "We can't support all the different kinds of blah blah" means they are good for a single architecture only. It really means "we managed to write enough hacks to get it working on one platform. So long as it doesn't change, we are good to go. Otherwise the software is fragile." From a business point of view: cut losses make profits. From a technical point of view: it was crap software anyway.
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.
The article says, "Angry Birds Makes More Money from the Free Android Version than from Paid Ones".
It continues, "But one of the most popular apps of all time, Angry Birds, is actually seeing quite a lot of success from its ad-supported version versus the paid app...On Android devices though, the game's maker, Rovio, went with an ad-supported model rather than selling the game like on the iPhone."
The only "paid ones" or "paid app" referenced in the article is the iOS version, so that makes the statement into free Android version makes more money than iOS version.
Given the options most businesses chose IE 6 instead and loved the idea of only a single company with a single product with a single version and then cry foul when times change later as it would cut into the CEOs bonus
http://saveie6.com/
What are you talking about?
My conclusion that Angry Birds makes more money on iOS than Android is directly from the article's title (hint the paid ones referred to in the title are clarified in the body to refer to "selling the game like on the iPhone").
What you call "speculation" that predicts they will make $1m in ad revenue per month is directly from the CEO of Rovio, the company behind Angry Birds. I quote: "The Android version of the game has been downloaded 5 million times and Rovio is on track to generate $1 million in revenue per month by the end of the year, according Rovio's Peter Vesterbacka."
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!
So you're saying they'd need a profit margin of 500%?
I hope your comment was an utter fail of parody/sarcasm instead of being serious.
My app doesn't make any money either, although I made money on iOS and Bada. The problem is with Android market, it focusses on free and ad sponsored.
Without any impartial review mechanism, paid for apps are often crapware and so people are reluctant to buy. Peer reviews are often nothing of the sort, they're either astroturf from the developer or negative FUD from a competitor. So you can't rely on what the 'user' reviews says. I'm as guilty of this as anyone, I won't pay for Android software.
It was a gold rush I think, app developers piled in with quick mocks ups, didn't make money, made their software free/add sponsored, still didn't make money and you see a lot of software just rotting, but still there, still free, still making it not worthwhile to try again in that app field.
I think there needs to be a trusted filter, a badge system that Google itself with its own reviewers flag saying 'this software has been reviewed and we liked it'. At the moment they have a few staff picks and those sell, but nothing systematic.
paying attention to history has it's advantages
Not the same. Different markets. And this is 25 years later.
Not necessarily disagreeing with your substantive points, but that is a mildly hilarious way to disagree with the argument that we should pay attention to history because it repeats itself...
I bought a book set years ago on Win32 and the MFC after learning general C++ in a college course. My GOD, ugly and complicated compared to Java Swing and certainly easier with web development.
I am trying to learn the ins and out of IE 6 right now as I am making an e-com website without much luck. I found a great CSS book that talks about IE 6 but not 7 which I imagine businesses are using as some sites are now refusing IE 6 support, but still support IE 7.
Sure, with IE 6 things wrapped around elements that shouldn't, the outer padding in the box model isn't supported and you need zoom to let IE 6 even know it should at least try to position elements on the page, but it works. Just with a few tricks. It is not too bad compared to the many bugs and strange Hungarian notation in MFC.
Even with these strange behaviors (do not know about IE 7 yet, other than it is picky on what gets moved in css rules as it can't figure out margins on its own) it is still much quicker and easier.
I looked at the Andriod SDK API and it is shallow and neutered. You can't do much with it on purpose which is why no good anti virus scanners exist for Andriod yet as they just scan existing apps and an exploit can execute underneath undetected. My guess is with Andriod you need to hack it with a buffer overflow or heap stack as the java api is next to useless unless you use it for basic things like HTML 5 goodness. While Google wants their apps to be easier to develop they crippled power users and I can only imagine the GPU situation between the devices. A Galaxy S will have an awesome GPU, but the $79 el chepo by Tmobile probably does everything in software to cut costs. So you need to program all those scenarios in.
Better HTML 5 and webGL is needed but even that is basic functionality. I would rather develop websites than deal with the horrible inner works of Windows anyday. Maybe .NET would change my mind but it seems you need tons and tons of code to get anything done with bugs that look like plain crap when you are done with win32 unless you use .NET
http://saveie6.com/
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.
It is the Hot New Thing(tm) and as such you have people rushing to it. This was also helped along by Angry Birds. Rovio had been around before but nobody had really heard of them. Then suddenly they release this game that just becomes MASSIVE. They made staggering amounts of money, and on not a ton of investment. Way less than a normal PC game.
So this leads to fools rushing in. They decide it means the market is one where a small amount of investment can lead to massive profits. They ignore that the magic lightning rarely strikes twice.
We had a student that was all on that. He was a Mac fanboy so iOS was his thing but that is what he wanted to do. Not be a developer, be an iOS developer. He was that as the way forward, that desktops and laptops were dead, etc, etc. He'd decided that mobile was all he liked, and yes Angry Birds was an inspiration for him. I just smiled and laughed.
In the end he was hired by Apple, which made him happy, but not to develop iOS apps.
1) You're basing a conclusion on numbers you're pulling out of your ass.
Not at all, I used the number from the article, or didn't you read it? Giving the benefit of the doubt of course, because in truth I believe the whole little drama to be pretty much the sort of fiction we have come to expect from Apple
Have you got your LWN subscription yet?
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 would mean iOS gets 19 sales for every 1 sale Android gets.
It smacks of wild exaggeration.
Have you got your LWN subscription yet?
I suspect they just want to point fingers and absolve themselves of horrible coding practices.
I suspect they made a legitimate decision to consolidate their development effort in light of not making very much money on either platform, Apple PR droids got wind of it, and next thing you know there is a rather obviously lopsided article planted.
Have you got your LWN subscription yet?
The days are numbered where we'll need a special-purpose OS just for "mobile". I'm much more interested in things like KDE Plasma Workspaces, which is essentially designed to provide different user interfaces to the same apps, depending on whether you're on a desktop, a laptop, or a tablet.
Wow, did you just crawl out of a cave and think its 1999?
I haven't thought of anything clever to put here, but then again most of you haven't either.
I'm just old and liked things the way they were before the birds got angry and moved to a screen I can't read.
Sorry, but gray text on gray background is making my eyes bleed.
Not at all, I used the number from the article, or didn't you read it?
You used some percentages from the article, and pulled some numbers from your ass. It was the latter I referred to.
Giving the benefit of the doubt of course, because in truth I believe the whole little drama to be pretty much the sort of fiction we have come to expect from Apple
WTF?
It never gets old.
You're kidding yourself if you think Android is write once run anywhere on anything moderately advanced. And yes, you do need an army of test devices. You don't buy them all at once, but when someone reports a bug that you don't have on a device that you don't have, you have to purchase that device.
Same goes for iOS, but there is only one iPhone and one iPad per year that you might have to purchase.
Believe what you like, that's the reality. I know there are a lot of people here who would rather stick with their beliefs rather then reality.
Especially since carriers only advertise Android 4 devices, current models from "high-end" Android device manufacturers use Android 4 exclusively, and all Android 3 devices sold in the past year can run Android 4 with a free upgrade supported by both carriers and manufacturers.
Am I the only one who read the headline 3 times trying to figure out why the guy who made a movie over 2 decades ago has a valid opinion on smart phones?
/never heard of the game, or the developer.
//I'm sure his stuff's good, I'm just out of the loop.
Pulp Audio Weekly - Geek News and Reviews
It's actually an invitation for a more aggressive developer to pick up on the concept and drop their own game into the slot. It's not like the barrier to entry is high.
Have you got your LWN subscription yet?
Yes, Windows is the only 'serious' platform to develop for, as I am sure Android will eventually be, but for now Android is more akin to DOS, you better have your autoexec.bat and config.sys setup properly or the fancy new game won't have enough memory to run.
Hardware diversity shouldn't be a big problem if you're coding to the APIs in question.
Actually in their case, hardware is the problem. They want a very high level of optimization, while not really testing them on all GPUs. Shaders and texture compression are the two biggest elements to their issue. Both have nothing to do with the OS version.
If he makes a better return on his time developing new games for the iPhone than he makes supporting old games (or porting games) to android then it makes more sense for him to develop for the iPhone.
"In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson
You really don't know a whole lot about mobile game development do you?
"In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson
If the return on that time is not as profitable as the return on, say, developing new games for iOS, then it really doesn't matter if 5% covers development cost unless you are doing this for the love of android. This guy is probably trying his damnedest to make a living developing mobile games and he is going to take the best profit for his time he can get.
"In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson
The problem is shitty port's don't sell.
For any demo/trial/limited-free apps on the market, the majority of the negative reviews always seem to be of the "I really like it, but $2 for the full version? Fuck you, you must be kidding!" variety. They seem to get downright angry when an app isn't free.
There are many shader differences between devices, platforms, OS versions and more.
Here are some examples.
You may declare a variable "mediump" in GLSL. Indicating that you would like to use medium precision. This might work fine on your test device, where mediump means 16bits, but it will fail on some other device where mediump means 12bits. Sure, the standard defines a valid range for lowp, mediump and highp, but all this means is your test device is not guaranteed to produce results like any number of consumer devices.
You might use the "discard" qualifier in your shader when hitting a branch that doesn't need to compute pixels. Faster than letting the shader run through to completion, right? Wrong. On desktop hardware, and Nvidia Tegra it may be faster, but on Imagination PowerVR it is significantly slower. So you end up with a shader for each platform.
These are just the immediate things a developer will notice when getting into shaders. Do any complex work with shaders and you will unearth hundreds more incompatibilities.
...the sort of fiction we have come to expect from Apple
Have you got your LWN subscription yet?
Fuck him for making video games. Go starve.
-1 Uncomfortable Truth
That's when opportunity cost comes into play. If spending X$ on Android support gives 2X$ revenue and spending X$ on something else gives 6X$ revenue then supporting Android is the bad choice despite being profitable. Since his investment is in the form of his time he cannot spend it on both. He could hire a third developer for the company but that's a significant expense that may not be justified for the returns.
Justice is the sheep getting arrested while an impartial judge declares the vote void.
Perhaps they are getting confused by broken drivers on certain phones or something. If they were developing for Windows they probably wouldn't bother patching their game to support old graphics cards running old drivers that the card manufacturer should really update/fix.
The problem is that on any mobile platform you make money buy selling in volume, not by selling at a high price. Combine that with the fact that android has managed to grab so much market share mostly by people going into a phone shop and going "hmm, iPhone - $500, thing that *looks* like it's as good as an iPhone –$29", and you find that if you want to make money on android, you have to support shitty 600MHz arms with barely any GPU at all.
This developer actually sounds a lot like they actually cut a lot of hardware out of their support loop already – the fact that they're talking about modifying shaders means that they must be demanding you have at very least OpenGL ES 2.0 hardware.
Yes, a guy making a business decision based on one platform having 4 times the support costs, and 4 times less the income is clearly fanboyism.
I grow tired of developers crying that the Android landscape is too vast for them to support. This diversity is not unlike PCs over the last 20-30 years. IBM compatibles could have any combination of memory, graphics & sound cards, with either a mouse/joystick or just a keyboard. Back in the 8-bit days, sure most of the machines were either 6502s or Z80s, but the per machine specs (Atari, Commodore, NES, Apple, Spectrum, etc) varied greatly and the developer had nothing like abstraction layers/libraries like OpenGL, Coco, or a VM. Particularly in the 8-bit days, individual or small team indie developers flourished.
What the developers didn't have what we do today is the Internet and massive online outlets like Android Marketplace and the App Store. Meaning, the real advantage of both platforms are the same--massive publicity.
So, let whatever developer who wants to cater to a single audience do so while the truly passionate and skilled developers reap the benefit of targeting nearly every platform simultaneously. There are good ways of tackling the bear of supporting multiple hardware, but it involves practices that, although proven to be effective, are seemingly undesirable to coders with too much pride.
"So don't get programmed by anybody but yourself" --Bill S. Preston, Esquire
Maybe things have changed in the NINE MONTHS that have passed since that article was posted?
From the fine blog post (emphasize mine):
We spent about 20% of our total man-hours last year dealing with Android in one way or another - porting, platform specific bug fixes, customer service, etc. [] Meanwhile, Android sales amounted to around 5% of our revenue for the year, and continues to shrink. Needless to say, this ratio is unsustainable.
I thought that both Google and Apple were boasting about their app numbers every so often, are you suggesting the companies are lying?
FTFY
You're welcome.
(T)he (O)ld (M)an
They were making profit - 5% of their total was from android. I'd rather they add a notice saying "this platform is not 100% supported - very sorry if your device is not supported" and keep supporting it, but only as much as they feel like. If some new/old devices cant play the game... so what? Cant they just hide their app from hard to support devices?
What whiny excuse? This is a "bedroom coder" deciding on what to support. Android users are not entitled to anyone's output.
So he requires iOS and is done with it. His fault was trying to tell people why, he should just have done it without an explanation, since he does not owe that to anyone.
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?
I think I'm the only person here who has played battleheart, or at least who has played and is also a software dev (but not a game dev or graphical dev or even a android dev). I haven't done "game programming" since the 80s on ms basic...
I know what you're talking about WRT opengl and first person shooters and flight simulators and such. But battleheart is a basic more or less 2-D sprite RPG. There are some amusing and entertaining animations during battles. Its about as intensely graphical as perhaps a solitaire card game. Does that really need a byzantine 3-d interface? or rephrased, is the only available graphics API a byzantine 3-d interface? If so, that graphical API is the problem, not the OS, not the devs.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
The "making money" problem is why they are ditching support for an old version that is not selling enough to justify the expense of answering technical questions not even necessarily related to their game. Their error was telling people why (your "just an excuse"), instead of just doing it. They instead focus on new developments which makes business sense.
It was responding to "entitled" Android users that was not "doing a good job of running" their company. Once they figured that out, they rectified the mistake.
I can't believe I'm the only /. poster who has ever played the game, yet looking at the comments..
Its sort of a turing tarpit of RPG gaming. Do we need 3-D and fancy maps? naaw we'll just use fixed sprites on a 2-D "perspective" side view in (generally) open field battle. Do we need a full set of character attributes/numbers? Naaah we'll just use attack/defense numbers. You get tanks and ranged and healer characters thats all. Is there any difference between magic and arrow-based ranged fighters? Naah. Every 5 levels you get another feat, sometimes you get to select, sometimes not. The mid and advanced game seems to revolve around which characters you selected and your selection of feats, the early levels focus on the items you purchase using coin gathered from dead monsters. Much like a turing tarpit is a language designed to the minimum necessary, this is kind of the absolute minimum RPG you imagine that still has "RPG-like" gameplay.
Gameplay is grind MMORPG-like in that you're not allowed to loose, your skill level at playing determines how fast you advance, not if you advance. So if you're worried about casual gaming and a real world distraction destroying your carefully crafted character, don't worry, worst case is you just wasted some time. Its a ratchet, only turning "upward". Months ago when I was playing, there was no real world cash involved, although I could imagine the ability to trade dollars for coin would be ... appreciated as often in the early levels I was grinding for coin. That would probably throw the balance of the game completely off.
Take something like nethack, remove all the maps, most of the monsters, most of the storyline, most of the items, most of the puzzles, tear it down to the absolute minimum RPG, add in some 2-d sprite graphics and some animations, and you're basically there.
Oddly enough, its actually pretty good. I completely beat it months ago, playing a knight, thief, wizard, healer group and haven't played since. Stereotypical "well, I'm sitting in the waiting room... what to do?" game.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
The interesting thing that nobody is bringing up is that this situation seems like a good candidate for class action lawsuits against any phone manufacturers that *claim* a certain level of OpenGL compliance, but aren't actually delivering on those claims.
The problem as I see it is that most consumers are not in a position to actually test and verify if their handset is compliant with the technologies it claims in the products marketing materials, and most developers probably aren't interested in this issue because they aren't likely to get much payout on the lawsuit over the one or two test handsets they purchased.
But, developers working together to provide "expert witness" testimony in a class action lawsuit might help lawyers craft a suit which forces handset makers and mobile networks to release operating system updates that they might otherwise never release, to fix these problems (the mobile phone industry, right now, seems pretty notorious for not releasing OS updates for handsets).
The benefit for the developers might just be a better market for them to sell their wares into.
We've all heard the quote, "The best camera is the one that you have with you." (The Internet seems to attribute this to photographer Chase Jarvis). Well, the best computer is the one that I have with me. Sure, my pocket sized Linux based mobile computer which also makes phone calls is far from ideal for gaming, word processing, etc., but it's perfect for when I'm bored at the train station or family reunion or whatever.
In a fast-paced lifestyle, people want a device that can send and receive content and entertainment a few minutes at a time, then go back into their pocket on standby for the next 2 minutes of free time. So, while my laptop might be better suited for many things, my phone is what I use. Some newer phones now are capable of docking with a "lapdock" which essentially turns the phone into a laptop computer with full sized screen and keyboard. With mobile processing power and network speeds increasing rapidly, this new use of mobile phones can easily replace the laptop/netbook/tablet that many people lug around.
For those griping about battery life, you do have a point, but I would counter with this: even with my dual core 4.5" display fancy new cell phone, if I shut off background services and turn off data (essentially reducing it back to only cell phone and PDA functions), I can easily get 2-3 days on one charge.
What I'm saying is, stop thinking about cell phones as such, the name "phone" is just a legacy at this point. They are rapidly evolving, ultra-portable personal computers and entertainment systems. Sell a high quality power drill and call it a "Margarita Mixer", and your customers will bitch that it is a crappy margarita mixer.
What world are you living in? People - especially game developers - have been complaining about the hardware diversity of the PC platform since the mid '80s! Macs have it worse because there is still enough hardware diversity to be annoying (RAM, CPU and GPU performance can vary significantly) but a smaller market share. Consoles, on the other hand, are much easier to develop for. They're less powerful, but once you've got something working on a console it would work on all of the same model of console.
I am TheRaven on Soylent News
You're assuming the opportunity is not already being taken. He doesn't have to discontinue iOS development to keep developing for Android. And it seems very, very unlikely that spending 20% more time on iOS is going to substantially increase sales there: Likely he already has most of the customers who want his game. The better approach is to figure out why you aren't getting the same level of penetration on Android and do something about it, because that's where the untapped market is.
Doom used 320x200x256 mode on the standard VGA graphics hardware. All the rendering was done in software. There was nothing complicated, whatsoever, about their interface with the graphics hardware itself. It took about 3 lines of code to set up that video mode, and a few pages more to do the double-buffering properly.
a more accurate analogy would be the situation that high resolution programs had in the late 80s and early 90s on DOS, where every program came with it's own set of graphics drivers because there wasn't any standard beyond the standard BIOS modes (320x200x256, 640x480x16, etc), and every manufacturer was putting out its own special system.
the analogy is a good one.
you have one system where there is a lot of diversity (Wintel 80s/90s), and things break, and another system where there is less diversity (Mac), and things work.
the big difference is that Wintel on PCs in the 80s + 90s had a huge price advantage over mac, which was why a lot of people bought them.
does android have a huge price advantage over iphone?
because then we get into the third analogy.
linux desktop has a huge price advantage over windows and OSX. but its diversity level is so high that things frequently 'dont work' (queue screaming fanboys who have never tried to distribute a complicated linux program to actual users)
where one company has to pay huge percentage of its profit to another company 'shaking them down' through illegal monopoly measures enforced by a corrupt government system.
dude, anyone who actually wrote java understands 'write once run anywhere' is a fairy story told to freshman CS students to make them think about the concept of 'portability'.
anytime you move into graphics, audio, etc, java 'doesnt work'.
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.
This sounds eerily familiar. I worked for Broderbund back in the day. One of their big products was "Print Shop" which allowed the consumer to create greeting cards, etc. to send to their printer. To support that product they had large wall filled with every major printer on the market at the time. A huge patch bay allowed you to hook up a given printer to a given test computer. What's the state of QA for the major PC game creators? Do they have to test with every major graphics card on the market?
If you need anything beyond the currently supported standards, Microsoft and Apple are surprisingly easy to work with. Google just flips you the finger. That alone is driving programmers and companies away already, including one of the biggest companies in the world. Google needs to get its act together and listen better to the community. Especially if said customers have the backing of a huge multinational and are pissed off at the support it's (not) getting.
what the fuck maaaaaaaaaaaaaaaaaaaan?
try doing anything on windows phone beyond currently supported standards and on iphone and then try to get it to the store! YOU CAN'T! you develop what you're told to develop and in limits you're told and that's it. want to use some random library? it better be the right kind of .net code!
I think you meant _within_ the supported development set. then yes, both apple and microsoft(in mobile space) are wonderful to work with, but it's going to be a bitch for this developer to port to wp7 from ios - with android they could share a lot of the code.
but all and all. why are they even announcing that they're dropping their android support? to advertise their ios version? why burn the platform, why not just list all the devices it does work with and let it be on hibernate.
world was created 5 seconds before this post as it is.
it could be true. their market presence and traction on ios could just be good.
and perhaps people on androids playing other games. the game has cartoon graphics, looks like a flash game and has no trial/demo.
but quite frankly, when a developer doesn't find a way to deploy his 30 meg game for galaxy S, he has had his targets chosen wrong.
(the app is so big that the correct approach would have been a staging loader, where the app would download the rest of the content on the first install.. ooh and override the onbackbutton method)
world was created 5 seconds before this post as it is.
Whoever is stating that is obviously an Android fanboy. It's like all that name calling going on in football where you are so blind not to see how shitty is your team, so you just keep attacking the other - better - ones.
I have an iPhone 3G, which having served me well for the last years, it's showing to be quite slow with new apps, and besides I cracked the top corner of it and now the power button is broken. So, not wanting to give €600 for an off contract iPhone, I went to check some Android phones. Result:
- The similar to iPhone 4S, Android phones cost the same off contract.
- You have quite an hard time finding Android phones that don't use a huge screen factor. I want a smartphone, not a tablet.
- And the most stupid thing and that is really an issue to this post. Only 2 of the models at FNAC - it's quite a big shop in Europe - actually had the latest major version of Android. There where some using version 3 and the big majority was using Android version 2.3.
No, you can create whatever dumb arguments you want, but when you go to shop for a new Android phone, and most of them are being sold with an OS that's 2 major versions behind the actual one, then yes, you got a big problem, blame it on the manufactures and Google if you wish, but don't come and tell us that the developer is lazy for not wanting to support such a fragmented market.
P.S. - After seeing the sad state of affairs, I decided to save some more money and wait 6 months for the next iPhone and buy that instead of some outdated Android that costs the same for the same specs.
A fair warning? Yes, a fair warning to devs that "if you engage with Android, and then make a business decision to end support for Android as a platform, we'll talk shit about you, your capability as a developer, and the quality of your code, even though up until the moment you announced you were discontinuing support, the overwhelming majority of people who had bought your product were quite happy with it."
With a fair warning like that, don't be surprised when other developers make similar decisions to discontinue support for a bunch of spoiled children. In fact, this behavior is the exact definition of "sour grapes" - pretending that something you value quite highly is suddenly inconsequential and useless because you discover you can't have it.
I was about to comment with a similar slam of iOS by linking to the bug tracker and source repository for it, but then I realized that Radar (Apple's bug tracker) is private, and iOS is closed source.
The real litigious bastards...
Your link to the Microsoft page is about the pricing policy on the XBox... hardly indicative of their stance towards developers.
Apple had a beef with Flash and scripting languages for reasons having to do with battery usage. Not completely stupid, actually. Why allow unskilled developers on your platform anyway, it will probably just lead to more fart apps. Geniuses, they're not. A competent developer can switch to objective-C in a day.
But the whole point was: how easy is it to actually get support from them when you have a good idea and need extensions in their environment? Well, pretty darn easy if you have a really good idea.
But with Google it's plain impossible, they won't even talk to you. And when you have a 90 billion dollar revenue company backing you, this attitude is simply stupid in terms of their business.
Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
I meant within the supported development set, and getting them to extend that supported development set. Not "hey here's my app and I need this library" but just asking in advance to extend their platform.
They won't do it for just any developer. But yes, they will do it if you're from a big company and have serious backing and a very good reason *FOR THEM* to improve their platform *because they will make more profits*. And they will actually listen to people doing elevator pitches. Google reps don't even listen.
Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
the smartphone which is 1/2 to 1/3 the cost of an iPhone with the same level of functionality and polish. Now do the same for tablets.
Such a sad, tired old meme.
I was speaking speculatively about the future. I figured everyone would get the tautology that if fewer apps are developed for Android, there would be fewer apps on Android. I guess you're special, too, though.
-- Two men say they're Jesus. One of them must be wrong. - Dire Straits
Are you sure you saw phones with Honeycomb (Android version 3.x)? Because it was never intended for the phones and Google did not release its source code. I do not recall ever seeing an android phone with Honeycomb. For the phones, Gingerbread (2.3) is only one version behind ICS (4.x).
I currently own a Samsung Galaxy S2 (on android 2.3 but expecting ICS soon) and an Asus Transformer tablet (already upgraded to ICS). My wife has an HTC Desire. I have not encountered an app not working on any of these devices. Android app development maybe more difficult than iOS, and it might be partly due to the fragmentation, but there are now as many android devices as there are iOS devices and the balance will only shift in android's favor in time. If this developer could not make money out of android, then it is sad for him, because he will never have a chance to get a piece of my money.
To say the truth I'm not sure, perhaps they where those smaller tablets (7'' I think), since they where together with the smartphones and I was looking trough the specs of them all. But what you say makes sense. Still, there are many phones, still without a new successor (like the Galaxy Ace for instance) being sold with 2.2, not even 2.3, much less the 4 version which is the actual one.
You got a code example or two, or are we just going to argue theory? I've never specicially programmed for Android, but I've written Unix (not just Linux) apps and web apps for quite some time, and I know that there are a whole lot of bad programmers out there in both areas who often blame the devices instead of learning specifications. So, I'm understandably skeptical when some no-name developer says "it's too hard to support all these devices" - especially when their application is not in any way technically demanding, and when somehow thousands of other developers are almost certainly getting by without owning one of every Android device out there.
If it's actually true that any Android developer actually must physically own hundreds of devices to test upon, then yeah, the testing cycle in development is clearly impossible, and the platform can't possibly succeed. But the platform is succeeding somehow, so I'll need an alternate explanation as to how that can be.
The explanation isn't hard. It's a graphical game. It uses custom shaders, as more advanced graphical games do these days. Those shaders don't with the same on different graphic chips. Android devices have a variety of different graphics chips in them. Other games programmers DO have the same issues with Android.
$thousands != hundreds of test devices.
Buying unlocked, as one needs to do for test devices (one can't support a contract for every test device.) Half a dozen devices is already in the realm of $thousands.
The platform is succeeding somehow, and I've gone into that elsewhere - its off topic here. But it certainly hasn't been succeeding on the strength of it's games portfolio.
Weird. When I search Google for "android custom shader", I find a bunch of sample code which doesn't ever mention specific graphics hardware capabilities. But I supposed I can take your word for it. It's a shame that Google failed to provide a portable API for games (well, a shame for someone - I don't care about games on cell phones). It's also a shame that this problem experienced by "all game developers" hasn't led anyone to write a library yet.
Of course Android has API for it. But that doesn't get around the fact that every graphics chip has different capabilities and different limitations in what it can actually do.
It's hardly unique, PC games get bugs on some graphics cards and not others, and due to differences in performance, some will have to have certain graphics effects turned off, etc. So PC games developers have to have a bunch of different graphics cards too for customising, testing and debugging, even though they're using DirectX or OpenGL. And sure enough PC game development is expensive.
iOS devices change graphics chip too, but you're talking one change per year. Not the 100+ variations per year of Android. It's far closer to programming for the fixed spec of a console.
The # 1 Problem with Android is that it's nobody's "Lead platform" ... not even Google.
Which is exactly the problem I had with stuff from EA.
Bought "NFS shift", found that it needed extra data files. Wasn't able to download the extra data until I had wifi, and then found out that it wouldn't download at all (the downloader or content site was broken for months).
Of course by that time the time-for-refund had passed. Within a week the comments had all become "piece of crap won't download content", but the rating remained high due to comments before the glitch.
Your MS Citation is about Xbox, which MS has been quite strict on. I can't speak for apple, but I have found the MS technet forums very good when the documentation falls short. Many forums have a few hotshots which may work for MS partners, or may be MS employees.
I write code for IDM / IAM though, so my part of the industry is a weird place. Developing interfaces to abstract security concepts across multiple platforms is inherently weird. SAP, RACF, SQL, Active Directory, and Unix all have a different concept of an ACL or Group, and open standards like Oasis and SPML only go so far. MS is just a little bit better at helping you work through a customer's not quite normal requirments.
If the return on that time is not as profitable as the return on, say, developing new games for iOS, then it really doesn't matter if 5% covers development cost unless you are doing this for the love of android. This guy is probably trying his damnedest to make a living developing mobile games and he is going to take the best profit for his time he can get.
Wrong. That's not what the Economists and Cost Accountants will say. Assuming he is in the business of making money, if net revenue is going to fall from leaving Android platform then he should continue to develop for Android.
You're assuming that things are constant, and are ignoring trends. As the OP said, what if Android sales are growing while iPhone sales are plateauing? If this were the case, then ignoring the fast-growing platform isn't necessarily a good business decision (of course, this depends on real numbers; exactly how much are the Android sales growing, etc.).
The simple fact that iPhone is only available on two out of four US carriers (and one of those only recently) makes me question the wisdom of focusing solely on that platform.
Explaining the problem all over again doesn't really fix it.
Not to mention, your post again highlights how this is an Android only issue. Windows Phone standardized their graphics hardware, so they don't have this issue. iPhone doesn't have this issue. OpenGL/DirectX doesn't necessarily have similar severity of issues. Neither do the gaming consoles (because by definition they're standardized.)
The argument seems to be "well of course the hardware has differences! That's the way Android was intended to be used!" In that case, Android wasn't really intended as a game platform, and Android fans shouldn't be surprised when game developers dump it. If Android wants games, they need to get their OpenGL drivers and hardware under control. Otherwise, their competitors are going to steamroll them when it comes to games, and Google will have no one to blame but themselves.
If Google doesn't care about game developers, that's their choice. But I'm just saying, don't blame the developers for the platform. If Google wants to make an open hardware/driver stand on principal, they should be willing to accept the consequences.
You're assuming that things are constant, and are ignoring trends. As the OP said, what if Android sales are growing while iPhone sales are plateauing? If this were the case, then ignoring the fast-growing platform isn't necessarily a good business decision (of course, this depends on real numbers; exactly how much are the Android sales growing, etc.).
Sure. But if the Android growth of app sales is accompanied with even more Android models, then it can be becoming even more of a problem for indie developers in spite of rising sales.
On the other side also have to consider that iOS release versions of a game or app from a single code base. And Android likewise can do it for Android phones and Tablets. So it's not just the phone market to consider but phone+tablet. And in tablets iPad is where it's at.
The simple fact that iPhone is only available on two out of four US carriers (and one of those only recently) makes me question the wisdom of focusing solely on that platform.
3 out of 4. AT&T, Sprint and Verizon all have iPhone. It's only T-Mobile that doesn't. And they are struggling and admit much of the reason they're struggling is because they don't have the iPhone.
In Britain all the networks have iPhone, and I think that's more typical around the world.
Go to any android store app (or...play now, or whatever. I liked the old icon better), and read the comments. They're almost always "I have issue X on phone Y"
What do I know, I'm just an idiot, right?
From the fine blog post (emphasize mine):
We spent about 20% of our total man-hours last year dealing with Android in one way or another - porting, platform specific bug fixes, customer service, etc. [] Meanwhile, Android sales amounted to around 5% of our revenue for the year, and continues to shrink. Needless to say, this ratio is unsustainable.
Uh... so what I said was accurate. Assuming they're supporting 2 platforms (Android and iOS), well, we still don't know the figures because that still doesn't tell use how much time was spent on iOs specific things (some part of those total man-hours must have been on common tasks, like artwork and payroll and stuff). The only (poor) assumption that could be drawn is that they spent about 80% of their total man-hours last year dealing with iOs in one way or another. There is no comparison unless they're spending equal or greater time on Android than on iOS (regardless of revenue), and nothing has even hinted at that being the case.