Slashdot Mirror


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.'"

58 of 649 comments (clear)

  1. Sounds fair enough by lakeland · · Score: 4, 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.

    1. Re:Sounds fair enough by guruevi · · 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.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    2. Re:Sounds fair enough by Anonymous Coward · · 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.

    3. Re:Sounds fair enough by Karlt1 · · 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

    4. Re:Sounds fair enough by mangobrain · · 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

    5. Re:Sounds fair enough by zieroh · · Score: 4, 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.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
  2. Seems to be common by trawg · · 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.

    1. Re:Seems to be common by Swampash · · Score: 4, 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.

    2. Re:Seems to be common by tftp · · Score: 4, 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.

  3. How the free market works by 93+Escort+Wagon · · Score: 4, 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.

    --
    #DeleteChrome
    1. Re:How the free market works by Dunbal · · Score: 5, Insightful

      You don't get free markets with 800lb gorillas like Apple and Google in the room. Stop kidding yourself.

      --
      Seven puppies were harmed during the making of this post.
    2. Re:How the free market works by whoop · · 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?

  4. Re:Wah wah wah by digitig · · Score: 5, Insightful

    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?
  5. Re:Who can blame them? by KDR_11k · · Score: 5, Insightful

    It's not Android that's unsustainable. It's their business that's unsustainable.

    Which is why they're making good money on the Apple market, right?

    --
    Justice is the sheep getting arrested while an impartial judge declares the vote void.
  6. Re:Wah wah wah by BasilBrush · · 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.

  7. Re:What is by BasilBrush · · Score: 5, Insightful

    If only your lack of knowledge meant the problem didn't exist.

  8. Re:Horrible Code by KDR_11k · · Score: 5, Informative

    This article would be less FUD if it actually went into the reasons why the Android platform is unsustainable.

    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.
  9. Wow by Anonymous Coward · · 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.

  10. Re:Wah wah wah by MrHanky · · 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.

  11. Re:He's wrong. by Anonymous Coward · · 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.

  12. Re:Context vs platform tweeking by SplashMyBandit · · Score: 4, 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.

  13. Re:He's wrong. by the+linux+geek · · Score: 4, Insightful

    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.

  14. Re:Who can blame them? by Cute+Fuzzy+Bunny · · 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.

  15. Please at least read the summary before posting by l00sr · · Score: 4, 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.

  16. Re:Who can blame them? by Pieroxy · · 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.

  17. Re:Wah wah wah by unrtst · · Score: 4, 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.

  18. OpenGL is the problem by rhysweatherley · · Score: 4, Interesting
    ... but instead I was thanklessly modifying shaders and texture formats to work on different GPUs,

    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.

    1. Re:OpenGL is the problem by Suddenly_Dead · · Score: 4, 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.

  19. Re:Who can blame them? by Daniel+Phillips · · Score: 4, 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?

    --
    Have you got your LWN subscription yet?
  20. Re:He's wrong. by phantomfive · · Score: 4, 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.

    --
    "First they came for the slanderers and i said nothing."
  21. Just because they don't make money doesn't mean by manekineko2 · · Score: 5, Interesting

    It's not Android that's unsustainable. It's their business that's unsustainable.

    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.

    1. Re:Just because they don't make money doesn't mean by Penguinisto · · 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.

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    2. Re:Just because they don't make money doesn't mean by MikeBabcock · · Score: 4, 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".

      --
      - Michael T. Babcock (Yes, I blog)
    3. Re:Just because they don't make money doesn't mean by Doctor_Jest · · Score: 4, 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.)

      --
      It's the Stay-Puft Marshmallow Man.
  22. Re:Who can blame them? by uberjack · · Score: 4, Informative

    No, it's an unfortunate choice. As a hobbyist dev, I find Android difficult to follow. Since I started adding tablet support to my app (which included, among other things moving from SDK 4 to 10), my app's stability has considerably worsened, with various problems in Android's core that often make no sense. The SDK change introduced problems with about 10 different types of hardware that required painstaking, slow fixes, which are difficult for anyone but a company with a dedicated test team. Some of the changes in ICS completely hosed parts of code (including services), and required considerable rewrites. Apple's not without its quirks - changes in Xcode are ridiculously capricious, and not always for the best (e.g. storyboards). That said, supporting only 3 -4 types of hardware, instead of thousands, is considerably more predictable. Android's in a unique situation - it's attempting to be everything to everyone, which ultimately puts the strain on the devs. For people like me (who aren't even mobile devs by profession), this is extremely taxing. However, for companies that have staff dedicated to exactly this type of thing, this should be a non-issue.

  23. Re:Guys, it's not Android Market by St.Creed · · Score: 4, 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.

    --
    Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
  24. Re:He's wrong. by Alex+Zepeda · · Score: 5, Interesting

    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
  25. Re:What is by Svartalf · · Score: 4, Informative

    If you need anything beyond the currently supported standards, Microsoft and Apple are surprisingly easy to work with.

    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
  26. Re:IOS is a nightmare to program on too by LWATCDR · · Score: 4, 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.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  27. Sad but true by billcopc · · 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.

    --
    -Billco, Fnarg.com
    1. Re:Sad but true by ThePhilips · · Score: 4, 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.

      --
      All hope abandon ye who enter here.
  28. Re:Wah wah wah by maccodemonkey · · 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.

  29. Really? by chrb · · Score: 4, 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.

  30. Re:Wah wah wah by Americano · · Score: 5, Interesting

    What they ended up porting to Android was such a bug-ridden POS that it didn't seel at all.

    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.

  31. Re:Who can blame them? by peragrin · · Score: 4, 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.

    --
    i thought once I was found, but it was only a dream.
  32. That isn't what the links says. by guidryp · · Score: 4, 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.

  33. Re:Who can blame them? by BasilBrush · · 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.

  34. Clearly it's a Fragmentation issue: by guidryp · · Score: 4, 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/
    "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.

  35. Re:"Unsustainable" How I start to hate that word.. by Microlith · · Score: 4, Interesting

    So life is hard for developers, but in exchange the world gets a diversity of platforms and competition.

    I long to the days there was only windows with the Win32 API to write for.

    I don't. Nothing worse than a monopoly dictating the course of technology and allowing innovation to proceed only when they see fit.

  36. Re:Who can blame them? by ozmanjusri · · Score: 5, Insightful
    How about you respond to the comment instead of FUD spreading.

    As usual, the summary distorts TFA, but TFA clearly states that the developer's main complaint is a 50Mb limit to the download cache for Market apps. They then state that they don't want to commit resources to making game data a separate download.

    Think about that for a scond.

    This is not a challenging task, even for a moderately skilled coder - it's a solved problem. Now I have no doubt there's good reasons why this one developer can't support Android, despite 250,000 apps making it there, but the reason given in TFA is not the real reason.

    In reality, what's happened is that Google, recognising the need for larger apps and data, has increased the size of downloads from the Market as Expansion files. They did this so they could track when large in-game downloads were completing, because unscrupulous dvelopers were using large/slow downloads to make sure the user had no opportunity to finish the download before the refund period expired. Now the Market tracks that the user has completely finished downloading large applications, then starts the refund period. Most newer devices should download expansion files automatically, but older ones download them when you first run the application.

    I'm not suggesting that a developer with a poor quality port from a different platform might want to deny users the opportunity for a refund. Though, if they are really having trouble implimenting something as simple as in-game downloads, I might question the quality of their other work...

    --
    "I've got more toys than Teruhisa Kitahara."
  37. From an Android OpenGL Developer by psperl · · Score: 5, Insightful

    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!

  38. Re:What? by Penguinisto · · 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.

    --
    Quo usque tandem abutere, Nimbus, patientia nostra?
  39. I would bet developers fairly often by Sycraft-fu · · 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.

  40. Additional article for the doubters by manekineko2 · · Score: 4, 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

    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.

  41. Re:Who can blame them? by AmazingRuss · · Score: 4, 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.

  42. Re:Who can blame them? by sg_oneill · · Score: 4, 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.

    --
    Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  43. Re:Who can blame them? by Analog+Penguin · · Score: 4, 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.

  44. Re:Who can blame them? by sitkill · · Score: 4, Informative

    I can tell you don't work in the mobile sector. From my own company, we do heavy mobile development and we litterally have cabinets FULL of mobile phones. Not just one of each, we generally have the same phone with multiple versions on it as well. It's the nature of the beast. We've found issues that for device specific reasons need to be worked around. We catch a lot of the issues in our automated testing, but we do a sanity test on all major devices and revisions. Any that come up later on, we need a real world testing environment. I have no idea how you think Google can fix this, unless you thing Google is going to come around and start telling mobile handset developers to use X cpu, Y gpu, with no additional mods), with Z version. Good luck with that.