It will be quite some time before I get around to this project. I haven't done any computer programming in a number of years, but when I did, I did it for a very long time every day. I had to quit computer programming cold turkey because it was interfering with my life. But with that said, I never developed for Android or used Kotlin. So I have to learn that first. Being that I have experience with other languages, I figure I could dive head first, start with this forked project, and just use it as a base to come out with my original idea from years ago.
short summary... Outside of not spelling word correctly (on that note this keyboard could partly help you learn to spell). And without saving any personal user predictions, Everyone will have the same typing experience. I know that sounds odd to mention this up front. But your keyboard will constantly changing. you will have two tic-tac-toe looking boards on each half of the keyboard. I know thats only nine characters... there will be a few different settings to change how you see the rest, with predictive algorithms, being good enough you shouldn't need to bring them up.
The goal is to have your thumbs NEVER have to cross sides on the keyboard, And to NEVER have two consecutive presses with the same thumb, always alternating. with a glass screen you can't really touch type that well and have to always look anyway. But have you noticed the habit of, and quite often, Using your left thumb to reach the right side of the keyboard and vice versa. Have you ever analyzed why? short answer is the flow your in is physically faster for you combined with comfort of not tightly curling in your thumbs. In these 3x3 grids, the character with the highest probability will be in the dead center of the grid. the second from the highest probability will be in the top row to the center, Meaning, whichever thumb you are using, it will be fully extended. And the character with the least probability of the top nine will be on the bottom outside corner, Meaning The placement of the thumb would be curled in, the most that it would be. ... If the character you want is not there, there will be several options to make it show Keeping comfort and speed in mind.
So yes, the keyboard will look a little wild to be typing on.
But without using personal predictions. Every single given instance, everyone will experience the same pattern of changes 100% of the time for each unique instance. lowering and easing the learning curve. Your brain will catch on the the patterns anyway.
But if you involve options to learn from your typing, someone else that has used the keyboard and has it mastered will not have the same experience on your personal keyboard. But by using that feature, there will be less instances of the character that you are wanting not being in the grid of 9 highest predictable. But I'm not sure I want to include that feature because it would reduce privacy, potentially. Even though the keyboard will not be capable of having internet access. There's always a chance of having your phone taken from you for different reasons, legal or not.