Re: Touchscreen Compatibility [was: Feature proposal: combined system status menu]
- From: Tristan Van Berkom <tvb gnome org>
- To: Allan Day <allanpday gmail com>
- Cc: desktop-devel-list <desktop-devel-list gnome org>
- Subject: Re: Touchscreen Compatibility [was: Feature proposal: combined system status menu]
- Date: Tue, 30 Apr 2013 19:33:49 +0900
I've been holding back from participating in this discussion, because I
don't really want to cause unrest, but I feel I should say some things
from the POV of someone who has been working with touch interfaces
for over a decade.
First, I think it's a noble effort to try to provide a desktop environment
which is both touch friendly and mouse friendly, but we should really
be careful and recognize the challenge it presents.
Also, we should make no false illusions that this effort can easily carry
through to applications which run in this desktop environment, applications
from system settings configuration UIs, text editors to audio/video player
applications, all need special care when adapting to touch.
There are two paths I can see which an application can take to be
touch friendly:
a.) Distribute a completely separate binary designed for touch
b.) Try to do what gnome-shell seems to be trying, i.e. detect
whether the app is running in a touch environment, and
make specific tweaks, use separate UIs for the touch environment
than the app would use with a mouse driven environment.
On Tue, Apr 30, 2013 at 6:37 PM, Allan Day <allanpday gmail com> wrote:
Juanjo Marín <juanjomarin96 yahoo es> wrote:
...
But also some problems has arisen in the effort of being compatible with touch devices.For example, I
think that the UI of new applications like Documents are very touch friendly, but it's weird for keyboard
+ mouse users. It is weird because the interaction is very different from other core applications like
Nautilus (Files). In Nautilus, double click opens a file, but only one click opens it in Documents, and
the way of selecting elements and doing actions with selected elements is quite different. I think
Documents works great in touch screen devices and it is a little bit clumpsy with mouse, and Nautilus
works great in mouse and keyboard but not so good for touchscreen devices.
Right, so the selection design pattern is probably the most prominent
place where touch compatibility has had an impact. It should be
emphasised that it is somewhat unique in this regard.
This comment is why I was prompted to jump in to this conversation
actually, I can point out a couple examples where apps in Touch
environments should behave differently, asides from single/double
click / kinetic scrolling and behaviour of input events.
a.) Larger buttons, larger screen area to catch events.
This has already been mentioned before, and is probably
the least significant issue (applications can provide larger
buttons in Touch environments probably easily, without
changing the UI functionality much).
However, it should not be ignored that Touch requires very large
screen areas compared with Mouse driven environments, and
in Mouse driven environments you really, really want to economize
screen realestate by making some controls small.
An example of this would be the toolbar in LibreOffice, this simply
cannot be done in a Touch environment realistically without really
offering a separate UI for Touch envirnoments.
b.) Behaviour of sliders, aka GtkScale
This one has been overlooked I think, and is very important
to note.
On our Touchscreen operated Jukebox system we had custom
widgets for GtkScale to deal with the different expectations one
would have from a Touch driven environment.
The slider had 3 different modes to cope with sliders used in
different scenarios:
1.) Browser Mode
Browser mode is used when navigating in a list of content,
for instance a window full of album jackets with a slider,
where the current letter index into the content is printed
on the "knob"
The specifics of Browser mode is that the "knob"/"position"
jumps directly to the click position whenever the "trough"
area receives a button press event.
In this case, you really dont want the behaviour of GtkScrollBar,
which jumps "page size" in a given direction for every click
on the "trough" area, instead you want the knob to go directly
to letter "M" or whatnot.
2.) Volume Mode
When interacting with a volume control "knob" on a slider, I
cannot stress enough how paramount the importance is to
not have "Browser Mode" functionality in Touch.
I.e. when playing with the master volume (or "Bass" control
slider even), you never want to risk that the volume jumps
to the maximum when touching the "trough" area above the
"knob".
In this case, what you want to do is let the finger press
the "trough" area, and not modify the slider position *until*
the finger moves into the "knob" area... once the finger has
entered the "knob" area, then you want the knob to start
following the finger position until either the finger leaves
the slider area completely or there is a "button-release-event".
3.) Strict Mode
This is like the above mode I described as "Volume Mode",
except that it *never* modifies the "knob" position at all unless
the initial "Touch" was actually made inside the "knob" area itself.
I recall we had this on the Jukebox but I can't recall why, the
above 2 modes are most important to distinguish between in
Touch environments.
In any case, I think it's commendable to attempt to provide some
apps which behave equally well in pointer driven environments
as they do in touch environments, but it would be a mistake to
think that it could be done with exactly the same code and exactly
the same UI/layout/widgetry. Some special cases need to be made
by the actual applications in order to perform well in both
environments.
Best Regards,
-Tristan
The selection pattern has been evolving a bit, and we have a round of
design changes planned which we will hopefully happen this cycle. Me
and Jakub literally have a list of things that can be done to the
selection mode to make it better with a pointer. Once we're done I
don't think it will be any worse than the selection mechanisms that we
have in nautilus today.
It should also be said that this pattern does have benefits when you
are using a pointer. An obvious example of this is the difference
between single/double click. Not only is double click not exactly
ideal on a touchpad, but it is also used inconsistently and is
non-discoverable (some places you need double click to open, others
you need single.) In general, using single click consistently is a
much better approach, especially when combined with discoverable
mechanisms for selection.
Allan
_______________________________________________
desktop-devel-list mailing list
desktop-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]