

If you are a small team [...] don't bother with Amazon Appstore. - zumda
http://bithack.se/news/apparatus-amazon-july-4-2011.html

======
robtoo
_"In my opinion, the users should be educated about the very sophisticated
permission system on Android instead. The user should learn to determine
whether a permission should be required by an app"_

That's just ridiculous.

[editing to expand...]

Software firewalls never took off on the windows platform because asking
regular users about just one permission (should app X be able to contact the
internet?) proved impractical.

Expecting end-users to be able to understand BROADCAST_STICKY ("Allows an
application to broadcast sticky intents"), MANAGE_APP_TOKENS ("Allows an
application to manage (create, destroy, Z-order) application tokens in the
window manager"), and REORDER_TASKS ("Allows an application to change the
Z-order of tasks") is pure fantasy.

~~~
patio11
The more experience with end users I get the more my design goal is security
in spite of them. (I recently got an email from a user who was disappointed
that a program I wrote prevented him from doing what he wanted to do, even
though what he wanted to do was illegal and would expose him to substantial
liability.)

"Click next to ruin your life" is not good application design. I shudder at
"Carefully evaluate whether any of the following statements allows a malicious
person to ruin your life."

------
ben1040
I tried putting a free app of mine up on the Amazon store just to see how
quick it would move compared to Android Market. It sat in the approval queue
for 2-3 weeks, long enough that when I got an email from them about it, I
totally forgot I had even submitted it.

Their response was that I had improperly signed my binary; I misread their
instructions and uploaded the same APK I sign for the Market. This is stuff
Apple catches immediately upon upload so you don't wait a week to find this
out.

I then had to wait 2 more weeks for the re-signed version to get approved.
That's no fun.

------
wccrawford
I, as a user, think the slow review process is a good thing. He complains
about it being rejected for a single letter, but that letter was a lack of
security for ME, the user. That's very important to me, but apparently not to
them.

I'll agree the rest of the failings were stupid on Amazon's part, though.

However, I doubt I'd have pulled the app. I'd have found ways around the
problems, like creating a US account, using a proxy, or having a fan post a
review giving the email of the developer and asking upset people to contact
them.

And he never did answer why it doesn't work in airplane mode if it isn't
connecting to a server.

~~~
regularfry
The implication was that it _does_ work in airplane mode, and that the
reviewer was lying.

~~~
robtoo
I just tested the free version (under AdFree then in airplane mode), and it
does seem to work fine.

It doesn't help that the developer never actually says that he tested this,
though.

------
dlikhten
Ok I am going to attack these points one at a time:

\- 2 week approval process --> this works in the Apple app store model, sure
its slower but they just need to work on it. I would hope they also do things
like battery life test given that recently it has come to light that most
android apps murder battery life for no good reason.

\- No consumer contact --> amazon needs to fix this asap. It is critical for
vendors to be able to contact their clients.

\- No refund policy --> is this even legal in the US? I think we just need to
take it to court to find out :( It is quite refreshing to hear that app
developers actively refund to make frustrated customers happy. However on that
note, the main reason for this is because Apple can FORCE your app to be
removed from your device if you get a refund, google/amazon cannot. therefore
amazon is trying to prevent people from just downloading and then asking for a
refund thus legally getting a free app. Not to mention the fact that rooted
devices (htc is going to allow rooting without hacking bootloader now) can do
things like give amazon/google the finger when it comes to asking the device
to uninstall apps, even if its built-in.

\- Cannot quickly deploy fix in 30 minutes --> this is true for the Apple
store too. I think going with the release cycle, this can be either a good or
bad thing. Ensures you test your fixes and try releasing asap. I think in many
cases the approval process is justified because it prevents things like
malware from being pushed as an update.

tl;dr

\- I like Apple App Store approval process \- Amazon needs to heavily focus on
client <-> developer communication channels. Even if not email and in-app
store. \- Refund policy is possibly legitimate due to uninstall concerns.

~~~
daniel_solano
> No refund policy --> is this even legal in the US?

Sure. There's nothing illegal about 'all sales are final'.

As far as the 'refund gets you a free app' concern: paid apps from Amazon and
come with Amazon's DRM. Google provides a way to do license verification with
paid apps in the Android Market. Google also allows a 15-minute window to get
a refund. So, presumably, Amazon not allowing refunds is a decision that is
not based in purely technical grounds.

------
ch0wn
I actually like the decision by Amazon to require secure communication. This
is something that is very hard to verify as an end user and incredibly
important in the days of Firesheep.

------
dchest
Long review times, the inability to reply to user reviews, getting ridiculous
erroneous comments, and lack of manual refunds? Sounds like iOS/Mac App
Stores.

~~~
giddas
Reducing the price of submitted software without consulting the developer is
the most outrageous part of this story, don't think Apple do that.

~~~
wccrawford
That has always been part of the contract you have with them, and was widely
criticized when the Amazon Android Store first came out.

It is my understanding that they guarantee a minimum amount of money to you,
even if they give it away for free. (Which means they pay you when they give
it away.)

------
CrazedGeek
(Warning: this really doesn't have much to do with the author's Appstore
problems.)

This is more from a proficient user perspective than a developer's, but...

I absolutely loathe the Market. I'm pretty sure I have never had a positive
experience with it.

The simplest thing is its packaging. The Amazon Appstore will run on anything
- install the APK, and you're done. I've had a grand total of one app (Peggle)
tell me that my device (CM7 Nook Color) was unsupported, and even then I could
still manually install it from the My Apps list.

Compare that to the Market, which doesn't come in a nice little APK. Instead,
if you're on an AOSP-based ROM, you have to install a separate gapps package
through the freaking recovery menu. That is a huge pain in the ass. Then,
there's the whole "unsupported app" crap. I don't care if you haven't tested
your app specifically for my device, there's a fairly good chance it'll work
perfectly fine. Having the Market restrict apps like that is quite irritating.

Then there's the installing. Somehow, even the simple act of installing an app
doesn't work right. On multiple devices, running multiple ROMs (official and
un), I have had the exact same problems: An app will, after pressing the
install button, take forever to actually pop up in the notifications bar, and
even then there's like a 20% chance the download will fail if you have more
than one app download going at once. The worst thing the Appstore does when
you're downloading more than one app is that the UI gets a tad laggy.

Also, Google's "unique" software license management. On both the iOS App Store
and Amazon's, if I "purchase" a free app, it's mine forever. Period. Even if
it goes to being a paid app. On the Market, if I purchase a free app and it
goes paid, I basically get to keep the copy on my phone and that's all. If I
go to another device or wipe my existing one, app goes bye-bye.

Google's awful management of the Market doesn't help, either. If you look
outside the top fifty apps or so, it's all garbage- redundant soundboards,
extremely poorly-coded games that wouldn't pass any sort of quality checks,
that sort of thing. It's a little hard to look for good apps when there's so
much complete crap.

Apologies for the rant... it's a bit late.

~~~
deong
Yeah, Google's official market is the glitchiest thing I've seen in a while. I
will note that I've had no problems with the concurrent downloads/installs
failing since I bought a Galaxy S II (my previous Nexus One had that problem
constantly), but aside from that, I have every problem you described and
several more.

I have a Xoom as well as the SGS2, and I'd estimate that 70% of the time, the
two devices disagree on what apps I've bought. If I buy one on the phone, it
never shows up on the Xoom, and vice versa. The web interface is the only one
that has a consistent picture of apps I've bought. However, it doesn't always
work. On several occasions, I've gotten into situations where an app has an
update available, but trying to update just fails silently (and immediately -
you see the download indicator flash for maybe a tenth of a second and then it
just vanishes). The only way to get past it is to use the web interface to
send to a device, which will also fail, and then retry the update from the
device. This doesn't always work, but if I repeat it enough times, eventually
it will. Usually at least. I have had to, on a couple of occasions, resort to
googling for an apk file that I can put in my dropbox account to manually
install from the phone -- for apps I got from the Market already. I think I've
only had to resort to a web search once. Usually, I can find the apk/odex
files on the one device it install on and pull them from there. Isn't it great
that I'm considering "adb pull" as a victory for installing an app that has a
big "Install" button right next to it?

Some apps show up one day as available in my country (Iceland), and then 15
minutes later they aren't.

Sometimes I get notified that updates are available for built-in apps like
Maps. Those often fail, and there's no way to get rid of the update
notification.

In short the Market is a train wreck, and that's not even considering the poor
state of discoverability and management.

Amazon on the other hand has at least solved the problem of producing software
that functions to a minimum standard of fitness of purpose. Their organization
doesn't seem much (if any) better than Google's, but at least I know what's
going to happen when I click a button on their site. I'm confident that I'm
not going to spend the next 20 minutes hunting for an apk file for the app I
just bought because the store I bought it from went up in a puff of smoke for
no apparent reason.

The sad part is that even with all this, I still prefer Android, and I've been
a heavy user of both the iPhone and iPad. Just imagine how much nicer it would
be if they gave a shit.

~~~
Hari_Seldon
"The sad part is that even with all this, I still prefer Android"

Why is that?, not trolling, just interested

~~~
deong
Mostly, my complaints about Android revolve around issues outside the devices
and OS. The market is dreadful, but day-to-day life with the phone is nicer
(better notifications, widgets, additional useful functionality, etc.)

iOS5 should close the gap on a lot of this, and it's certainly a more usable
OS in a lot of ways. I'm probably committed at this point, but it'll be
interesting to see one way or the other.

------
CrazedGeek
Just a point of clarification: the T-Mobile Comet is a Huawei device (a
variant of the Ideos), not a Motorola device.

------
ljf
I downloaded this game from the Amazon AppStore when it was free, and am sad
to learn I'll not be getting future update, but I totally understand why and
support the dev here.

One thing that does shock me is that the dev was unaware that Amazon could
change the price to whatever they fancy (99c minimum) as that was pretty
widely explained and discussed when the Amazon AppStore launched.

------
nodata
My experience (trying to install Peggle) was being told, after lots of hoop
jumping, that I live in the wrong country.

It would be nice to be told at the start. Now I'm so annoyed with the AppStore
I removed it.

------
RyanKearney
This sounds more like a clueless rant than anything else.

> much like pretty much any website does not use HTTPS.

Apart from that just sounding line an awful sentence, that sentence is pretty
much the same as saying "well bobby doesn't eat his vegetables, why do I have
to!"

The author then claims his server would be burdened by the additional overhead
of SSL. Funny, because I remember reading an article back when FireSheep was
in the spotlight from Google stating that SSL only adds an additional 1-2%
overhead tops. Over-exaggerate much?

> It turned out Amazon fails to filter out devices that should not be
> supported according to the Manifest file.

Welcome to the world of fragmentation. Honestly, that is the biggest
difficulty with coding for Android. I really don't think you can blame Amazon
for this, however. Even the Apple App Store lets iPod Touch users download
applications only designed for the iPhone (unless they changed it recently).
But this is an issue you have to deal with on every platform. Apples had the
big PPC/Intel issue with requiring 2 binaries, one for each processor type.
It's up to you to make it as clear as possible to the user if their device is
supported or not.

>3\. Where are my customers?

Put your email address in the description? How about in the app itself?

>Since there are so many devices available, supporting them all is difficult.

That's like a car mechanic saying "There's so many types of engines, I don't
think I can learn how to fix them all!" Programming isn't something your mom
can do on her way home from a soccer game. It can take an enormous amount of
time, dedication, and skill. Once again, the author is blaming Amazon because
coding is "hard".

The author then goes off about a review that was left filled with
inaccuracies. That's yet another problem you'll have to deal with in a service
like the Android Marketplace or Amazon Appstore. If they let you cherry pick
reviews, it would lead to developers burying negative reviews that reveal
their application does something "evil". The more time you spend getting all
upset about a comment a user left, the less time you're spending improving
your game or application and the less I actually would want to spend money on
it.

As for the price change, the author provides next to no information on this.

Don't get mad at Amazon because you found out what Fragmentation and trolling
from commenters is.

~~~
vetinari
> Welcome to the world of fragmentation. Honestly, that is the biggest
> difficulty with coding for Android.

This horse was beaten so many times, it is already dead.

> I really don't think you can blame Amazon for this, however.

Sure you can. Google Market handles this condition gracefully, i.e. if you
can't run it, it will not show it to you. So why to hold Amazon to lower
standard?

~~~
RyanKearney
Ah, does it really? I don't have an Android phone so I honestly wouldn't have
known unless you said something.

~~~
vetinari
Every Android application comes with file called manifest. It specifies many
things, but in the context of this debate also permissions and device
capabilities required. If your app requires gyro, accelerometer, high-dpi
display, OpenGL ES 2.0, specific texture formats or whatever, you put it here.

And here comes Google relationship with device manufacturers. As you certainly
know, Market is not a part of the open-source android release, but proprietary
app, that has to be licensed, if you want to distribute it on any device. So
when the manufacturer licenses the app for the specific device, it also
provides Google with device capabilities. Google puts it into the market, so
they can show you only those apps, that your device is capable of running.

Amazon, of course, does not have such a database, and also does not have
relationship with device manufacturers. It is up to them to find a way to
build similar filtering mechanism. Nobody said, that building competing market
is easy and that reviewing apps is enough. Good luck trying, though.

~~~
pja
It seems slightly odd that Amazon can't have their Market App run a bunch of
tests on install that generate the appropriate set of device capabilities. The
major ones (Android version, OpenGL level, screen size, presence of GPS etc
etc) are just a single API call each. Hard to believe that Amazon is unaware
that this is a huge end-user experience fail for their customer base.

(Reading between the lines of the original blog post, possibly they just
failed to enforce device restrictions for the free "App of the day"
promotion.)

~~~
vetinari
Yes, one would suppose that the Amazon market client would report device
capabilities and the market would adjust response to that. Let's hope that
they will learn.

