

Mika Mobile ends Android development - vwadhwani
http://mikamobile.blogspot.com/2012/03/our-future-with-android.html

======
MattRogish
I work for an app company and can verify his comments.

Apple has done a great job at getting its users to pay for apps. They've done
this via:

1) Encouraging Developers to not price free apps (this happens sometimes in
review, in their literature, etc.)

2) Capturing device owner's credit card info at the start (so buying an app is
frictionless)

3) Removing low-quality, buggy, copycat, and junk apps from the store via
their review process

Google, on the other hand, has done just about everything wrong if you want to
make money from paid apps. I suspect this is because Google wants to make
money via in-app ad impressions and with free apps that's the only way you can
make any money (in-app purchasing notwithstanding).

1) No review encourages spyware, copycat apps, buggy or broken apps, etc.

2) Android's "return policy" (which has since been tweaked) encourages people
to pirate apps anyway (it's super easy to do so)

3) Initially (I'm not sure if this is still the case) you could sign up for a
market account without a credit card, thus leading to a lot of friction when
it came to paying for an app (entering your CC information was a royal pain).

Also, I share the frustration with the internal v. external/removable storage
problem. Our apps are traditionally larger (content-centric, with lots of high
quality images, audio, video) and have always ran into problems with Android
devices' limited on-board storage.

This was purely a cost decision by Google and a profit decision by
vendors/carriers as vendors wanted to produce devices as cheaply as possible
and make a killing on SD cards - sell a device with xxxMB storage and no SD
card, then force the consumer to go out and buy an overpriced SD card (usually
at point of sale).

This all makes Android a developer-hostile environment; yes it's easier to
initially get setup on Android (no provisioning profile, etc.) but it's all
pain after that. If I had a choice, and didn't make cross-platform apps w/
PhoneGap, I'd write iOS apps first/only.

~~~
masklinn
> 2) Capturing device owner's credit card info at the start (so buying an app
> is frictionless)

Don't forget the pretty popular iTunes gift cards, either as gifts from third
parties or to replace a CC.

~~~
protomyth
That is a huge bonus for a lot of teenagers. Pay cash at Wal-Mart for an
iTunes card so you can buy stuff from the app store.

------
zmmmmm
I wish Google would take the problems of cross phone compatibility more
seriously. Without it the entire purpose of Android is compromised, and yet,
they don't seem to put much effort into ensuring compatibility or motivating
manufacturers to ensure it.

For example, while I support Google's decision to keep the Android market
open, I don't see why apps that simply crash upon launch should be allowed
allowed to be sold and downloaded to people's phones. Google can easily detect
/ track this kind of thing and automatically flag phones not supported as
incompatible, refund users and notify the developers. On the developers side,
they should have access to an extensive database of compatibility information
so that manufacturers are shamed into seeing devices that are hard to support
getting black banned in the market and crossed off support lists by
developers.

I don't think you need an authoritarian approach like Apple's to make things
better, but you need to do more than Google is right now.

------
pragmatic
Too bad. My 5 year old son loves Battleheart.

I _bought_ it for the Kindle Fire. It's actually my son's preferred gaming
platform (compared to Wii, 3ds and Leapster Explorer) probably because the
game are so accessible/easy to use.

I've often considered getting into game development on the android. However,
it doesn't look like a profitable venture.

If the makers of a fantastic (highly rated, almost 5 stars on the amazon app
store) game aren't making money on the Android platform...what hope is there
for the rest of us.

------
cageface
I've been doing iOS dev for a while now and I'm considering expanding to
Android as well but stories like this give me pause. I guess I've been spoiled
by an environment that's homogeneous enough that I don't have to worry about
things like GL shaders mysteriously failing on some devices etc.

Can more experienced devs comment on how common these kinds of problems are in
practice? If I do some Android ports for my clients do I really need to buy
10+ devices and debug on each of them?

~~~
baconner
Your instincts are correct here I think. If you're writing games then I
suspect this is pretty accurate. You'd likely have to purchase a lot of test
devices and do a lot of tuning to keep up with the hardware. Android vs. iOS
game dev strikes me as a lot like the difference between windows and console
game development.

If, however, you're writing basic apps like I am and using the standard
development tools then it's a lot less of a hassle. I primarily write
appwidgets (apps that run on the home screen). Theoretically these have could
run into more fragmentation issues since various manufacturers have built
their own home screen replacements and improved appwidget capabilities have
been a focus in 3.x, 4.x. Yet in about 2 years since I started I've rarely hit
a device specific issue and I'm supporting 2.1 - 4.x. I have about 3000 active
users so not exactly large scale, but enough that if it were a serious issue I
think I'd be hearing about it more.

I have two devices - a nexus one to test on 2.x/phone and a transformer prime
to test on 4.x/tablet. Other versions I spot test in the emulator (admittedly
this is awful). That's been sufficient for me.

I'm sympathetic to the technical difficulties of developing and maintaining a
high quality game for the platform, but that shouldn't scare anyone off from
developing regular apps.

~~~
cageface
Interesting. The apps my clients have asked me to write so far are pretty
straightforward so maybe I could also get by with only a few devices. I'm
certainly not doing anything that pushes the hardware as hard as a game.

