A keyboard that adapts to the user.
Keydrop is a project that aims to create a keyboard that adapts to the user. The idea is to hide the keys which are unlikely to be pressed and display a different key (that is more likely to be pressed) in their place.
This project is a prototype of a keyboard developed for research purposes. It has minimal error checking, and some bugs are possible. There is no warranty, and you use it at your own risk.
The article titled "Keydrop: Dynamic Keyboard Layout for Faster Typing and Fewer Typos" was published in International Journal of Human–Computer Interaction (https://www.tandfonline.com/doi/full/10.1080/10447318.2023.2215624).
To run the application, only a web browser is needed, but installing the application on the phone is recommended.
For code execution following requirements needs to be met:
- Python (for processing data)
- JavaScript
- Node.js
- Quasar Framework (Vue.js)
The testing application is still available at rsusik.github.io/test (works only on cell phone as PWA), but we no longer collect any data.
@article{doi:10.1080/10447318.2023.2215624,
author = {Robert Susik and Szymon Grabowski},
title = {Keydrop: Dynamic Keyboard Layout for Faster Typing and Fewer Typos},
journal = {International Journal of Human–Computer Interaction},
volume = {0},
number = {0},
pages = {1-9},
year = {2023},
publisher = {Taylor & Francis},
doi = {10.1080/10447318.2023.2215624},
URL = {https://doi.org/10.1080/10447318.2023.2215624},
eprint = {https://doi.org/10.1080/10447318.2023.2215624}
}
We conducted an experiment involving 54 participants, to find out if the Keydrop keyboard layout is competitive to the gboard-like QWERTY layout in terms of typing speed and the number of typos. The task was to manually copy English sentences; typos were highlighted and had to be fixed immediately. Results showed that, on average, users type by 6% faster, making 33% fewer typos.
The list of participants' cellphones used in the experiment:
Phone | Number |
---|---|
xiaomi redmi note 10 | 2 |
xiaomi redmi note 8 pro | 2 |
xiaomi redmi note 5 | 2 |
samsung galaxy a32 | 2 |
samsung galaxy a22 | 2 |
samsung galaxy a52s | 2 |
samsung galaxy a52 | 2 |
poco x3 | 2 |
iphone 13 pro | 2 |
iphone se | 2 |
xiaomi mi 10t lite | 1 |
xiaomi mi a3 | 1 |
xiaomi mi note 10 lite | 1 |
xiaomi redmi note 11 | 1 |
xiaomi redmi note 10 pro | 1 |
xiaomi redmi note 9 pro | 1 |
xiaomi redmi note 9 | 1 |
xiaomi redmi node 7 pro | 1 |
xiaomi redmi note 7 | 1 |
xiaomi redmi 6 | 1 |
ulefone armor x8 | 1 |
termin note 8 t | 1 |
samsung s8 | 1 |
samsung s21 | 1 |
samsung m52 5g | 1 |
samsung galaxy s21 ultra | 1 |
samsung galaxy s9+ | 1 |
samsung galaxy s8 edge | 1 |
samsung galaxy m23 5g | 1 |
samsung galaxy a70 | 1 |
samsung galaxy a50 | 1 |
samsung galaxy a13 | 1 |
samsung galaxy note 10+ 5g | 1 |
samsung galaxy j5 2016 | 1 |
realme gt | 1 |
oneplus nord | 1 |
oneplus 6 | 1 |
iphone xs max | 1 |
iphone 11 | 1 |
iphone | 1 |
huawei y5 2018 | 1 |
huawei p30 pro | 1 |
huawei p20 | 1 |
honor 7a | 1 |