Problem
On a KaiOS device with a numerical keyboard, letters are grouped by 3 (abc, def, etc). Typing a specific letter often means cycling through other letters, numbers and characters, and that causes several unnecessary search queries. For example, to get to the letter C, we have to press the 2 key 3 times and that triggers search queries for "a", "b", and finally "c". These extra queries use up bandwidth, battery life and are slowing down the device.
Solution
Try to find a way to detect that the user is currently cycling through characters and only trigger a search when the last character is considered "confirmed".
In other similar situations (typing accented characters or Chinese characters using pinyin), there are compositionstart, compositionupdate, and compositonend events. I don't know if they exist in this context.
Steps
- On a device with a numeric keyboard
- On Search screen
- Press 2 abc
- Letter "a" appears
- No search is triggered
- Quickly press 2 abc again
- Letter "a" disappears and letter "b" appears
- Wait a second or press CSK to dismiss characters selector and confirm letter "b"
- Search triggered for letter "b"