v0.1.29-rc1
This update completely overhauls swipe typing in FUTO Keyboard! This is a release candidate, please report if you experience any new issues or regressions
FUTO Swipe
We are introducing FUTO Swipe, our new swipe typing system that achieves leading accuracy. This has been a long project in the making, starting with our dataset effort back in late 2024, where thanks to your contributions we built a dataset of 1 million swipes on QWERTY English. It's thanks to this dataset that we've been able to make absolute accuracy evaluations, do various experiments, and develop the system we are releasing with this update.
How accurate is it? In my opinion, a good measure is to look at the error rate (1.0 - accuracy), rather than just accuracy, since it becomes difficult to grasp the numbers that are mostly over >90%. So here are the error rates for a few relevant keyboards, tested on our public test set in-emulator. A lower number is better, because it means fewer errors. Top-1 error is the rate at which the primary word was incorrect, and top-4 error is when neither of the 3 alternatives were correct either.
| FUTO Swipe | Gboard | iOS | Heliboard w/ Google library | Old | |
|---|---|---|---|---|---|
| Top-1 error | 7.38% | 11.05% | 10.82% | 13.12% | ~34% |
| Top-4 error | 4.19% | 5.66% | 7.14% | 7.63% | ~27% |
That's right, we are not matching the big keyboards on this benchmark but rather exceeding them, achieving 26% fewer errors relative to Gboard! Hopefully, swipe typing accuracy will no longer be an issue for you on FUTO Keyboard.
The suggestion bar will now show 3 alternatives after you finish swiping. This is so that you can make full use of the top-4 accuracy (1 accepted word + 3 alternatives). If you prefer the old behavior of showing the accepted word in middle, you can change this in settings. There, you can also find options to change the spacebar and backspace gestures, including disabling the spacebar cursor movement.
We will be working on more evaluations and improvements as we work on a paper, and we welcome feedback about specific cases where the new swipe system is lacking
Emoji compatibility
We added Unicode 17 emoji, and reworked the emoji menu a bit. For a while, you may have experienced missing emoji in the emoji menu if you're on an older Android version - this is because we depended on the system font to provide emoji, and if an emoji was from a newer Unicode version that wasn't supported on your system, then it wouldn't be displayed.
On Android, the typical workaround for this is to use an emoji compatibility library called emoji2, but unfortunately the default implementation requires internet access to dynamically download fonts for missing emoji on the system, which is unacceptable for us as an offline keyboard app. Emoji2 provides a bundled library as an alternative, but this would add a shocking 9MB to the app just to support a handful of emojis on some older devices!
It appears that many of the emojis they bundle are unnecessary, so this new update includes a significantly trimmed compatibility font at only 1MB. Now, you should be able to insert from FUTO Keyboard, even if you're on Android 7. You may still see tofu rendered by apps - unfortunately this is beyond our control and is on application developers to fix.
Other changes
- You can now search in clipboard history (thanks to #1935)
- Added ClearFlow (thanks to @jpds)
- Layout system has been updated to make it easier to override attributes of preset keys like shift, delete
- The QWERTY transformer model no longer attempts to make autocorrections on non-QWERTY layouts, as these predictions were mostly useless in such cases
- Added an option to disable the voice input bubble animation
- Pasting a quick clip now produces haptic feedback
- The emoji menu backspace key should work more consistently now
- Custom layouts menu now asks for confirmation before deleting
- Fixed clipboard screenshots not working on Samsung
- Fixed enter key not working in certain special text fields