Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Dasher style "keyboard" #743

Open
Giszmo opened this issue Apr 11, 2021 · 3 comments
Open

Feature: Dasher style "keyboard" #743

Giszmo opened this issue Apr 11, 2021 · 3 comments
Labels
feature New feature proposal or a request; much more work than "ehancement"

Comments

@Giszmo
Copy link

Giszmo commented Apr 11, 2021

The text input is understandably very cumbersome but I think a dasher style input could work very intuitively and less disorienting.

Currently, to type a "t" I have to type right-left-right but it's not initially clear that the second click goes left and the third right after having found "t" on the initial screen. The user can't follow those quick slides of the letters, at least not in the first transition from full ABC. With the proposed change, he would

  • click-and-hold somewhere near the "t"
  • the alphabet would smoothly spread out from where his touch is being detected
  • if he touched left of the "t", "t" would travel right
  • confused users would release the touch but still wanting "t", they would return to touch around "t", resuming the "zoom" effect
  • as soon as "t" is the only letter on the screen, zooming would stop
  • releasing would chose "t"

The layout should get a slight change that the current input method already would benefit from:

Instead of

a b c d
e f g h

show

a c e g
 b d f h

The current easing from the two-line layout to the "a b c d e f g h" comes with letters running other letters over wildly which makes it harder to follow for the eye. "e" is for example covering the "|" of the "d" for some frames.

The new easing could delay the first line sinking into the second line, avoiding all overlap. After all, the full alphabet almost fits in one line already.

As this would be a highly interactive input mode, it would not be for everybody, especially not all would agree on one optimal speed but if a short touch would by default do a certain zoom, users would get to the wanted letter with 5 taps almost the old way, faster and with more confidence than with the current 3 taps at discreet positions.

@x1ddos x1ddos added the feature New feature proposal or a request; much more work than "ehancement" label Apr 12, 2021
@jadzeidan
Copy link
Contributor

Thanks for the detailed proposal. Password input it definitely the trickiest part of using the BitBox02, whish is expected because of how "involved" the process compared to other on-device interactions. We tested quite a few password input methods before and found that our "ternary" method was the easiest to use while being the most precise as well (less wrong inputs than other methods). Of course this can always be improved. I haven't seen the dasher style input before. I tried out this demo, but I admit it was quite tricky to use :p. I think the only way to know for sure if it is an improvement is to test it. Maybe this is something we could test in the future when we have more time and resources.

@Giszmo
Copy link
Author

Giszmo commented Apr 19, 2021

The demo you found lacks some configurability to really appreciate what I had in mind.

  • it scrolls at dynamic speed which would not be possible on BB2
  • it scrolls way too slowly. As the full ABC would be possible when starting to write, it could zoom at least twice of the demo's top speed.
  • has all the letters, capital and small and special characters in the list which should remain in the switch above as is now
  • it has predictions switched on which naturally would not make sense on BB2. This you can switch off though

@Giszmo
Copy link
Author

Giszmo commented Apr 20, 2021

I put out a little bounty to implement this idea as a demo in JS. I'm curious to try it out. Actually I'm tempted to write it myself but I'm not a JS guy and I suspect it's more complicated than it looks at first.

Of course in the BB2 firmware it's orders of magnitude more complicated to implement which makes such a JS demo all so more valuable I hope.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature proposal or a request; much more work than "ehancement"
Projects
None yet
Development

No branches or pull requests

3 participants