96 lines
5.1 KiB
Markdown
96 lines
5.1 KiB
Markdown
# 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. The keyboard is too big for one hand typing.
|
||
7. 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.
|
||
8. 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 is solved by assigning alternate symbols when alt is pressed/latched/locked and the given
|
||
key is long pressed. A menu pops up, and as you hold the key the symbols are cycled through.
|
||
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 allow you to cycle through available
|
||
alternatives.
|
||
6. A toggleable UI that shows the left/right hand side keys, depending on a customizable setting for
|
||
left handed people.
|
||
7. I have no plans on adding a control key, as it is largely unnecessary on phones.
|
||
8. 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 is unused. I have no ideas what it could be useful
|
||
for. It can be set in Unihertz's software to do operating system actions, which I think is good.
|
||
|
||
# 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 simple
|
||
status bar, which shows the current shift/alt state, the current language, and a symbol bar which
|
||
appears when long pressing keys.
|
||
|
||
# Keymaps
|
||
Latin keymaps use the regular QWERTY layout of the Titan. There is one, large, general European key
|
||
layout, which contains all characters used in Europe.
|
||
|
||
## European
|
||
German has the most speakers, therefore it's diacritics are the first in the list. Then French and
|
||
Italian, which have similar diacritics. These come next. Afterwards, Spanish, then Polish, and the
|
||
rest.
|
||
|
||
## Cyrillic
|
||
Regular JCUKEN layout, with additional characters for other non-Russian languages.
|
||
|
||
## Greek
|
||
Works mostly like a regular Greek QWERTY keyboard. |