Project

General

Profile

Bug #12509

Feature #5464: Revamp Greeter interface

Feature #8230: Greeter revamp: Phase 1

The Greeter should have initial keyboard focus on the default action.

Added by dkg over 2 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
05/05/2017
Due date:
% Done:

100%

Feature Branch:
bugfix/greeter-fixes-for-3.0,greeter:bugfix/12509-keyboard-focus
Type of work:
Code
Blueprint:
Starter:
Affected tool:
Greeter

Description

i'm using 3.0~beta4. the new tails greeter is awesome!

however, when it starts up, the keyboard focus is on the language field. So if the first thing i do is hit enter, i get the language popover menu.

if the user just hits enter at first viewing the tails greeter, the default action should be to start tails.


Related issues

Related to Tails - Feature #5501: Persistence preset: locale and accessibility options (language, keyboard, and formats) in Greeter Confirmed 12/31/2015
Related to Tails - Feature #12186: Add keyboard shortcuts to the (revamped) Greeter Resolved 01/28/2017

Associated revisions

Revision 1ff42950 (diff)
Added by intrigeri over 2 years ago

Enable the feature-greeter-fixes-for-3.0 APT overlay (refs: #12509, #12462).

Revision 9d4c72bc
Added by intrigeri over 2 years ago

Merge branch 'bugfix/greeter-fixes-for-3.0' into testing (Fix-committed: #12509, #12462, #12550).

History

#1 Updated by intrigeri over 2 years ago

  • Assignee set to dkg
  • QA Check set to Info Needed
  • Affected tool set to Greeter

i'm using 3.0~beta4. the new tails greeter is awesome!

:)

however, when it starts up, the keyboard focus is on the language field. So if the first thing i do is hit enter, i get the language popover menu.

This is intended: Language is the setting most users need to change first when interacting with Tails.

if the user just hits enter at first viewing the tails greeter, the default action should be to start tails.

There's another keybinding to start Tails: Alt+S (discoverable by pressing "Alt" like other keyboard accelerators).

I'd rather not optimize Tails for English users (who already get lots of other advantages for free).

With this in mind, do you still think that Enter should start Tails? If so, why?

#2 Updated by dkg over 2 years ago

intrigeri wrote:

This is intended: Language is the setting most users need to change first when interacting with Tails.

if the user just hits enter at first viewing the tails greeter, the default action should be to start tails.

There's another keybinding to start Tails: Alt+S (discoverable by pressing "Alt" like other keyboard accelerators).

I'd rather not optimize Tails for English users (who already get lots of other advantages for free).

With this in mind, do you still think that Enter should start Tails? If so, why?

While i understand (and agree with) your political goal of not privileging english users, the current design makes the UI of the dialog box different from many dialog boxes -- the usual thing that happens when hitting enter on a new dialog box is the default action. In this case, the default action is the big blue button in the upper-right corner.

So there's a tradeoff to be made here between reducing user friction by following standard UI conventions, and giving non-english-speakers one less button to press (they won't need to hit tab to get to language selection).

If it were up to me to make the decision, i'd stick with standard UI conventions, but if you decide to make the tradeoff the other way, i'd support that decision too.

#3 Updated by emmapeel over 2 years ago

  • Assignee deleted (dkg)
  • QA Check deleted (Info Needed)

(information was provided, so editing the ticket)

Maybe we can discuss it on tails-ux, or is there a more specific place to gather input about the new Tails Greeter?

#4 Updated by intrigeri over 2 years ago

  • Assignee set to emmapeel

Maybe we can discuss it on tails-ux,

Yes, exactly. Can you please start the discussion there, and then reassign to me?

#5 Updated by emmapeel over 2 years ago

  • Assignee changed from emmapeel to intrigeri

#6 Updated by intrigeri over 2 years ago

  • Status changed from New to In Progress

Thanks!

#7 Updated by u over 2 years ago

I completely agree with dkg. The default action should be to be logged in directly, without any modification of settings.
Here are some arguments in favor of this.

Using the keyboard at all?

Normal users generally do not use the keyboard at all. They will click to start Tails, and click to change their settings. They will not be affected by this change.

Power users are the ones using the keyboard. Power users are used to Enter being the default action and they know otherwise how to navigate with their keyboard, using Tab or Alt.

With this in mind I believe that it's more logical to have Enter Start Tails than to have Enter do something weird and unexpected.

Default languages and persistent locale/language settings

The reasoning that english should not be the default is a bit controversial because it is also a fact that many people run their computer in english despite not being native speakers.

Besides, with the future in mind, let me spin an idea a little bit further: once we have language settings stored in Persistence, we will all want that pressing Enter simply loads our settings and starts Tails. Starting Tails is then the default action while selecting a language will be done automagically :)

(Un)Common keybindings

Finally, the Alt+S keybinding is not documented nor common, UI-wise. I was not aware of it until our Greeter developer told me it exists. (I believe some other people present that moment were not aware of it either ;)) Thus I doubt that this is a userfriendly way to start Tails.

#8 Updated by spriver over 2 years ago

u wrote:

I completely agree with dkg. The default action should be to be logged in directly, without any modification of settings.
Here are some arguments in favor of this.

Using the keyboard at all?

Normal users generally do not use the keyboard at all. They will click to start Tails, and click to change their settings. They will not be affected by this change.

Power users are the ones using the keyboard. Power users are used to Enter being the default action and they know otherwise how to navigate with their keyboard, using Tab or Alt.

