5.1 KiB
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:
- The worst part is arguably the shift and alt keys being at the top of the keyboard, instead of on the bottom.
- The spacebar key is on the same row as the bottom QWERTY alphabet keys.
- 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.
- It lacks some commonly used symbols: ';', '&', '=', '<', '>', '$'. Other than that, it lacks some other symbols from regular QWERTY keyboards.
- There is no extra alt-gr key to type in localized letters.
- The keyboard is too big for one hand typing.
- 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.
- 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:
- 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.
- This is unfortunately unsolvable with software.
- See 1., latching the keys solves this issue.
- 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.
- 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.
- A toggleable UI that shows the left/right hand side keys, depending on a customizable setting for left handed people.
- I have no plans on adding a control key, as it is largely unnecessary on phones.
- 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:
- 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.
- Autocorrect, language switching, auto caps and periods.
- 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.