Yeah I will certainly agree that this is a bit of a mess -- it was
unfortunately the result of a lot of continual iteration on the UI (often of
different apps independently), leading to new feature requests each time,
causing an every growing number of options. :/

We are working on cleaning up and better formalizing the overall navigation
model, but that will be an ongoing process.  For example in Cupcake we have
finally laid down some basic rules for notifications where pressing back
should always return you to whatever your were immediately previously doing,
and I believe all of the standard apps now follow this.

As far as contacts goes, though, this is actually intentional -- some apps
(like contacts and settings) want to put the user back to their front door
when relaunched from home, so they set the option to do that.  This is
actually a "desired" inconsistency.  (And something you may not know -- if
you select one of these apps from the long-press-on-home task switcher, this
will bring it to the foreground without clearing it...  I would like to make
this level of task switching more discoverable and integrated with the core
UI.)

On Thu, May 7, 2009 at 1:41 PM, Mike Hearn <mh.in.engl...@gmail.com> wrote:

>
> > Can someone educate me about the rationale behind Android tasks? I'm
> > also curious to know the thought process behind their design when they
> > were originally conceived?
>
> I think the problem they solve is that it's hard to have a "multi-
> tasking" OS when only one thing can be on the screen at once. So the
> idea of tasks is that you can switch quickly between them, and they
> preserve your state in the context of that application:
>
>  Maps -> View Business Details
>  Contacts -> View Contact -> Edit Contact
>
> Now if am editing a contact and want to do something else like view
> business details, I can go back home, press the Maps icon, do
> whatever, and then use home to press contacts and arrive back at the
> edit contact screen.
>
> I guess there are a few problems with the current implementation
> though: it's quite complicated, and there's no real way for users to
> learn how it works. The "obvious" mental model is of a linear stack of
> activities, but that's not what actually happens so you get things
> like pressing back on the home screen does not actually take you back.
> And then there is a lack of guidelines around when to use the activity
> modes - as you have found. And finally the built-in apps do use the
> activity modes inconsistently. For instance my example is wrong
> because the contacts app does reset the task stack.
>
> I think this stuff will shake out with time. Better animations can
> help users figure out the application model. UI guidelines will help
> developers. Hopefully the built-in apps will either become consistent
> or at least call out in their manifests why they use certain
> attributes so people can learn from them.
>
>
> >
>


-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to