Battleheart Developer Drops Android As 'Unsustainable' 649
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.'"
Sounds fair enough (Score:5, Interesting)
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.
Re:Sounds fair enough (Score:5, Informative)
For these devices (mobile devices) though the problem is that
1) you have to go pretty deep into the guts of these devices to get the performance required. I would compare it to some of the tricks that were used in the first 3D shooters like Doom etc. in order to render properly.
2) Not all device support the whole subset of whatever environment you may want to use. I think that was the main problem here is that you program a specific shader through eg. the OpenGL interface (is that even available on Android?) and then device x comes along and the manufacturer decided to either drop or not implement that feature in their GPU in order to save costs, brainpower etc.
Re:Sounds fair enough (Score:5, Insightful)
That's not the real problem, if the GPU doesn't support a feature you can fall back to another implementation. The problem arises when they don't properly advertise what features are available. OpenGL has this in the API, but most mobile drivers say they support features they actually don't have.
Re:Sounds fair enough (Score:5, Insightful)
Ah no, that is also not the real problem.
The real problem lies with people who have the mentality that we should be even attempt to code 3D FPS games on devices that were designed to make phone calls and occasionally surf the web.
A tablet or cell phone is not a gaming machine. "Smartphone" is an oxymoron. And the only people trying to convince you otherwise are the people selling them.
FFS, get over it. It's 2012. Your fantasy about these being incapable devices ceased to be convincing three years ago.
Re:Sounds fair enough (Score:5, Insightful)
Have you looked at the specs of modern smartphones? Dual core CPUs are increasingly commonplace, with quad core on the way - in fact, already here in some of the high-end tablets. We're talking about Android devices here, not sub-£50 "feature phones". Comparing the tricks needed on this sort of hardware with what was required to squeeze performance out of DOOM-era PCs is an insult to the ingenuity of the programmers behind the early ground-breaking titles. OpenGL ES 1.0 has been available since API level 4 (Android 1.6), and 2.0 available since API level 8 (Android 2.2).
The primary language for Android development is Java. You *can't* go "pretty deep into the guts" from so high up; that's the very reason you can run the same bytecode on x86 and ARM devices. Yes, there's always the NDK if you really want to use C/C++, but if you stray outside the realm of the supported libraries then you deserve everything you get.
MASSIVE DISCLAIMER: I'm only just getting started with Android development myself. Still, I have to wonder how many of the problems lie with the platform, and how many lie with developers not really understanding what they're working with, assuming that the size and nature of the audience automatically turns mobile game development into some sort of free lunch.
* We all know that GPUs have driver issues, but don't rule out the possibility that issues are really to do with your own code: in my limited experience with OpenGL on the desktop, it's easy to write something that only works on certain hardware because you have unintentionally violated the spec, for example by setting something outside its officially specified range of values, or assuming some default piece of state which the standards don't mandate. Unless you're writing the next Unreal, this is more likely than uncovering driver issues with your 2.5D platformer or simplistic first-person engine. Keep your rendering pipeline as simple as it can be.
* Apps published on the marketplace had (until very recently) a size limit of 50mb. Anything above that had to be installed via a follow-up download within the app itself, which adds complexity, and increases the chances of failure. This limit has now been raised to 4GB, but before that, any developer blowing the limit ought to have thought long and hard about whether they really needed to before going down that route. Even if you get it right, there will still be scores of complaints from users who just don't understand that trying to download several hundred megabytes (non-resumable) over a patchy GPRS connection is just not going to end well, no matter how much care you take to warn them up front.
* I could be missing something here, but it appears to me that Android doesn't hand-hold your application through state management, especially if you're using OpenGL. This isn't just about saving basic state such as high scores, but the much lower-level business of simply writing something which is robust in the face of how Android handles multi-tasking. Read up on what events can and cannot cause an app's EGL context to get trashed, and what exactly you need to do when that happens. Remember the bad old days not so long ago, when alt-tabbing was a good way to crash full-screen games on Windows? Well, those days are still with us, just not on the same platform.
* Another good thing to understand is how to use the manifest. Declare what screen sizes and orientations you support, what texture format support you expect from the hardware, and so on. I have no evidence of this, but it wouldn't surprise me if some devices claim support for texture formats which they can't actually handle (those pesky GPU vendors), but hey, sometimes issues are out of the developer's hands - that's what trial versions are for, right?
I'm not saying it's easy. I don't fully understand how to navigate my way around most of the above issues myself, but rather than le
I would bet developers fairly often (Score:5, Insightful)
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.
Re: (Score:3, Informative)
you have to go pretty deep into the guts of these devices to get the performance required. I would compare it to some of the tricks that were used in the first 3D shooters like Doom etc. in order to render properly.
So the problem is them trying to get console like performance out of a large variety of phones? Sounds like they just need to accept that their game won't run on the low end.
I think that was the main problem here is that you program a specific shader through eg. the OpenGL interface (is that even available on Android?) and then device x comes along and the manufacturer decided to either drop or not implement that feature in their GPU in order to save costs, brainpower etc.
Yes, Android uses OpenGL. You query it to see if the GPU supports the stuff you want, just like most platforms. If it doesn't support what you want then you either degrade the graphics gracefully or device not to run. There are thousands of Android games that manage to do that, I don't know why this guy is struggling.
Re:Sounds fair enough (Score:5, Interesting)
Angry Birds is a bad example. When Angry Birds first came out, there was an official list of 20 Android phones that it wouldn't support, including some then current phones.
Right now they claim there are some Android phones that it doesn't support.
http://www.rovio.com/en/support/faq&support_device=Android [rovio.com]
Re:Sounds fair enough (Score:4, Interesting)
Actually, Rovio published a lot of stuff about struggling to support all the hundreds of different devices out there, and even went as far as publishing a list that they didn't support, because they just couldn't make it work right.
Seems to be common (Score:5, Interesting)
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.
Re: (Score:3)
I've had a few flat out crash. 3D is right the hell out as is any decently functioning 2D. I can't get gingerbread because samscum won't release it as they'd have to go with stock android rather than their execrable UI extensions.
"Pocket Gods" did the support fandango and got rid of about every cool aspect of the game for android as a work around rather than bothering to make it work.
If I want a game machine I'll get a desktop. I won't be buying another samsung phone and will most likely stay away from thei
Re: (Score:3)
You're barking up the wrong tree. The fact is, that nobody can earn any of my money with google apps, for the simple reason that google won't take any of it. I don't have a credit card, as do a lot of people outside of the USA. I could pay for apple apps, if I had any apple products by buying coupons at a local store for cash.
Don't you agree that giving you customers the ability to pay in a way that is even remotely convenient for them, is a bit of prerequisite for any income whatsoever?
Re:Seems to be common (Score:5, Insightful)
What's the point of targeting a base of three hundred million people who are statistically unlikely to ever spend money on apps? Better to target the numerically smaller group of people who spend LOTS AND LOTS OF MONEY on apps.
Re:Seems to be common (Score:4, Informative)
It may surprise people, but larger market share of the target platform doesn't always make for better sales. It's not just a marketing thing either. Much like Windows vs Mac vs Linux. While all three are simply operating systems. The reality is that the users behind them made their choice of OS for various different reasons. Just because Windows has a larger market share on the desktop doesn't mean it's a good target for every product. Same of course goes the other way as well.
A great example of this is movies. Where sometimes a movie will do horribly here and great in Europe, or a movie might be a blockbuster here but no one in Asian would bother to see it if you paid them. Larger population doesn't always provide any correlation to sales.
Re:Seems to be common (Score:5, Informative)
That didn't stop Windows.
As far as I know, MS never gave the sources of Windows to likes of Packard Bell and Compaq and then told them to go ahead and compile their own Windows as they like and sell the result as Windows.
Windows was always compiled by MS, had the same Windows API and the same UI. Only drivers were hardware-specific ... and who haven't had problems with them?
Coding for Windows was doable because you didn't need to test on every PC in existence. Video cards were the hardest nut to crack, and some games did fail on this or that card (I recall something about Far Cry and ATI, for example.) But then the game vendor dealt not with a computer but with a video card - and the number of GPU vendors was still manageable.
Even that was only a concern when low level access to the video hardware is needed. If all you care about is BitBlt then if Windows runs on the box then your software will run as well. DirectX and OpenGL are also convenient abstraction layers that a video card can be tested against.
How the free market works (Score:5, Insightful)
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.
Re:How the free market works (Score:5, Insightful)
Re: (Score:3)
And even EA can't seem to get their games working across Android devices reliably. I can't get Plants vs Zombies to run for more than two minutes on an Asus Transformer Prime with ICS.
Re:How the free market works (Score:5, Insightful)
I bought the game last year, and this article got me to thinking. I cannot recall when I last saw an update in the market for it. So, I pulled up AppBrain page for it, and see updates were coming in from May to July 2011. Then there has been nothing since. So, I have to wonder how many tweaks to the shaders and whatever they say they really did? I mean, they gave up on the game a long time ago. It hit 50k purchases in August, so there's $150,000 in sales made. Google takes what, 30%? So that's $105,000 minimum.
I know I've seen some nasty comments in the user reviews on the market, so I pull up their page there. I see 4991 four or five star reviews, and 383 one to three star reviews. That's just 7% of the reviews are bad. That looks quite good to me. Looking at the recent ratings, there have been many of the 196 one-star reviews posted just in the last couple of days. Since March 1, people have been giving it one star for not having updates like IOS has (Did that version just get an update?), which is an understandable sentiment.
Now, that's considered a failure for small-time developers? They really put in more time/effort on this than to make it a losing venture?
Wow (Score:4, Interesting)
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.
Context vs platform tweeking (Score:3, Interesting)
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.
Re:Context vs platform tweeking (Score:5, Interesting)
All mobile development is platform specific, whether you like it or not. Apple in particular always has an interest in making you develop for their platform only. The fragmentation of the market is deliberate and always occurs in the current *innovation space*. Same thing happened with web 'standards' (ECMAscript and W3C standards), same thing happened with 'operating systems' (until Java came and levelled most of the differences for the developers interested in doing cross-platform stuff), same thing happened in hardware.
At the mobile development is balkanized while the big players fight for turf. Who suffers? developers. It would have been nice to have proper Java work on the mobiles too (funny thing is, the early Apple devices actually had hardware JVM support, which Apple did not use) - that way developers would get a benefit of 'write once run everywhere, test everywhere' (which your JUnit and Continuous Integration environments help with - if you are smart enough to use them). However, every hardware manufacturer wants to do their own thing (just like sound, CPUs, disk drives, networking etc etc all used to have non-standardized interfaces in the past). The current mess on mobiles is Apple's fault as much as it is Google's. Face it, they just don't give a sh!t about developer needs, they just want to rule the mobile world and feel that trying to capture the market with non-standard interfaces helps themselves.
Re:Context vs platform tweeking (Score:4, Insightful)
using Unity? so the real news here is that Unity must be crap on Android because that must be the work of the engine developer. Why do they write about different textures types support on each handset and things like that? Unity must be able to abstract all that if they want to be called a cross platform game engine
Guys, it's not Android Market (Score:4, Interesting)
Re:Guys, it's not Android Market (Score:5, Insightful)
And that's a pretty stupid rename, IMO.
I go to the market to BUY stuff. I go to the playground to PLAY. If I were an Android developer I'd be very unhappy about this.
I'm over $10k in Android hardware. (Score:4, Informative)
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.
OpenGL is the problem (Score:5, Interesting)
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.
Re:OpenGL is the problem (Score:5, Interesting)
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.
This is complete nonsense. You're lamenting the loss of the fixed function OpenGL? This still exists if you really really want to use it, you just need to target ES 1.0.
No one does it use it, and no one recommends that anyone use it, because it's horribly inflexible. Programming with shaders lets you do just about anything that you want, giving developers unprecedented flexibility. This push came from developers and the GPU manufacturers, not from Khronos.
Yes, it complicates OpenGL tutorials a bit, but you can get away with using copy-pasted boilerplate when you're just starting out. Matrix math was always part of OpenGL, including the fixed function stuff, it's just a little more explicit now; that's not a bad thing, it helps make would-be OpenGL developers actually learn about matrix math instead of limping along with copy/pasted tutorial code using GLU helper functions.
"Unsustainable" How I start to hate that word... (Score:4, Interesting)
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.
Re:"Unsustainable" How I start to hate that word.. (Score:5, Interesting)
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.
Just take my money and shut up (Score:3)
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.
The guy is a known complainer (Score:4)
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?
Sad but true (Score:5, Informative)
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.
Re:Sad but true (Score:5, Funny)
So what you say, is that two mostly Java-based platforms have the worst portability of the bunch?
Though not surprised, I find that quite ironic.
Re:Sad but true (Score:4, Informative)
Clearly it's a Fragmentation issue: (Score:5, Informative)
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/ [techcrunch.com]
"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 [actionatadistance.net]
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.
From an Android OpenGL Developer (Score:5, Insightful)
Re: (Score:3)
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.
Re: (Score:3)
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.
Re:Wah wah wah (Score:5, Insightful)
Re:Wah wah wah (Score:5, Insightful)
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.
Re:Wah wah wah (Score:5, Insightful)
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.
Re: (Score:3, Insightful)
Re:Wah wah wah (Score:5, Informative)
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.
Re:Wah wah wah (Score:5, Interesting)
Battleheart's Google Play page [google.com] 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.
Re: (Score:3)
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.
Re: (Score:3)
Re:Wah wah wah (Score:5, Insightful)
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.
Re:Wah wah wah (Score:4, Insightful)
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.
Re:IOS is a nightmare to program on too (Score:5, Interesting)
Yes IOS can be a nightmare. When an IOS update came out all of a sudden my code stopped working. I had checked the changes to IOS and nothing should have caused a problem. I was doing everything the "safe" documented apple way and it still blew up. I got a fix uploaded and then Apple had the app store shutdown for the holidays!!!! My update was uploaded to the store days before the shutdown but did they clear the backlog? Not a freaking chance they shut it down and we had to wait for weeks with upset customers.
Re: (Score:3, Insightful)
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.
Re:Who can blame them? (Score:5, Informative)
Re: (Score:3)
Well, on the plus side, it's not like services worked very well on Android prior to 4.0. I was (and still am) amazed that there's no way to gracefully stop a background "service" [google.com].
Re:Who can blame them? (Score:4, Interesting)
That said, supporting only 3 -4 types of hardware, instead of thousands, is considerably more predictable.
Sorry, unless you are doing something really hardware specific, like certain OpenGL ext, you don't care about hardware. I can state out of 2 years of experience in android development. And if you're a game dev, then it's the usual "make your OpenGL code run better on a particular GPU" carried over from the desktop.
Android isn't the easiest, not is it bug free. Otherwise, I find your comment out of sync with what me and 3 Android developer communities I participate in have encountered.
Re: (Score:3)
Yes, flag me flamebait and continue to deny the issue.
People defending the status quo are people who apparently don't do real business. We've got a real developer on Android on the other hand, who has TRIED to support it. I best there are not many people in this thread that have done so.
Re:Who can blame them? (Score:5, Insightful)
Which is why they're making good money on the Apple market, right?
Re:Who can blame them? (Score:4, Funny)
You bet. Those folks are already used to spending two or three times as much on stuff that isnt even that great. Anyone could make money selling stuff to Apple consumers.
Re:Who can blame them? (Score:5, Interesting)
Which is why they're making good money on the Apple market, right?
They don't come right out and say that, in fact it seems unlikely given their great concern over investing "a few thousand" in test hardware. Which seems like a dubious claim anyway, because it probably costs them little more than an email to get sample equipment from any given manufacturer. In fact, the whole story smacks of spintroll to me. After all, who except Apple cares about what a boutique game shop does not attempt?
Re:Who can blame them? (Score:5, Insightful)
developers need 100's of different pieces of hardware to sort out android issues. or one new apple model a year.
Every android vendor is releasing 6-12 new models a YEAR. each one with different OS, hardware, and generic software configurations.
Those vendors charge each developer for every phone they buy. Why? because 99% of the developers don't have the reputation to earn free hardware.
Re:Who can blame them? (Score:4, Interesting)
The exact same argument is often made for "real" programs being windows-only.
If that's the kind of world you support, then of course you're right.
You can also see that Google is doing what it can to fix this, and so there's a good chance this will get fixed, even if maybe not tomorrow. You want perfect google support, it's clear which devices to buy. This year's model is the galaxy nexus. It's a great phone.
Re:Who can blame them? (Score:4)
This year's model is the galaxy nexus. It's a great phone.
And what, pray tell, would be this year's model for Tablet? Or the iPod analogue, which I typically use as a very small tablet?
Serious question here. I have no need for a cellphone, and no desire to tie myself to some overly corrupt corporation's data plan. I was considering a Kindle Fire as my not-quite-Android tablet of choice, but hey, if there's a more sane model, I'm listening.
Re:Who can blame them? (Score:5, Informative)
Re:Who can blame them? (Score:5, Informative)
As a developer, I can verify this. Some of them will send us phones, some won't. The cost of the phone isn't the big thing, the time involved in testing on each and every one is. Not to mention dealing with the enraged fanboids that raise hell about bugs in the app they pirated to begin with.
Android just isn't worth the effort. Your work is rewarded by getting ripped off and abused.
Re:Who can blame them? (Score:5, Informative)
[quote]You don't know that. And your wild exaggerations do not help you make your point, if indeed you have one.[/quote]
No, I can confirm that. I worked for a fairly major provider of white-label VOIP software, and we where mostly hired by telcos to produce VOIP apps branded to the telco.
In hundreds of those contracts I can not remember a single instance where the manufacturers of the handsets provided us with free handsets. Sometimes the *client* would provide one or two,
But considering that early Android versions had a very difficult hardware API (We could not use the old bridge-back-to-java trick because it introduced terrible latency) for audio that introduced subtle variations per model.
In the end all we could do was guarantee our work for a certain select range of handsets.
And the support calls would always be for some mysterious handset model we'd never heard of produced by some obscure chinese manufacturer that no, they would not give us a free handset.
If we couldn't get the freebies, and remember with android we are talking *hundreds* of variations here, sure as hell the obscure basement game devs wouldn't be.
And we'd still get paid more for the iphone apps anyway. And the only substantial differences we ever saw was that the older ones where a bit slow for certain codecs.
Re:Who can blame them? (Score:4, Insightful)
Funny isn't it. When iOS development is in question, $99 to join the developer programme is too much money. But when it's Android, spending $thousands on test hardware is neither here nor there. It's even waved away with fantasies of free test hardware for developers.
Android cheerleaders just don't live in the real world.
Re: (Score:3, Insightful)
Well, hold on a minute. It's $99 no matter what you want to develop.
I think spending "thousands" on test hardware for a company that is trying to sell what they are touting as a top-level game is indeed "neither here nor there".
Gee, I hope companies that are selling games are using test equipment. Otherwise, what are the odds that
Just because they don't make money doesn't mean (Score:5, Interesting)
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 [softpedia.com]
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.
Re: (Score:3, Interesting)
It's funny that that article makes the same point, that selling things through the Android Market doesn't really work well for developers, leading to them relying on the ad-supported model. I guess if you want ads, Android is the place to be.
Re: (Score:3)
Re:Just because they don't make money doesn't mean (Score:4, Interesting)
And yet, the PC (intel/amd + windows) is the only platform "serious" games are getting developed for. I think you're missing something.
Re:Just because they don't make money doesn't mean (Score:5, Interesting)
What happens when a Windows PC gamer doesn't have the latest video card to play a triple-A game with? Either the developer offers crippled code for low end systems or they get told to upgrade their hardware.
Why isn't this true on Android? Because people have different expectations of phones than of PCs still. I see it changing, and its not far away. It won't be long before people say "I need a new phone to play X, Y and Z" instead of "your app sux0rz it doesnt work on my fone".
Re:Just because they don't make money doesn't mean (Score:5, Informative)
I think you don't remember the early days of gaming on the PC. Diversity of product, thousands of different combinations of software/hardware, etc. It wasn't until well into the lifecycle of Windows that gaming got a boost with APIs, then even longer than that when video cards and other hardware got compliant with those APIs so that the only thing a gamer would have to worry about was how fast his/her GPU/CPU was. Youngsters probably don't even remember when PC games had beeps and boops coming from the mono speaker in the front of their machines, while C64 gamers listened to lush sound effects and music, thanks to the SID chip. Time marches on, and mobile gaming isn't old enough to declare a winner yet.
Mobile gaming is too young to call iOS the "mature" place to develop games. People laughed at users who wanted to play games on those PCs... and now who's laughing? People are laughing at android users who want to play games... only time will tell if Google has the stones to do what Microsoft did and turn the platform into a one-size-fits-all garden...
Not a walled garden where Apple employees tell you what is appropriate for you to see on your phone (in terms of games/apps.)
Re:Just because they don't make money doesn't mean (Score:5, Insightful)
You may want to actually read the site that you cite, because it doesn't support your claim, at all.
The author of the article said that the ad-supported version of Angry Birds makes more money for them than the paid version, and is only speculating that based on a predicted $1m in ad revenue per month. There was further speculation that this may be because Android's marketplace is limited in scope and "not too great."
Seriously - that leap you made to your conclusion is over an awfully large gap.
Re:What? (Score:5, Informative)
Here is exactly where your theory went 'splat': You're operating under the assumption that the iOS version of Angry Birds is only available as a paid app (hint: your assumption is bad - the numbers presented bear me out on that). There is zero mention of the revenue made in ad revenue from the iOS ad-supported version (if you assume that the purported $1m/mo. is all from Android ad-supported apps - any other alternative doesn't help you either).
The author's theory is that ad-supported makes more money than paid versions, but makes zero distinctions as to whether the Android version of the ad-supported app makes more money than the iOS version of the ad-supported app.
QED: You screwed up in choosing your cite, because it doesn't support your conclusion at all.
That isn't what the links says. (Score:5, Insightful)
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.
Additional article for the doubters (Score:5, Informative)
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 [wired.co.uk]
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.
Really? (Score:5, Informative)
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.
Re:Who can blame them? (Score:4, Insightful)
Hmm... Apple supports their products with updates and rewards their end users for staying current with better software and better apps.... I suppose that the downside to that is that you are SOL if you don't want to upgrade.
On the other hand with Android products you are just plain SOL because you don't get the choice to upgrade at all for the most part.
Re:Who can blame them? (Score:5, Insightful)
Apparently, a whole range of devs can't release a quality product on Android while they do just fine products on iOS. Coincidentally, it's all the devs that needs 3D Rendering.
Go figure. It cannot be that Apple's platform is much more leveled. Nah. Can't be.
Re:Who can blame them? (Score:5, Insightful)
As usual, the summary distorts TFA, but TFA clearly states that the developer's main complaint is a 50Mb limit to the download cache for Market apps. They then state that they don't want to commit resources to making game data a separate download.
Think about that for a scond.
This is not a challenging task, even for a moderately skilled coder - it's a solved problem. Now I have no doubt there's good reasons why this one developer can't support Android, despite 250,000 apps making it there, but the reason given in TFA is not the real reason.
In reality, what's happened is that Google, recognising the need for larger apps and data, has increased the size of downloads from the Market as Expansion files. They did this so they could track when large in-game downloads were completing, because unscrupulous dvelopers were using large/slow downloads to make sure the user had no opportunity to finish the download before the refund period expired. Now the Market tracks that the user has completely finished downloading large applications, then starts the refund period. Most newer devices should download expansion files automatically, but older ones download them when you first run the application.
I'm not suggesting that a developer with a poor quality port from a different platform might want to deny users the opportunity for a refund. Though, if they are really having trouble implimenting something as simple as in-game downloads, I might question the quality of their other work...
IOS is, but what does it matter here ? (Score:3)
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 game
Re:Who can blame them? (Score:5, Interesting)
The really disappointing thing is that it sold GREAT when the app was new, but while the dev continued updating the iOS app with all kinds of new levels and features, he chose to abandon the Android app and bitch and moan about the ecosystem rather than keeping the Android version on par with its iOS cousin.
Then he has the balls to wonder aloud why sales have dropped after that initial burst? Maybe if he'd updated the goddamn app anytime in the past eight months, it would have done a little better.
I disagree (Score:3)
Re: (Score:3, Funny)
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.
Re: (Score:3)
You, sir, owe me a monitor and a keyboard...
Re:He's wrong. (Score:5, Insightful)
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.
Re: (Score:3)
Re:He's wrong. (Score:4, Insightful)
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?
Re:He's wrong. (Score:5, Insightful)
Re:He's wrong. (Score:5, Interesting)
I was about to ask if you were thinking of the TabHost bug where clearAllTabs() [google.com] 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 [google.com] 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 [google.com] 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.
Please at least read the summary before posting (Score:5, Informative)
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.
Re:He's wrong. (Score:5, Informative)
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.
Re:What is (Score:5, Insightful)
If only your lack of knowledge meant the problem didn't exist.
Re: (Score:3, Informative)
Re:What is (Score:4, Insightful)
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.
Re: (Score:3, Informative)
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.
Re:What is (Score:5, Informative)
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... [gamepolitics.com] 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... [twinfinite.net] 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.
Re:Horrible Code (Score:5, Informative)
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.
Re: (Score:3)
Not the same. Different markets. And this is 25 years later. The market dynamics are completely different, and the choice of hardware that WIndows gave is not helping in this regard. Whilst many people will buy their Android phones and find them completely satisfactory, software makers have to choose between trying to make games work on as many handsets as possible to take advantage of the deep Android market, or intentionally ignoring a large portion of the market, not optimise their software for these han
Re: (Score:3)
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 Expa