AsTeRICS-Grid icon indicating copy to clipboard operation
AsTeRICS-Grid copied to clipboard

Predictive next letter scanning

Open willwade opened this issue 1 year ago • 2 comments

I was giving a lesson yesterday on scanning interfaces in aac and demonstrating your take on Huffman encoding. It’s neat. I I’ve been wanting to do a predictive scan order for a while. This is a demo written v quickly in vanilla js. Note we use ppm js for the language model. The training data is v small (you’ll see it in the repo) but it’s neat as it suppers any language. Note we have a quasi correction and prediction technique going on too.

What I was wondering - is this doable in asterics?

https://github.com/willwade/PredictiveScanningDemo

Demo https://scanningmvp.netlify.app/

willwade avatar Dec 20 '24 11:12 willwade

So if I understand it correctly, you're offering the most probable letters first and do normal scanning afterwards? While I like the idea, I'm not sure if it will be efficient in real work scenarios. I think if someone aims to become fast at a specific input method predictability is quite important in order to make it possible to automate things by getting used to it.

So I would guess that a keyboard layout ordered by letter frequency would be much better, since it's static, predictable and not changing everytime. The predictions of your demo change everytime, so it's some mental load each time to check if it suggests the correct letters.

I've created this layout ordered by frequency in the AsTeRICS Grid default config some time ago:

image

However, once I did some test runs on efficiency for different input methods and keyboard layouts for myself and I think I was fastest with row / column scanning on the standard QWERTY keyboard and not in any sophisticated Huffman coding / alternative keyboard layout - probably exactly because of the fact, that I know QWERTY and row/column scanning is very predictable and therefore allows high speed.

So to answer your question: it's not possible right now in AsTeRICS Grid, could of course be implemented, but I don't know if it actually will help people to type faster. (pretty sure you didn't expect such a long answer that fast 😄 )

klues avatar Dec 20 '24 11:12 klues

Yeah I hear you. The bottom line - does it work? I think we can calculate efficiency savings mathematically pretty easily. Although it does somewhat depend on whether you use word predictions etc. but as you say - it’s whether some does just use motor planning or heavily rely on visual cues.

Nb. Back story

  • https://acecentre.org.uk/projects/switch-scanning-frequency-analysis
  • echo https://acecentre.org.uk/resources/echo (this spelling technique is one of its usps) Oh also
  • https://github.com/AceCentre/AAC-Corpora-Collecting/tree/main/Grid3
  • https://maxhalford.github.io/blog/dynamic-on-screen-keyboards/
  • https://news.ycombinator.com/item?id=42458599

But yes. The real thing to do is some analysis of this.

willwade avatar Dec 20 '24 14:12 willwade

Ok. I think I can do this. But I will do it as a new cell type. I'll hold back till the prediction improvements PRS are finalised into master. It's getting messy

willwade avatar Aug 18 '25 21:08 willwade