HIG and components API
Thomas Pfeiffer
thomas.pfeiffer at kde.org
Thu Oct 8 13:13:11 UTC 2015
On Wednesday 07 October 2015 10:40:46 Marco Martin wrote:
> > > Moreover, I'm feeling that the api and the usage of the components will
> > > be quite intertwined with what will be the hig in the end.
> >
> > What exactly do you mean by that?
>
> that is very important that things are defined and pretty much final, as a
> change in how those things should behave may in some cases change
> incompatible changes in the components api as well
I agree: The goal must be to have both HIG and components in a stable state.
The thing is: All this needs to be designed in a human-centered way, which
means iterations. We currently write in those HIGs what we _think_ works well,
but we cannot tell if it actually works well until we have seen - and
interacted with - it in action and tested it with some other people.
So, here is my idea for how this should work:
1. We write a draft HIG (like we have done so far)
2. Someone (probably you ;) ) creates the first iteration of a component
3. We test it out
4. We iterate design (modifying the HIG) - build - test cycles until we have
something that works well
5. Both the HIG and the accompanying component are declared final and API-
stable
Would that work for you?
> > For the Okular case we'd even need tabs in that drawer (as we had in
> > Okular
> > Active).
>
> yes, i'm continuing it based on that code.
> what i have so far is, by default one can just specify a list of actions and
> they will appear in the drawer, however, in the application declaration one
> can also override completely the contents of the drawer and at that point
> the contents and size are completely custom (from there, is up do the
> developer to not make a mess;)
Perfect! That is exactly what I think makes most sense.
> > I do like the "split drawers" as I called them in Plasma Active in
> > general.
> > The only downside I see is that they may be in conflict - from a mental
> > model perspective - with column-based navigation (people may be confused
> > whether sliding to the side will bring the next column or the drawer).
>
> true, may also be enabled only when the content is scrolled al the left, to
> look as an extra column
> anyways, i have the skeleton working with two overlay drawers atm
Yes, "Menu as left-most column" is an alternative we have in the back of our
heads as well, as an alternative if we find that the combination of side-
swiping to scroll columns and edge-swiping to open the menu leads to too many
wrong interactions.
> > In Plasma Mobile, we have the chance to give more space to the content by
> > removing UI "Chrome" without sacrificing usability, because we can make
> > sure things like the drawers are used consistently across KDE
> > applications. That way, we can give users a quick tutorial at the first
> > start (Sailfish OS is an excellent example of how a tutorial can give
> > interaction designers more freedom for innovation without sacrificing
> > usability) and then allow them to transfer that knowledge to all
> > applications.
>
> hmm, i don't think all applications would have them and have both
Indeed, but when users can't find a function in the main UI, they know it must
be in a drawer.
> > This is actually one of the cases where I'd hope we could make the
> > components automatically adapt to the environment they run in. In Android,
> > applicaitons by default have a header bar, which contains both the menu
> > button for the navigation drawer and the overflow button for contextual
> > controls. What I'd like to see is that when our apps run in Android, they
> > draw such a header bar with the two buttons.
> >
> > Within Plasma Mobile, however, I'd like to give that space back to the
> > content, since a Plasma Mobile user will learn pretty quickly to epxect
> > both drawers to be there.
> >
> > Would that be possible?
>
> i have some doubts about the buttons overlaying the content, while is
> technically possible i think it would be a bit hard for apps to ensure some
> important content doesn't get blocked by them...
> what about a toolbar that gets hidden or comes up similar to the one usually
> in mobile web browsers?
Sorry, I didn't express my idea clearly enough: The idea was that on Android,
the buttons are shown in an App bar (
https://www.google.com/design/spec/layout/structure.html#structure-toolbars )
like in other apps, so they would not overlay any content.
More information about the Plasma-devel
mailing list