------
sawyer
For those who may not know, and because it's not mentioned in the blog post,
Mika Mobile develops their games in Unity.

It's a testament to the challenge of developing games to work on all Android
devices that even with Unity's support they still have to spend so much
development effort on shaders and debugging device specific issues.

~~~
beatle
what are these people complaining about?

Google didn't release Android to give the users the best possible product,
service and user experience. They released Android so they can serve ads.

An ad company will never give a shit about user experience.

I knew this the minute Google bought Android. It took them these long to
figure to this out.

~~~
methodin
What the hell are you talking about? Aside from admob integration on games
that developers add themselves, what ads are you seeing on the platform
outside of websites?

------
keeperofdakeys
Google wants the Android platform to move away from SD Cards, their Nexus
series really shows this. The Nexus S, their second Nexus phone, had no SD
card. However, due to the requirements of a separate filesystem for USB Mass
Storage, they partitioned the internal storage into two.

Then you get the Galaxy Nexus, with only one partition. It features Ice Cream
Sandwich, with MTP (Mass Transport Protocol). MTP allows access to a
filesystem without unmounting it, so the phone can continue to use the
filesystem. The only real disadvantage of MTP is that OSX and Linux support is
limited, since it is developed by Microsoft. It should also be said that ICS
still supports USB Mass Storage, but the Galaxy Nexus cannot.

The Asus Transformer also does this, using a large internal storage with no SD
card. More phones might switch to this model, but for now the SD card is not
going away.

~~~
gcp
Why the hate on SD cards? I mean, what's the reasoning behind this?

~~~
keeperofdakeys
From what I understand, its because there is always 'wasted' space. If you
have lots of movies and music, you might have a full SD card but empty
internal; lots of applications and the opposite might be true. With a single
internal space, all this goes away. Personally, I never want to remove my SD
card because it houses so many applications and files I use on my phone.

------
kenrikm
I would be interested to find out how MikaMobile did sales wise with their
Kindle Fire version of Battleheart. It would be a good gauge to base what the
total potential a developer has for supporting the Fire and ignoring the
general Android market. I remember (back in the day) when they first announced
Zombieville USA on iPhoneDevSDK, they have grown a great deal since then and I
wish them all the best.

------
jrockway
Seems fine to me. No money being made, no money to pay for development. I
don't blame this on Android phones or users, however.

(Bandwidth is, sadly, becoming a big issue these days, because nobody offers
unlimited plans anymore. 5GB per month means one max-size app and maybe a few
text messages before you start paying one billion dollars per nanobyte in
overages. It's like 1980s long distance all over again.)

~~~
RandallBrown
Apple caps 3g app downloads at 30mb I think. Any bigger than that and you need
to use wifi or sync via iTunes.

It would be nice if Google would implement something like this for Android. I
didn't even know about this limitation until today ( I'm an iPhone
user/developer).

~~~
dagw
Android App store warns you that you are about to start a large download via
3G and asks if you're sure you want to do so. Personally I find that a much
better approach. Apple doesn't know the details of my contract and if I want
to download 70 (or 170)MB over 3G, surely that's my prerogative and why should
my phone stop me?

~~~
nivertech
I have unlimited 3G data plan on my iPad and it always hated that Apple won't
let me update some apps until I'm near WiFi spot... until I bought Galaxy
Nexus inserted SIM from my phone with limited data plan and it exceeded my
capped data plan in the first hour (OS updates).

------
Jaecen
Perhaps Mika Mobile's problem is that they are trying to provide support like
a large company without the resources to do so. I certainly applaud their
effort, but would it have been more economical to simply tell people that they
can give a refund and that's it?

It seems a shame that they're giving up their position in the Android market
and abandoning some hard-won experience.

~~~
eropple
_What_ market? Virtually nobody making Android games is making money,
especially compared to iOS versions. It's exceedingly grim.

"We make 5% of our revenue from Android" is not exactly an outlier.

------
methodin
If only people spent as much time working on a decent platform like Andengine
(which works on most devices with little effort) instead of porting ios code
and ending up with apps that only work on devices they were tested on (or
complained from).

It makes sense they have to deal with problems all the time since they clearly
don't have a thorough understanding of the Android platform itself and what it
takes to actually support the range of devices. Buying $1,000+ of test
hardware will also not fix your problem if the problem is not doing things
properly. You certainly won't get it by patching ios-based code every time a
customer complains.

~~~
cageface
How do you anticipate problems like buggy GL drivers with inconsistent shader
implementations? At the rate new devices are coming out it seems impossible
for any framework to cover them all.

~~~
methodin
Fair point, but like I said, if everyone works in bubbles they will all have
to deal with this over and over again in different ways. Since these game
companies are not actually doing anything for the platform itself, like
sharing their libraries for dealing with the issues, they of course will find
it painful.

This reminded me completely of the pre-jquery era where if you wanted some
advanced JS functionality you'd have to reinvent the wheel over and over in
dealing with browser inconsistencies. After years of bitching and moaning
people finally released libraries to deal with the issue.

These companies have the right to complain, but complaining will not actually
help solve anything except give them a way out avoiding the the complexities
of porting platform-specific code to another platform.

