Battleheart Developer Drops Android As 'Unsustainable'
mr100percent writes with this excerpt from Electronista: "Battleheart's creator Mika Mobile in an update explained that it was dropping Android support. Google's platform was losing money for the company, since it spent about 20 percent of its time supporting the platform but only ever made five percent or less of the company's revenue. Much of the effort was spent on issues specific to Android, where the diversity was only creating problems rather than helping.
'I would have preferred spending that time on more content for you, but instead I was thanklessly modifying shaders and texture formats to work on different GPUs, or pushing out patches to support new devices without crashing, or walking someone through how to fix an installation that wouldn't go through,' one half of the husband and wife duo said. 'We spent thousands on various test hardware. These are the unsung necessities of offering our apps on Android.'"
Good choice
[sound of violins]
Too bad you had to actually do work to develop and support your app.
Battleheart? What? Never heard of it.
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.
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.
Just spent the week at the Game Developers Conference in SF and this seemed to be a bit of a recurring theme from having conversations with a couple mobile developers. The cost of supporting Android is too high in many cases and not worth the effort.
Once of the sessions I sat in on (can't remember who it was now, embarrassingly - I think it was PopCap talking about Bejeweled - not a bit player) pointed out that Android has many many variants on many different handsets. Even though the market size is roughly the same as iOS (his numbers were around ~250m each), iOS has way fewer variants to deal with, whereas Android had many. So you get to spend a lot of time messing around trying to make sure it's working on all platforms.
I've noticed from flicking through app reviews in the Market, it's not uncommon to see people with complaints about it not working on their particular handset. I haven't had this problem with anything I've tried so it's hard to tell how big a deal it is, but I don't use many apps.
The general feeling I got from speaking to a few indie developers was that they wouldn't bother doing an Android version unless their title turned out to be a big hit on iPhone.
Its not surprising. They have to support as many devices and configurations as possible while at the same time deal with people who either expect having something for nothing or very close to it. This is exactly why iOS games and apps are much more polished.
The developer feels he's spending more to develop for Android than he's getting back - so he decides to stop developing for Android.
I suppose that's interesting at some level, given past stories about Android developers not making money; but, in the end, it's just the free market operating rather than some amazing news item.
#DeleteChrome
How about "sales are significantly lower"? They say they're making about 5% of their income from Android with the remaining 95% presumably from iOS (I doubt that Windows Phone is a factor). That would mean iOS gets 19 sales for every 1 sale Android gets. If this applies to more than this developer then it's a real reason to make iOS software instead of Android software.
Justice is the sheep getting arrested while an impartial judge declares the vote void.
This is the kind of BS that was stated when Windows was competing with Apple, and yet Windows won. I'm not a big Windows fan, but paying attention to history has it's advantages. I have to wonder if the frag whiners are all inexperienced brats who weren't around during the Windows/Mac wars?
And I thought Apple fanboys were bad. Android seems to be garnering its own set of rabid followers who disregard reality in favor of their favorite.
I think you will find his complaint was that he was spending all his time making up for androids fragmentation and thus not producing content.
He uses Unity which is a great tool for doing much of the underlying work so the developer can focus more on the game. But if android is dragging him back to messing around with boring details (platform specific and multiple variation for that platform) then the cost/fun/productivity balance gets all wonky.
I feel the pain of devs who are used to the iOS one-size-fits-all method of developing. There are certainly problems with Android devices having so much variation from each other, and a baseline needs to be established for devs.
Still, where there's a will, there's a way. The PS2 was apparently extremely difficult to develop for - granted, for different reasons than Android - but since the system had such huge marketshare, developers made it happen. The same is true of Android to an extent,
iOS does have vastly superior frameworks for audio (Coreaudio) and other functions, and I wish Google would fast-track these types of frameworks to Android. However, iOS's frameworks were developed over the course of many years in OSX on the desktop, so they had a huge head start.
That said, as an owner of several Android and iOS devices, I have seen the reviews complaining that a game or app didn't work on a device, but I have very rarely run into these types of problems on my Galaxy S phones, now coming up on two years old.
Supporting Android apps is not that hard. You have OGL ES 1.0 and 2.0(+). If you keep these two versions apart and do not mix em up, you'll be ok. Considering the difficulty the couple is having (assuming their platform of choice is iOS), they might as well outsource the Android port to someone that knows knowing the odds and ends of the platform, instead of wasting precious time and resources.
It's true, Android can be a PITA, but not so if you know what you're doing (as with anything else in life).
That's what I read at first...
Sale's would be better if they didn't release a shitty port.
Keep trolling bro. Someone is bound to believe your fandroid bullshit.
it's Google Play now. Get with it.
It isnt even a port you moron. It is literally the same code. They use Unity for development. Don't comment if you dont know what the fuck you are talking about.
Sale's would be better if they didn't release a shitty port.
Have you actually tried the product in question?
Of so, please tell us why the port is shitty. If not please STFU.
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.
...screen resolution. There is virtually no difference coding between Froyo, Gingerbread, Honeycomb, or the (largely unavailable) Ice Cream Sandwich. The problem is it take a decent programmer to work around different screen resolutions and most studios really can't be bothered.
I have to take issue with the comment that 'you have to invest thousands in hardware' because that is just bullshit. Really you just need to buy a $150 low end Samsung phone and you should be able to do just fine. Your development suite is free and is natively supported on a free operating system (Ubuntu). Lets compare to Apple where the premium hardware will set you back thousands just to get started.
The studio probably did nothing to promote their products. I've certainly neither of their two titles. It really isn't obvious why they even need OpenGL for a 2D game so why are they moaning about changing texture shaders. And complaining about a 4GB download limit?
Seems like they never really made the effort. I am SO TIRED of Apple propaganda.
One less shitty paid app on Android.
Seriously, Android do not need them. Android, as a platform, is doing fine, getting about 50% of worldwide smartphones sales. There are more free apps on Android than on iOS. I really don't see what the problem is. It's not as if Android was going to disappear because of the lack of paid games.
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 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.
This is just an excuse. If you're not making money it's because you aren't doing a good job at running your company and making products that people want. People making 2d cheesy games that are fun don't even have companies behind them half the time and do it only in their spare time and still make a decent amount of money. Hell, I make one app (not a game) that only targets a single phone and I bring in 300-600 a month. Maybe you need new programmers that can do what you're actually paying for, or better ideas.
But the proliferation of so many different devices is not only causing problems for this particular software developer. The so called cross platform web-application is getting harder to test as well.
Windows (Various versions), Linux (Various versions), OSX (Various versions), Android (Various versions)
each running
MSIE (Various versions), Firefox (Various versions), Chrome (Various versions), Opera, Safari and many other browsers
And somehow developers are to write an application that runs on all these combinations. It is a bloody nightmare. I long to the days there was only windows with the Win32 API to write for. Good debuggers, great IDE's and mature software dev tools. At the moment it is one steaming pile of disjointed crap.
Which is why they're making good money on the Apple market, right?
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.
Most mobile purchases are impusle. Like when you're stuck waiting a long time or trapped in a car on a long drive. The people that drive the market are not going to have any luck installing from untrusted sources. Yeah, for a /. poster it's easy as falling off a log, but joe & jane average just get lost in the menus. Now, what that says for the average mobile phone user I won't bother commenting on, but the model is sustainable.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
Sorry, but I don't have a credit card and I couldn't pay for any google apps however much I wanted to. I can't buy coupons for google market/play with cash, I can't use wire transfer, I can't use paypal ...
It's not the quality of the apps, it's not the quality of the handsets, it's not the screen resolution or any of the other canards serving as reasons. It's the business model.
Just take my money and shut up.
very little is done for you. You'll be writing tonne of low level code you just don't need on Android. Read blogs from the guy who made Gratuitous Space Battles for more detail on this. Basically, since there's so few different iDevices you can get away with damn near writing to bare metal. If you've put the time in to do that, great. But if not Android is a nice platform.
Besides, it'll catch up on the next gen unless you're targeting the low end (like my Hauwei Ascend II from Cricket). Give it one more hardware gen and all this crap will go away.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
No, they have dozens. You can't just look at the OS version, you have to look at the hardware, and the manufacturer modifications. As an example, the Kyocera Milano has a weird hardware bug where sometimes the clock goes backwards. Really tough bug to find. A lot of the Tegra devices have unusual graphics problems where only one process can open the framebuffer at a time. There is a lot of variation in the video hardware, actually.
Now, if you stay in the Dalvik VM, you don't have to worry about most of that. You only have to worry about different screen sizes and API versions (and you never know what weird thing will pop up.....for example, on the Xoom, gradient-buttons default to white text, whereas on most other phones they default to black text. Then if you have a mostly white gradient, you might be left wondering what happened to your text). But if you are writing graphics applications, you leave the VM, and then you have to deal with hardware issues.
You sound informed, like you've actually done some Android development and are aware of the pitfalls. You do realise your type isn't welcome around here...? :P
Actually, what I think he is saying is that he makes 95% of his revenue from iOS yet spends 20% of his development time bug fixing Android versions, so he is dropping support for Android because it represents an insignificant market for his software. That's a financially reasonable position to take.
Even if his position were, "I'm a shitty developer who doesn't know Linux, but I know iOS, and I make 95% of my money from iOS so I'm dropping Android, that would still be a financially reasonable position to take.
I'm sure you didn't buy his software anyway, though I did on iOS, and quite enjoy it, so what's your bitch?
He's always had something negative to say about Android, but when the problem is addressed he does nothing to make use of the fixes. There are plenty of other developers who do just fine on Android and manage to not only support their apps but release new versions of them as well. Maybe they're just more talented?
All of you who are saying this developer and their code just sucks, you've never written any significant mobile apps, have you ?
I work with IOS, Android, Blackberry, WinPhone7. IOS and Win7 are a walk in the park, compared to the other two. IOS, specifically, has stellar compatibility across all devices. I only encounted a single issue with one of my apps, when upgrading to IOS 5, and it had to do with some marginal code I was using, whose undocumented functionality had finally been obsoleted. The fix took all of 15 minutes to research and implement. Most importantly, I only need to design for two sizes: phone, and tablet. If I'm lazy, I can skip the tablet, and let it scale things proportionally. This isn't optimal, but for some apps it's sufficient.
On Android and BB, there are as many display sizes and feature sets as there are devices. Your app might look fine on your emulator and personal device, but be completely out of whack on another, so you end up having to collect numerous devices and installing a dozen emulators to cover any significant portion of the user base. Let's not forget that these emulators are horribly slow and unstable, so if I have to test and debug a build in 10+ different environments, there goes my afternoon. That's for one build! It's quite simple: for Android or BB, I typically take the IOS budget and double it. If I were writing 3D games, I would probably quadruple it because now there are countless GPUs to target and no good middleware available to abstract away those differences. Android and BB development is at least 10 years behind, in terms of comfort and convenience. It often reminds me of writing DOS software.
Windows Phone 7 is actually not too bad. For anyone experienced with Visual Studio, it's a very familiar workflow and has much commonality with IOS development. It's extremely fast to work with, and you can get a good sense of how your app will scale, just by resizing the workspace as you're designing it. I don't care much for the platform itself, but I don't mind developing for it - I find the toolset quite pleasant.
-Billco, Fnarg.com
Which is why they're making good money on the Apple market, right?
Are they? How much money are they making on the Apple market? How much of their time is spent supporting the Apple platform? How are other developers able to make money selling Android games if the platform is "unsustainable"? TFS says:
it spent about 20 percent of its time supporting the platform but only ever made five percent or less of the company's revenue
Why didn't they just reduce the amount of time they spent supporting the platform? What other platforms do they sell on? Why are Android users 5% of revenue? Why are they having these random issues that other developers don't seem to be having? Why do they claim to be "modifying shaders and texture formats to work on different GPUs" instead of using the standard APIs? Why are they walking users through failed installs instead of fixing the bugs in their installer? Why did they architect their game so that a 50MB download wasn't enough? Why do they insist that they can't modify their software to support more than that, even when Google is offering 4GB of free hosting? How come they claim that Android takes up 20% of their time, when in their own words "Battleheart was an effortless port (to Android)". Why does he diss Android when in an earlier blog post he said, "Being featured on the Android Market is similarly lucrative to being featured on iTunes: we saw almost a 300% sales increase this past weekend thanks to the feature on the store.... We're currently #16 on the top paid list for android. Assuming the charts are based strictly on volume, the same volume of sales roughly equates to the top 80-100 on iTunes's iPhone chart. Not bad..... Daily revenue from Battleheart on Android is fairly close, within 80%, of it's iOS counterpart at the moment. "..
How did this even make it to Slashdot? This blog (yes, blog) has 17 posts - ever! A blog with 17 posts in two years! Wow. And yet this is supposed to be some important, significant information source, which we can base our future decisions on. Yeah.
One last quote from the blog... "Edit: Just to be clear (since I'm getting more traffic than expected), my experience with Android has been overwhelmingly positive, and I have every intention of continuing to support the platform. " Hmmm.
That's a good point; getting web-apps to work in all browsers (as a one-man shop) is a miracle. One difference with web development is that you can buy *one* Windows box and run all the browsers you listed; with Droid dev, you need to buy or borrow each device if you want to make sure complex stuff, like OpenGL, works. I find the emulator doesn't always match real devices -- and that goes both ways, good and bad.
This is what open hardware gets you, a plague of compatibility problems. Anyone working with PC's knows how different chipsets and hardware combinations can lead to unforeseen problems. It seems in vogue to hate on Apple all the time, but having strict hardware really does make things simpler for developers and also end users.
The multitude of platforms and versions and screen sizes is maddening. It's an enormous pointless time sink.
The only solution is to go back to a "write once, run everywhere" platform. Beef up HTML5 and run with it.
He uses Unity, I believe. This limits his interactions close to the metal. Do far I've found unity to be pretty compatible acrosss handsets. But who knows what he was doing or the issues that he ran into.
We're about to release Temple Run on Android .... And we may be in for a similar dismal time. The title is huge on iOS. I
Expecting Android users to like what we've done.... But who knows at this point.
Imo: Most android apps are bug-ridden because their developers do not give a flying f*ck about the actual quality.
I did a little experiment by publishing a free app on the market. Within 5 days i had 1.2k active installs, 10 crash reports evenly split across 250.000 web service service requests. Now, comparing my crash rate of 0.004% with crash the average free Android app...
Useless to say that I did publish a "premium" with an insane price tag of $2.61 (by Android standards), earning me $70 before Google canned it for some copyright issue.
Lessons learned:
1) Proper quality releases will earn you trust and money
2) Stay clear of anything Google might not like and/or interpret as "bad"
Duh...
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.
That's of course true for some apps, but not really for games that depend only on finger input and 3d rendering. Monoculture greatly reduces support costs is one of the few true arguments that Microsoft made in support of it's windows-office platform.
The same is true on the windows platform for games. We only have high-production 3d games for windows + xbox and ps3 these days, because you can do that coding against directX and 1 gpu. The other platforms, including at the moment ios, just get scraps.
For games, this seems to be a big point.
Sounds like pretty clear case of a fragmentation issue.
From TFA:
'I would have preferred spending that time on more content for you, but instead I was thanklessly modifying shaders and texture formats to work on different GPUs, or pushing out patches to support new devices without crashing, or walking someone through how to fix an installation that wouldn't go through,' one half of the husband and wife duo said. 'We spent thousands on various test hardware.
It isn't a case of poorly skilled devs either; this is backed up by other Game developers like Epic and id that are avoiding the platform as well:
Carmack(id):
http://techcrunch.com/2011/04/15/john-carmack-ios-still-better-than-android-for-mobile-game-development/
"Android is far too fragmented to develop for, both from a hardware and software point of view. "
Sweeny(Epic):
http://actionatadistance.net/post/4386288135/sweeney-android-fragmentation
Says Sweeney, "When a consumer gets the phone and they wanna play a game that uses our technology, it's got to be a consistent experience, and we can't guarantee that [on Android]. That's what held us off of Android."
Fragmentation is a real issue. Less so when you developing a web type, text app with some 2d bitmaps, but when you are developing more complex games and you are trying squeeze performance from the platform, fragmentation has a significant negative effect.
Because apple has started using microsoft/facebook tactics and pays people loads of money to badmouth google ?
Java is a triumph of marketing, and a failure at language design. It works on the principle of amplification. If you take a language which is designed to be pedantic and unfriendly and try to write tools that are friendly you will fail. If you try to take the tools and write friendly software the problem will only compound. As Mythbusters proved, you can indeed shine shit if you work hard enough, but shit it remains. And it's rare that people have the dedication to really polish their java.
None of the Popcap games I bought play correctly either on the Droid original or the new Droid 4.
One of the benefits of Linux is that its been pressed into service on hundreds of different architectures, running multiples of different hardware on all of those architectures. There is a uniform architecture layer that optimizes the use of the hardware and interfaces with the rest of the software. Writing code for one device is dead easy compared to writing it for 500. Bugs get found, reliability goes up. "We can't support all the different kinds of blah blah" means they are good for a single architecture only. It really means "we managed to write enough hacks to get it working on one platform. So long as it doesn't change, we are good to go. Otherwise the software is fragile." From a business point of view: cut losses make profits. From a technical point of view: it was crap software anyway.
So life is hard for developers, but in exchange the world gets a diversity of platforms and competition.
I don't. Nothing worse than a monopoly dictating the course of technology and allowing innovation to proceed only when they see fit.
The article says, "Angry Birds Makes More Money from the Free Android Version than from Paid Ones".
It continues, "But one of the most popular apps of all time, Angry Birds, is actually seeing quite a lot of success from its ad-supported version versus the paid app...On Android devices though, the game's maker, Rovio, went with an ad-supported model rather than selling the game like on the iPhone."
The only "paid ones" or "paid app" referenced in the article is the iOS version, so that makes the statement into free Android version makes more money than iOS version.
What are you talking about?
My conclusion that Angry Birds makes more money on iOS than Android is directly from the article's title (hint the paid ones referred to in the title are clarified in the body to refer to "selling the game like on the iPhone").
What you call "speculation" that predicts they will make $1m in ad revenue per month is directly from the CEO of Rovio, the company behind Angry Birds. I quote: "The Android version of the game has been downloaded 5 million times and Rovio is on track to generate $1 million in revenue per month by the end of the year, according Rovio's Peter Vesterbacka."
I am the author of projectM, a much more complex graphical application that the game in question here. Android fragmentation is an issue for me, but ONLY because of live wallpapers. The "standalone" version of my app is amazingly consistent across the different Android GPUs. I suspect their developers are not very experienced with OpenGL and shaders. The entire point of OpenGL is to abstract the GPU away from the developer. It works. projectM is profitable. What I take from this article is that an iOS port could bring me to Apple levels of profitability!
My app doesn't make any money either, although I made money on iOS and Bada. The problem is with Android market, it focusses on free and ad sponsored.
Without any impartial review mechanism, paid for apps are often crapware and so people are reluctant to buy. Peer reviews are often nothing of the sort, they're either astroturf from the developer or negative FUD from a competitor. So you can't rely on what the 'user' reviews says. I'm as guilty of this as anyone, I won't pay for Android software.
It was a gold rush I think, app developers piled in with quick mocks ups, didn't make money, made their software free/add sponsored, still didn't make money and you see a lot of software just rotting, but still there, still free, still making it not worthwhile to try again in that app field.
I think there needs to be a trusted filter, a badge system that Google itself with its own reviewers flag saying 'this software has been reviewed and we liked it'. At the moment they have a few staff picks and those sell, but nothing systematic.
paying attention to history has it's advantages
Not the same. Different markets. And this is 25 years later.
Not necessarily disagreeing with your substantive points, but that is a mildly hilarious way to disagree with the argument that we should pay attention to history because it repeats itself...
I bought a book set years ago on Win32 and the MFC after learning general C++ in a college course. My GOD, ugly and complicated compared to Java Swing and certainly easier with web development.
I am trying to learn the ins and out of IE 6 right now as I am making an e-com website without much luck. I found a great CSS book that talks about IE 6 but not 7 which I imagine businesses are using as some sites are now refusing IE 6 support, but still support IE 7.
Sure, with IE 6 things wrapped around elements that shouldn't, the outer padding in the box model isn't supported and you need zoom to let IE 6 even know it should at least try to position elements on the page, but it works. Just with a few tricks. It is not too bad compared to the many bugs and strange Hungarian notation in MFC.
Even with these strange behaviors (do not know about IE 7 yet, other than it is picky on what gets moved in css rules as it can't figure out margins on its own) it is still much quicker and easier.
I looked at the Andriod SDK API and it is shallow and neutered. You can't do much with it on purpose which is why no good anti virus scanners exist for Andriod yet as they just scan existing apps and an exploit can execute underneath undetected. My guess is with Andriod you need to hack it with a buffer overflow or heap stack as the java api is next to useless unless you use it for basic things like HTML 5 goodness. While Google wants their apps to be easier to develop they crippled power users and I can only imagine the GPU situation between the devices. A Galaxy S will have an awesome GPU, but the $79 el chepo by Tmobile probably does everything in software to cut costs. So you need to program all those scenarios in.
Better HTML 5 and webGL is needed but even that is basic functionality. I would rather develop websites than deal with the horrible inner works of Windows anyday. Maybe .NET would change my mind but it seems you need tons and tons of code to get anything done with bugs that look like plain crap when you are done with win32 unless you use .NET
http://saveie6.com/
In my experience new developers are very bad at adapting to new ways of doing things and very good at blaming the system for their own problems. They'll do something that is not the right way to do it on this system, hasn't been for a long time, is documented on how to do it, and then blame the system.
Two of my favourite examples of developer laziness:
1) Lack of 64-bit apps for Windows. While I realize most apps don't need to be 64-bit, and 64-bit Windows provides flawless 32-bit support, you should still have 64-bit version available. They do run a tiny bit faster and it is just the right way of doing things. Let's start getting rid of the legacy stuff. What's more, it isn't hard to do, at least according to the developers I hang out with. You set the compile target for 64-bit and go. Maybe a couple things to correct but all in all the compiler takes care of the details. However most don't. The reason is they were doing shit in the code they never should have, like casting pointers in to 4 byte integers and so on. They write bad code, and it makes 32/64-bit porting a problem.
2) Drivers. Back when Windows 2000 came out, it introduced a whole new audio driver model, a much better one, called WDM. It supported the old NT drivers for legacy, but WDM was the way to go. Well the pro sound card I had wasn't getting WDM driers. They claimed WDM couldn't work for pro software because of a built in delay. That sounded wrong so I checked the docs and sure enough, there was a mode (KS) that bypassed it. Finally the driver came out and supported only 2 of the 8 channels. They claimed it was a limitation of WDM. Again checking the docs revealed that wasn't true. Eventually they got a fully working WDM driver but it took a long time, over a year, and much blaming the new format.
So I could see it often being the case for Android too. Developers know one way of doing things, it asks you to do things a different way. Developers ignore that and do it their way, and it leads to problems.
While I'm not saying Android is 100% blameless here, you need to make sure you are doing things the way the platform wants, regardless of if that is the way you like to do things.
Finally there's just the fact that people need to accept that maybe mobile phones aren't as profitable as they want them to be. Yes I know, Angry Birds made eleventy kajillion dollars. You aren't angry birds, you aren't going to make so much. Some people have the right combination of luck, timing, and talent to make a shitload. Many others will not make a ton. That's life.
It is the Hot New Thing(tm) and as such you have people rushing to it. This was also helped along by Angry Birds. Rovio had been around before but nobody had really heard of them. Then suddenly they release this game that just becomes MASSIVE. They made staggering amounts of money, and on not a ton of investment. Way less than a normal PC game.
So this leads to fools rushing in. They decide it means the market is one where a small amount of investment can lead to massive profits. They ignore that the magic lightning rarely strikes twice.
We had a student that was all on that. He was a Mac fanboy so iOS was his thing but that is what he wanted to do. Not be a developer, be an iOS developer. He was that as the way forward, that desktops and laptops were dead, etc, etc. He'd decided that mobile was all he liked, and yes Angry Birds was an inspiration for him. I just smiled and laughed.
In the end he was hired by Apple, which made him happy, but not to develop iOS apps.
He didn't try to support linux!!!
If 20 percent of your time costs more than 5 of your revenue you are failing no matter what.
Got a lot of flack from people for the quality of the article and arguments over the nuances of the words of the article that are completely throwing the discussion off-track.
Here is a much more recent, much more professional article on the subject of Angry Birds revenue:
http://www.wired.co.uk/magazine/archive/2011/04/features/how-rovio-made-angry-birds-a-winner?page=all
Let's discuss this one instead:
Rovio has had 20 million paid downloads for the iPhone and iPod Touch, and 20 million ad-supported downloads on Android. Ville Heijari, Rovio's spokesperson (the "bird whisperer") says both generate similar revenues.
One of the top-selling apps ever on the iPhone generates similar revenues on Android. Here, the wording is vaguer so maybe the iPhone is making slightly more, maybe Android is making slightly more, but with regards to my conclusions these tiny ticky-tack details doesn't matter.
I maintain my original conclusion, which is that while Battleheart's developer could not make their business model work on Android, some people are making tons of money by switching to different business models in a changed environment. In light of this, I state again, it's not Android that's unsustainable, it's their business model on Android that appears to be unsustainable.
That would mean iOS gets 19 sales for every 1 sale Android gets.
It smacks of wild exaggeration.
Have you got your LWN subscription yet?
In the two weeks since starting my new position as a senior graphics engineer at a middleware company that shall blessedly remain nameless, I have heard about or directly seen:
- Drivers that crash if you try to actually use all of the texture formats they claim to support
- Drivers that crash if you try to use some of the GL ARBs that they claim to support
- Drivers that claim to support a given GL ARB and instead default to a software path
- Drivers that report supporting 128 shader uniforms but crash if you try to access anything past the first 64
- The fact that not a single Android device that has come out so far is *actually* point-for-point compliant with the requirements for OpenGL ES 2.0, yet they have no problems claiming to support it nowadays.
GPU support on Android is a fucking shitfest, and I've managed to learn this in all of two weeks at my new job.
But surely, it must somehow be Apple's fault, or the developers' faults, right?
I suspect they just want to point fingers and absolve themselves of horrible coding practices.
I suspect they made a legitimate decision to consolidate their development effort in light of not making very much money on either platform, Apple PR droids got wind of it, and next thing you know there is a rather obviously lopsided article planted.
Have you got your LWN subscription yet?
The days are numbered where we'll need a special-purpose OS just for "mobile". I'm much more interested in things like KDE Plasma Workspaces, which is essentially designed to provide different user interfaces to the same apps, depending on whether you're on a desktop, a laptop, or a tablet.
The Android APIs should be such that an app developer need not know about what the underlying hardware is.
Wow, did you just crawl out of a cave and think its 1999?
I haven't thought of anything clever to put here, but then again most of you haven't either.
I'm just old and liked things the way they were before the birds got angry and moved to a screen I can't read.
Sorry, but gray text on gray background is making my eyes bleed.
It never gets old.
Am I the only one who read the headline 3 times trying to figure out why the guy who made a movie over 2 decades ago has a valid opinion on smart phones?
/never heard of the game, or the developer.
//I'm sure his stuff's good, I'm just out of the loop.
Pulp Audio Weekly - Geek News and Reviews
I wondered why nobody makes applications for Windows or Linux.
Yes, Windows is the only 'serious' platform to develop for, as I am sure Android will eventually be, but for now Android is more akin to DOS, you better have your autoexec.bat and config.sys setup properly or the fancy new game won't have enough memory to run.
My first reaction was to blame the coder. I haven't had a big problem with either mobile platform, so my gut instinct was to say there was a technical reason for the failure.
But it's not technical; it's financial.
The guy made his game work. He patched the problems. Offered tech support for the problematic installs. He's working on another game, so if it were simple lessons like using a different API or third party library, I don't think we'd be reading his letter.
And to be clear, I wish it were that simple. As a coder, I want all problems to be solvable by better code. But this one seems to be one of economics. Heck, even that may be overstating it, it may just be a matter of bookkeeping. And that does prick my attention. Despite whatever coding horror I write myself into, I really have much bigger fears of an accounting horror.
I'm don't take his letter as a warning about coding difficulties for developing for Android, but I am taking it as a warning that I need to be very careful in my accounting. It very well may mean hiring a testing service (rather than me mess around with my 2 Android devices). It may mean hiring a part time coder to work just on tweaking for the different platforms (a skill unto itself).
But I am glad I read the letter. I have a release coming up in six weeks and, if I'm honest, I have to admit I hadn't quite thought of the release cycle being quite this way. To the author, sorry for your experience, but thanks for your warning.
A million versions of Linux vs one solid base built on BSD.
What do you expect with a Java-based Android? Write-once, broken-everywhere,
I grow tired of developers crying that the Android landscape is too vast for them to support. This diversity is not unlike PCs over the last 20-30 years. IBM compatibles could have any combination of memory, graphics & sound cards, with either a mouse/joystick or just a keyboard. Back in the 8-bit days, sure most of the machines were either 6502s or Z80s, but the per machine specs (Atari, Commodore, NES, Apple, Spectrum, etc) varied greatly and the developer had nothing like abstraction layers/libraries like OpenGL, Coco, or a VM. Particularly in the 8-bit days, individual or small team indie developers flourished.
What the developers didn't have what we do today is the Internet and massive online outlets like Android Marketplace and the App Store. Meaning, the real advantage of both platforms are the same--massive publicity.
So, let whatever developer who wants to cater to a single audience do so while the truly passionate and skilled developers reap the benefit of targeting nearly every platform simultaneously. There are good ways of tackling the bear of supporting multiple hardware, but it involves practices that, although proven to be effective, are seemingly undesirable to coders with too much pride.
"So don't get programmed by anybody but yourself" --Bill S. Preston, Esquire
FTFY
You're welcome.
(T)he (O)ld (M)an
The interesting thing that nobody is bringing up is that this situation seems like a good candidate for class action lawsuits against any phone manufacturers that *claim* a certain level of OpenGL compliance, but aren't actually delivering on those claims.
The problem as I see it is that most consumers are not in a position to actually test and verify if their handset is compliant with the technologies it claims in the products marketing materials, and most developers probably aren't interested in this issue because they aren't likely to get much payout on the lawsuit over the one or two test handsets they purchased.
But, developers working together to provide "expert witness" testimony in a class action lawsuit might help lawyers craft a suit which forces handset makers and mobile networks to release operating system updates that they might otherwise never release, to fix these problems (the mobile phone industry, right now, seems pretty notorious for not releasing OS updates for handsets).
The benefit for the developers might just be a better market for them to sell their wares into.
We've all heard the quote, "The best camera is the one that you have with you." (The Internet seems to attribute this to photographer Chase Jarvis). Well, the best computer is the one that I have with me. Sure, my pocket sized Linux based mobile computer which also makes phone calls is far from ideal for gaming, word processing, etc., but it's perfect for when I'm bored at the train station or family reunion or whatever.
In a fast-paced lifestyle, people want a device that can send and receive content and entertainment a few minutes at a time, then go back into their pocket on standby for the next 2 minutes of free time. So, while my laptop might be better suited for many things, my phone is what I use. Some newer phones now are capable of docking with a "lapdock" which essentially turns the phone into a laptop computer with full sized screen and keyboard. With mobile processing power and network speeds increasing rapidly, this new use of mobile phones can easily replace the laptop/netbook/tablet that many people lug around.
For those griping about battery life, you do have a point, but I would counter with this: even with my dual core 4.5" display fancy new cell phone, if I shut off background services and turn off data (essentially reducing it back to only cell phone and PDA functions), I can easily get 2-3 days on one charge.
What I'm saying is, stop thinking about cell phones as such, the name "phone" is just a legacy at this point. They are rapidly evolving, ultra-portable personal computers and entertainment systems. Sell a high quality power drill and call it a "Margarita Mixer", and your customers will bitch that it is a crappy margarita mixer.
THE JOYS OF LINUX DESKTOP FOLLOW US TO MOBILE. Thanks google I know you could fail at making linux usable like everyone else.
Doom used 320x200x256 mode on the standard VGA graphics hardware. All the rendering was done in software. There was nothing complicated, whatsoever, about their interface with the graphics hardware itself. It took about 3 lines of code to set up that video mode, and a few pages more to do the double-buffering properly.
a more accurate analogy would be the situation that high resolution programs had in the late 80s and early 90s on DOS, where every program came with it's own set of graphics drivers because there wasn't any standard beyond the standard BIOS modes (320x200x256, 640x480x16, etc), and every manufacturer was putting out its own special system.
the analogy is a good one.
you have one system where there is a lot of diversity (Wintel 80s/90s), and things break, and another system where there is less diversity (Mac), and things work.
the big difference is that Wintel on PCs in the 80s + 90s had a huge price advantage over mac, which was why a lot of people bought them.
does android have a huge price advantage over iphone?
because then we get into the third analogy.
linux desktop has a huge price advantage over windows and OSX. but its diversity level is so high that things frequently 'dont work' (queue screaming fanboys who have never tried to distribute a complicated linux program to actual users)
where one company has to pay huge percentage of its profit to another company 'shaking them down' through illegal monopoly measures enforced by a corrupt government system.
dude, anyone who actually wrote java understands 'write once run anywhere' is a fairy story told to freshman CS students to make them think about the concept of 'portability'.
anytime you move into graphics, audio, etc, java 'doesnt work'.
I'd rather a "monopoly" allows for innovation rather than the mostly broken open source model that results in much more stagnant 0.x versions of applications.
Yes, there are a some excellent FOSS developers out there, and then there is the pile of 0.x applications that haven't been updated in years.
From my own company, we do heavy mobile development and we litterally have cabinets FULL of mobile phones. Not just one of each, we generally have the same phone with multiple versions on it as well.
This sounds eerily familiar. I worked for Broderbund back in the day. One of their big products was "Print Shop" which allowed the consumer to create greeting cards, etc. to send to their printer. To support that product they had large wall filled with every major printer on the market at the time. A huge patch bay allowed you to hook up a given printer to a given test computer. What's the state of QA for the major PC game creators? Do they have to test with every major graphics card on the market?
it could be true. their market presence and traction on ios could just be good.
and perhaps people on androids playing other games. the game has cartoon graphics, looks like a flash game and has no trial/demo.
but quite frankly, when a developer doesn't find a way to deploy his 30 meg game for galaxy S, he has had his targets chosen wrong.
(the app is so big that the correct approach would have been a staging loader, where the app would download the rest of the content on the first install.. ooh and override the onbackbutton method)
world was created 5 seconds before this post as it is.
Whoever is stating that is obviously an Android fanboy. It's like all that name calling going on in football where you are so blind not to see how shitty is your team, so you just keep attacking the other - better - ones.
I have an iPhone 3G, which having served me well for the last years, it's showing to be quite slow with new apps, and besides I cracked the top corner of it and now the power button is broken. So, not wanting to give €600 for an off contract iPhone, I went to check some Android phones. Result:
- The similar to iPhone 4S, Android phones cost the same off contract.
- You have quite an hard time finding Android phones that don't use a huge screen factor. I want a smartphone, not a tablet.
- And the most stupid thing and that is really an issue to this post. Only 2 of the models at FNAC - it's quite a big shop in Europe - actually had the latest major version of Android. There where some using version 3 and the big majority was using Android version 2.3.
No, you can create whatever dumb arguments you want, but when you go to shop for a new Android phone, and most of them are being sold with an OS that's 2 major versions behind the actual one, then yes, you got a big problem, blame it on the manufactures and Google if you wish, but don't come and tell us that the developer is lazy for not wanting to support such a fragmented market.
P.S. - After seeing the sad state of affairs, I decided to save some more money and wait 6 months for the next iPhone and buy that instead of some outdated Android that costs the same for the same specs.
the smartphone which is 1/2 to 1/3 the cost of an iPhone with the same level of functionality and polish. Now do the same for tablets.
Such a sad, tired old meme.
Only on slashdot does a simple business decision ( I spend 20% of my time supporting 5% of my revenue, and that's bad ) become some kind of screed on monopoly.
Are you sure you saw phones with Honeycomb (Android version 3.x)? Because it was never intended for the phones and Google did not release its source code. I do not recall ever seeing an android phone with Honeycomb. For the phones, Gingerbread (2.3) is only one version behind ICS (4.x).
I currently own a Samsung Galaxy S2 (on android 2.3 but expecting ICS soon) and an Asus Transformer tablet (already upgraded to ICS). My wife has an HTC Desire. I have not encountered an app not working on any of these devices. Android app development maybe more difficult than iOS, and it might be partly due to the fragmentation, but there are now as many android devices as there are iOS devices and the balance will only shift in android's favor in time. If this developer could not make money out of android, then it is sad for him, because he will never have a chance to get a piece of my money.
To say the truth I'm not sure, perhaps they where those smaller tablets (7'' I think), since they where together with the smartphones and I was looking trough the specs of them all. But what you say makes sense. Still, there are many phones, still without a new successor (like the Galaxy Ace for instance) being sold with 2.2, not even 2.3, much less the 4 version which is the actual one.
The # 1 Problem with Android is that it's nobody's "Lead platform" ... not even Google.
Which is exactly the problem I had with stuff from EA.
Bought "NFS shift", found that it needed extra data files. Wasn't able to download the extra data until I had wifi, and then found out that it wouldn't download at all (the downloader or content site was broken for months).
Of course by that time the time-for-refund had passed. Within a week the comments had all become "piece of crap won't download content", but the rating remained high due to comments before the glitch.
Your MS Citation is about Xbox, which MS has been quite strict on. I can't speak for apple, but I have found the MS technet forums very good when the documentation falls short. Many forums have a few hotshots which may work for MS partners, or may be MS employees.
I write code for IDM / IAM though, so my part of the industry is a weird place. Developing interfaces to abstract security concepts across multiple platforms is inherently weird. SAP, RACF, SQL, Active Directory, and Unix all have a different concept of an ACL or Group, and open standards like Oasis and SPML only go so far. MS is just a little bit better at helping you work through a customer's not quite normal requirments.
Welcome to software QA. I see you're new here, so let me show you around...
Go to any android store app (or...play now, or whatever. I liked the old icon better), and read the comments. They're almost always "I have issue X on phone Y"
What do I know, I'm just an idiot, right?
I've never even heard of this game.