

Why developing for Android sucks - echubb
http://www.webosroundup.com/2010/04/why-developing-for-android-sucks/

======
jhferris3
This article is citing a lot of out of date information (unsurprising, since
its 9 months old). I suppose that the article should be taken with a grain of
salt given the source anyway, but just a heads up on a few:

a)the Wired article that says 70% are still on 1.5/6 is from 9 months ago.
Figures from November 2010 indicate that 75% of users are running 2.1/2.2:
[http://gizmodo.com/5679410/over-70-of-android-phones-are-
now...](http://gizmodo.com/5679410/over-70-of-android-phones-are-now-running-
eclair-or-froyo)

b) Google has since implemented some antipiracy measures on the app store.I'm
less certain about its details/market penetration, but it exists in some form

c) android now has a lot more than 10 million handsets.

~~~
echubb
I don't know if the information being out of date matters in this case, the
problems of OS version fragmentation still remain.

Android antipiracy measures are extremely brittle and rely on server-side
verification, this has been circumvented by decompiling app archives, patching
them and rebuilding them, which is entirely possible using apktool or your
decompiler of choice. Frankly im surprised that the platform isnt _crawling_
with malware.

~~~
jhferris3
I wouldn't deny that fragmentation is an issue, although from my (limited)
personal experience the biggest issue has been designing for all the different
screen sizes/resolutions and still having your app look okay.

And yes, any antipiracy mechanism can be circumvented. That said, 90+% of
android users probably dont have the knowhow to grab the apk, decompile it,
and remove the server side check. And I'm not sure on this last bit, but I
know at least in the US some carriers (ATT) disable installing apps that
aren't from the appstore. I haven't read about the details of the antipiracy
mechanism, so I can't really say more than that.

Also, its unclear to me if you're linking the fact that theyre so easily
decompiled/cracked and that you're surprised it isnt crawling with malware.

------
echubb
Good article (apart from advocating developing for Palm??), bad title. It
should be called "Why distributing your Android app sucks." No commentary on
actual app development itself. My thoughts on that are that Google should
develop an IDE for Android developers - Eclipse is unstable bloatware, the
Android emulator sucks and supporting different screen sizes and resolutions
is odious to say the least.

~~~
sterwill
People often repeat that Eclipse is "unstable." I can use one Eclipse process
for weeks, even months on-end with JVMs from Sun and IBM on Linux, and it
never crashes or needs a restart (except if installing new plug-ins). The ADK
tools don't have the polish of the core features, and I haven't used them as
much as other tools, but what's causing instability?

~~~
echubb
I've had serious problems with Eclipse's autocomplete/intellisense prediction
feature. It often begins listing identifiers and then just hangs indefinitely.
I don't know if the fact I'm developing using the Windows build is significant
- it is Java after all so it should be platform agnostic.

I seem to have bad luck with IDE's though. I develop using Visual Studio 2008
and that has some horrendous problems, though VS was never known for stability
(six service packs for VS6, anyone?)

------
rbanffy
> Over the Air updates. If you have a Palm phone you will be on the latest
> version that your carrier has available

I wonder what happens when you use an unlocked phone on a foreign telco. Will
it get upgraded using Palm's servers?

------
praptak
Some of the points are only valid if your revenue model is a paid app. How
about a free app + paid service?

~~~
echubb
If piracy is as big a problem on Android as the article claims, the free
client/paid subscription model is probably the most viable way to generate
revenue. However, Android is not proprietary software-friendly - It's INSANELY
easy to decompile APK archives and reverse engineer content.

------
echubb
Interesting. How vibrant is the dev community for Palm phones?

OTA Updates are another story on Android. Different manufacturers price OS
updates differently like Samsung, who price them as feature updates whereas
some other Android phone manufacturers price them as cheaper maintenance
upgrades. It can be a bit of a lottery as to whether your phone will ever
receive an upgrade.

~~~
yardie
I'm part of the WebOS dev community and its small but growing. I've sat on the
fence for a while because I wasn't sure where Palm would be a year ago. And
while I found the interface to be the best in the smartphone space (sorry iOS)
the hardware it was deployed on was deplorable.

They are moving from Mojo (javascript based) to Enyo (C++ based) platform so
quite a few developers are also waiting for the new SDK. Most of the apps that
are currently written in Mojo will continue to work but I sense that most
developers are in the same boat I am. No point in learning a framework that
has one foot in the grave when the next one is right around the corner.

~~~
grayrest
Enyo is NOT a C++ platform. There's a C++ "plugin development kit" that's been
out for a couple months now and AFAIK that doesn't change when Enyo gets
introduced. I didn't really look, not particularly interested in WebOS C++
development.

Enyo is a palm-developed js framework originally created by the Ares editor
team that performs (reportedly) dramatically better on the same hardware than
Mojo. I believe the difference is that Enyo uses a javascript layout system a
la Sproutcore/Cappuccino instead of the html+css layout in Mojo so they're
basically innerHTMLing everything instead of performing a bunch of DOM
manipulations/reflows. I'd expect a number of other changes but aside from
that and allowing multiple-layouts (i.e. for tablets) that's all I came away
with from the developer day talk on it.

I started looking into WebOS when CES was going because I was wondering at
Palm's absence. It turns out that the homebrew community is surprisingly
vibrant and they have (basically) an independent market app (preware) for
their apps and patches. I was most impressed by the patching. The entire
interface is interpreted, so changing how things work is just a matter of
modifying the appropriate javascript and rebooting the device.

All in all, I was impressed enough to get a developer account and start
intermittently hacking apps. Enyo isn't out but it'll have to come out soon in
order to handle tablet layouts so I'm heistant to commit to a Mojo app before
the big Feb 9 event. I don't know about a webos phone (google
apps+NewsRob+Kindle on android do basically everything I want to do with a
phone) but I'll definitely be getting a WebOS tablet for reading/development.

------
DanielRibeiro
What about free + admob? Angry Birds is free on Android, but uses Ads to
support it. Being the top free game on the platform, this means they probably
do a lot of money with it.

~~~
wccrawford
Rovio specifically said that they went Ad-supported on Android because NONE of
the top apps were paid, and they didn't think they'd make much money with a
paid app. There was a lot of talk about make a paid version without ads, but
it never appeared.

