Files
Titanboard/USER_EXPERIENCE.md
T

5.5 KiB
Raw Blame History

Titanboard user experience

Keyboards are an integral part of the functioning of any computer, including the smartphone. Care should then be taken to design keyboards to be as intuitive, easy to use, and unobstructed as possible.

The Unihertz Titan already has a physical keyboard. It's poorly designed in many aspects. Mainly, it isn't very reminiscent of a regular QWERTY keyboard which people are used to:

  1. The worst part is arguably the shift and alt keys being at the top of the keyboard, instead of on the bottom.
  2. The spacebar key is on the same row as the bottom QWERTY alphabet keys.
  3. The numerical keys, which are some of the most commonly used keys in phones (passwords, PIN codes) and in regular language are right below the alt key, which makes typing them very awkward. One could also argue that the numpad is in a "reversed" layout, but this is consistent with the usual layout found on phones.
  4. It lacks some commonly used symbols: ';', '&', '=', '<', '>', '$'. Other than that, it lacks some other symbols from regular QWERTY keyboards.
  5. There is no extra alt-gr key to type in localized letters.
  6. In my opinion, it also lacks a control key, but that is unnecessary on smartphones, unless you use the terminal or modify spreadsheets. However, providing appropriate UI elements for the actions possible on regular computers should be the responsibility of the application. Smartphones are simply different devices, with smaller screens and less space for complexity.
  7. Emojis.

However, when designing a keyboard app for it one should already use all pre-existing quirks and decisions which materialized in the physical keyboard. For example, the alt key should be used for the alternate characters printed on the keyboard, the shift key should give us uppercase characters and so on.

Solutions

Here are my solutions for the above listed problems:

  1. This is solvable with shift/alt latching. This makes it so when you press these keys once, the next key pressed will be either uppercased or the alternate key visible on the physical button. Additionally, the shift and alt key can be toggled by double-clicking in a fast succession, similar to regular visual keyboards on Android.
  2. This is unfortunately unsolvable with software.
  3. See 1., latching the keys solves this issue.
  4. This requires a visual keyboard, the UI of which is discussed later. Why does this require a visual keyboard, and not some alternate "symbol" mode, perhaps accessible with some keyboard shortcuts? That would make the learning curve of the keyboard higher, and it would be less intuitive. One should make sure not to complicate the physical keyboard any more than it already is, and use all of its idiosyncrasies but add no more.
  5. Similar to regular visual keyboards on Android, a diacritic/alternate key is assigned to each key according to the language. Long pressing a key will print it. Ideally, there should also be a popup menu allowing for several characters under one key. Cycling through the keys would use the shift/alt keys (so that no matter what key you use, the other hand can cycle through) and selecting it would happen on release of the key.
  6. I have no plans on adding a control key, as it is largely unnecessary on phones.
  7. I do not really use emojis, but I am aware that they are used by the majority of people. Most IM apps provide their own emoji list, so this isn't a priority. Designing a good UX for it is also hard on the Titan.

Taking into account typing ergonomics and pre-existing UX choices of other keyboard designers, this input method should make typing on the Unihertz Titan a pleasant experience. Other than fixing the fundamental issues, the keyboard should also:

  1. Provide a way of managing the clipboard, or at the very least pasting things with an UI element. This is to make the usage intuitive and not introduce any additional keys such as a ctrl key.
  2. Autocorrect, language switching, auto caps and periods.
  3. Some minimal customization, but just enough not to overwhelm the user.

For the Unihertz Titan Pocket/Slim, the sym key will be used as the alt+gr key, providing diacritics and such. This is because in the official documentation and implementation the alt key is designed for the alternate keys printed on the buttons.

User interface

Google recommends that visual keyboards should not occupy more than half of the screen estate. However, most phones have long, vertical screens, which means essentially that the keyboard will be a square, and so will the remaining view. On the Titan, the screen is already square, so the remaining space will be proportionally much smaller. Therefore, the keyboard should occupy very minimal screen estate, as to allow the user to see the application they are interacting with.

For this reason, I make sure the keyboard occupies 20–25 % screen estate. This is enough for a symbol bar and a suggestions bar, as well as some additional buttons such as language change or settings.

Both the symbol bar and suggestions bar are scrollable. The suggestions being scrollable is a feature on some visual keyboards already, however, I have come to the decision to make this for the symbol bar as well. An expandable menu would make the keyboard occupy half, or more of the screen. A scrollable bar is more intuitive and can hold an indefinite amount of characters, possibly also user-defined.

A simple divider between the suggestion and symbol bar is added to avoid accidental clicks.