[ long point-by-point reply below ]
25.10.2010 18:44, mort пишет:
On 25 Okt., 05:41, Frank Weiss<[email protected]> wrote:
I kind of agree, but I think I'll stick with what I said. I think the issue
is that when developers see an "app" listed in what appears to be a list of
running processes (like unix ps or Windows Task Manager), they tend to jump
to the conclusion that there's a similarity.
Not only developers. I get at least one mail each week asking me why
my badly programmed app is still running after the user left it (i.e.
pressed home or exit button).
Yes, I also get those, and respond back that Android is different.
Educating users is better than implementing kludges that users wish on a
whim.
Also, despite what Google has said in the past, there really are times
when the user really does want to just STOP the app, even dump it from
memory. (...)
I think the Force Close button in the Android Applcation Manager serves this
purpose. What do you think?
Wasn't there something about a different behaviour in FroYo?
Anyway, this is a really complicated issue. There are those users who
"only" want something like a closed application in Windows, i.e. if
you "kill" the alarm clock, it still will wake you tomorrow. Then
there are those who don't want the app to do anything at all until
it's manually restarted.
I think there are only two states, once the user has left an activity.
Either there is some kind of background work, or there isn't.
If both ways are valid and useful, make it controllable (re: Twitter below).
See above. The way Android OS works is OK, I think that it's that when
presented with a list of "running" apps they see a deceptive similarity with
unix ps or Windows Task Manager. If you have another explanation for why the
question "why is the app still running after I press home?", I'd be glad to
hear it.
Well, there is the trouble with seemingly "misbehaving" apps. For
example, some users want their Twitter app to check for new Tweets
(and show new direct messages) when it's in background, but not when
it's been "closed". Some users assume it's closed when left with
"back", others expect an "exit" button, and others simply kill it with
a task manager (and will be surprised if the app's respawned by some
broadcast intent or the AlarmManager...).
Re: Twitter - this should be controllable by the user. I can think of a
nice away to handle this in the UI, so it must not be that hard.
My personal take on task killers is: if my application stops working
because of a task killer, then it's not my fault.
I always ask my users to disable / uninstall any task killers, as part
of diagnosing "it doesn't work!" type of problems. Once they see that
this fixes things, I point out that the problem really was caused by the
task killer.
If the user still insists on using a task killer, then I just assume
that he knows what he's doing (although this may not actually be the
case), and he can handle it on his own.
But yes, I think in most cases it's just the deceptive "task list".
I might add that we should contact developers who add "exit" buttons to
their apps (against Android development guidelines) that they are
contributing to the confusion of new developers. If any such developers read
this, I'd be interested to hear their defense.
I must admit I did this in a recent update, though with a bad feeling.
The reason's related to the above described "misbehaviour".
My app uses a background service which is also used by home screen
widgets. [ snip ]
I really hope that at some point in the future (and not too far off),
two things happen:
- Developers get more experience with Android and the quality of
applications improves.
- Users realize that it's ok to just let Android do its thing, because
it just works.
--
Kostya Vasilyev -- WiFi Manager + pretty widget -- http://kmansoft.wordpress.com
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en