some feedback from a mobile application development team

Thomas Pfeiffer thomas.pfeiffer at kde.org
Tue Jan 5 23:22:27 UTC 2016


On Dienstag, 5. Januar 2016 08:16:38 CET Dirk Hohndel wrote:
> Hi there,

Hi Dirk,
as the person in charge of the KDE Mobile HIG (and therefore also responsible 
for the usability of the Plasma Components), I'm very happy to get feedback 
from users of an actual working application using our components!

Since I am not a developer, I can only discuss our design choices, our 
developers are better suited to discuss the technical problems you 
encountered. 

So here goes my comment on the user feedback. Please bear with me, as I'll 
have to expand a bit on the reasoning behind the interaction with the action 
button:

> c) the user feedback (about 25 alpha testers on about 30 Android devices,
> we haven't gotten the iOS build to work, yet, as some of our dependency
> libraries are causing us trouble) is very negative on the action button.
> People find it very unintuitive and a solution looking for a problem.
> In my latest builds I have hacked our copy of the MobileComponents to
> simply disable the action button and instead added traditional three
> bar / three dot menus to the top bar - this was very well received with
> the testers. The context menu button (three vertical dots in the top
> right corner) only shows up when there is a contextDrawer. Tapping on
> either of the buttons opens the coresponding drawer.
> The Subsurface team would love to see an option to cleanly disable the
> action button in the MobileComponents.

First of all: It's fully understandable that Android testers like UIs the way 
that stock Android UIs are. That's what they're used to, that's what their 
muscle memory has learned.
Let me explain to you, then, why we diverged from the default Android 
behavior.
As a start, here are the relevant section from my blog post laying out the 
basic assumptions behind our design choices [1]:
---
Users prefer to interact with the center of the screen
As research [2] shows, smartphones are predominantly held upright (portrait 
mode) and in one hand, simply because that is the most convenient way to use 
it and it leaves one hand free e.g. to hold onto something while standing in a 
bus.

If we want an application to be used conveniently with one hand, we have to 
make sure that everything that is needed often can be reached with that hand’s 
thumb without having to reposition the hand (although the aforementioned 
research also shows that people do switch how they hold their phone whenever 
needed).

Regardless of the way users hold their phone, research [3] shows they 
generally are more precise in interacting with – and prefer to interact with – 
the center of the screen.

Based on these findings, the HIG recommends interaction patterns which do not 
require users to reach for the far ends of the screen (mostly the top), but 
give them on-demand controls near the center of the screen.
---

Given that, the context menu button in the top-right corner is almost in the 
worst possible place to reach (for left-handed people, it is literally in the 
worst possible place). Try reaching that button with your thumb when holding a 
5"+ phone with one hand, without changing the position of the device in your 
hand. Really, it's no fun.

What makes it even worse is that this button is the _only_ way to open the 
context menu on Android.
Therefore, the first and very obvious idea was to allow users to open the 
context drawer by swiping in from the right edge of the screen (since they do 
not have to reach to a corner for that).
However, we also know that not all users are comfortable with edge-swiping, 
which is why we looked for an alternative means to open the drawers (the 
primary way is still edge-swiping) for those people which are not.

That's where the Action Button comes into play. With Material Design, the 
"Floating Action Button" (FAB) has become an integral part of most stock 
Android applications (Mail, Hangouts, 
G+, Calendar, Maps, Photos, the thing is pretty much everywhere). There, it's 
used to execute a "main action" within an application (often creating a new 
object, but in Maps it's navigation and in Photos it's searching).

And, interestingly enough, the Material Design guidelines place that FAB in a 
position where it's easy to reach. So we thought "Hey, why not re-use the FAB 
as an alternative to edge-swipes for opening the drawers?".
And this is how this idea was born: We have a button in an easy-to-reach 
position which doubles as a main action button and an alternative to open 
drawers, mostly for those who can't use edge-swipe well.

So, dragging the Action Button is not "a solution looking for a problem", but 
in fact it is the answer to the problem that screen corners are hard to reach 
when you hold a bigger phone (which are becoming more and more common) in one 
hand.

I do agree with you, however - and this is also what I suggested within our 
team before - that on Android, people are not used to being able to drag the 
FAB, as it's inconsistent with what they expect from other Android 
applications. What they _are_ used to, on the other hand, is those buttons in 
the top bar.

Therefore what I'd like to see is that when our components are used within 
Android, they draw the buttons in the top bar (where they are - and that is a 
research-supported fact - hard to reach, but consistent with other Android 
applications) but leave edge-swiping as an easier-to-reach alternative for 
_both_ drawers (stock Android apps do it only for the left drawer, which is 
really nonsensical if you think about it). When the same application is run on 
Plasma Mobile, where people have learned how to use the Action Button-dragging 
from other applications, it should use that one.

The Action Button, then, should on Android not always be drawn, but only when 
it is actually used for an action, like in the stock Android apps.

I'm currently conducting usability tests with the components, and that's not 
"We ask people what they like", but I observe people to see what actually 
works well. The difference is that when asked what they like, people will 
almost always prefer what they're used to, even if it's inferior to a new 
solution.

Another thing I want to see changed in our components, though is the actual 
dragging interaction with the FAB. Currently one has to drag it pretty far to 
open a drawer, which defeats the whole "Not having to stretch your thumb to a 
corner" advantage and currently indeed makes it rather clunky to use.

I hope I was able to explain the reasoning behind our solution a bit better, 
while at the same time expressing that I support our components working in a  
manner that is similar to - but still better than - other Android 
applications.

So, what do you think?

Best,
Thomas

[1]: https://sessellift.wordpress.com/2015/10/15/behind-the-scenes-of-the-kde-phone-hig-part-one-basic-assumptions/
[2] http://www.uxmatters.com/mt/archives/2013/02/how-do-users-really-hold-mobile-devices.php
[3] http://www.uxmatters.com/mt/archives/2014/09/insights-on-switching-centering-and-gestures-for-touchscreens.php


More information about the Plasma-devel mailing list