With this in mind I believe that it's more logical to have Enter Start Tails than to have Enter do something weird and unexpected.

This. I totally agree here as I believe that non-technical users will use the mouse nevertheless for altering any default settings etc.
Furthermore it's the common standard to have Enter as the default key for confirming/opening/proceeding to the next setting/form/etc. in online forms, when opening a file or application via a file browser, when starting operating systems (eventually after selecting a user and entering a password) such as Windows or DE's as GNOME or KDE and much more use cases. E.g. once I'm done writing this text, I'll hit Tab three times and proceed with Enter.

(Un)Common keybindings

Finally, the Alt+S keybinding is not documented nor common, UI-wise. I was not aware of it until our Greeter developer told me it exists. (I believe some other people present that moment were not aware of it either ;)) Thus I doubt that this is a userfriendly way to start Tails.

Actually the keybinding "Alt+S" is going to be documented in the documentation of startup options. But it's definitely not an intuitive keybinding. The first time I tried the new Greeter I also pressed Enter by habitualness and was pretty surprised that the language settings got focused (by the time I was thinking that this was a bug being fixed later on).

#9 Updated by sajolida over 2 years ago

  • Related to Feature #5501: Persistence preset: locale and accessibility options (language, keyboard, and formats) in Greeter added

#10 Updated by sajolida over 2 years ago

  • Related to Feature #12186: Add keyboard shortcuts to the (revamped) Greeter added

#11 Updated by sajolida over 2 years ago

I think that this issue is of a very low impact, that whatever we choose is more of a "politics" vs "convention" issue (as dkg puts it) only affecting power users, and so not as a "bug that needs to be fixed" and as a consequence I don't want to spend a lot of time on it. I'm also very happy that other people already gave. But I'll answer given my special status regarding UX in this project :)

I would personally got for "Enter → Start Tails" and, in doubts, favors UI conventions but I don't have any crazy argument that hasn't been said already.

I also thought like Ulrike that once we have #5501 this setting will actually feel wrong, even not in English.

#12 Updated by intrigeri over 2 years ago

  • Subject changed from tails greeter should have initial keyboard focus on the default action. to The Greeter should have initial keyboard focus on the default action.
  • Affected tool changed from Greeter to WhisperBack

I still have doubts wrt. the "only affecting power users" argument: I agree it's probably true when we'll first ship this new Greeter in a stable Tails release; but then, if pressing Enter is the simplest, most convenient way to do what most users have to do first in the Greeter (choosing a language), then I suspect that over time more and more people will learn about it, and take advantage of it, while fewer people would learn anything more complex (Alt+L or Tab-Enter). So I'm slightly worried that this argument is a self-fulfilling prophecy, locking down "non-power users" into their box. But I realize that's a very weak counter-argument and I agree with most of what's been written above :)

Finally, speaking of UI consistency, I've checked https://developer.gnome.org/hig/stable/dialogs.html.en; the style of our Greeter window matches "Action Dialogs". The "Default action and escape" section reads: "Assign the return key to activate the primary affirmative button in a dialog (for example Print in a print dialog). This is called the default action, and is indicated by a different visual style. Do not make a button the default if its action is irreversible, destructive or otherwise inconvenient to the user. If there is no appropriate button to designate as the default button, do not set one." Everything written in there leans toward assigning the return key to activate "Start Tails", except perhaps "otherwise inconvenient to the user" for non-power users ready to learn a little bit, but as said above it's probably too subtle an argument to counter-balance all the other ones.

So I'm now in favour of making "Enter" activate "Start Tails" by default by giving it the initial keyboard focus.

I've tried to think about a trade-off (do this, but focus language by default so one can open it with Space) but the GNOME HIG says that Return should "Activate focused button, menu item, etc" so that wouldn't be consistent => forget it.

#13 Updated by intrigeri over 2 years ago

  • Target version set to Tails_3.0
  • % Done changed from 0 to 10
  • Affected tool changed from WhisperBack to Greeter

#14 Updated by intrigeri over 2 years ago

  • Parent task set to #8230

#15 Updated by intrigeri over 2 years ago

  • Assignee changed from intrigeri to alant

#16 Updated by alant over 2 years ago

  • Assignee changed from alant to intrigeri
  • % Done changed from 10 to 50
  • QA Check set to Ready for QA
  • Feature Branch set to bugfix/12509-keyboard-focus
  • Type of work changed from User interface design to Code

#17 Updated by intrigeri over 2 years ago

  • % Done changed from 50 to 60
  • Feature Branch changed from bugfix/12509-keyboard-focus to greeter:bugfix/12509-keyboard-focus

Code review passes, merged into greeter:feature/stretch, will now build+upload a package to some topic branch and test.

#18 Updated by intrigeri over 2 years ago

  • % Done changed from 60 to 70
  • Feature Branch changed from greeter:bugfix/12509-keyboard-focus to bugfix/greeter-fixes-for-3.0,greeter:bugfix/12509-keyboard-focus

Build + uploaded.

#19 Updated by intrigeri over 2 years ago

  • Status changed from In Progress to Fix committed
  • % Done changed from 70 to 100

#20 Updated by intrigeri over 2 years ago

  • Assignee deleted (intrigeri)
  • QA Check changed from Ready for QA to Pass

#21 Updated by intrigeri over 2 years ago

  • Status changed from Fix committed to Resolved

Also available in: Atom PDF