On desktop, I use the AI-designed Halmak Keyboard, and its had great results.

Rather than manually picking letter positions, Halmak was designed by an evolutionary algorithm, based on a given set of criteria, and sample text.

I designed the original english thumb-key layout manually, with trial-and-error, and based essentially on 3 criteria:

  • Letter frequency
  • Alternating thumbs
  • Thumbs come from the bottom corners, so lower and edge tiles are easier than higher.

But I did not take into account things like digrams / trigrams, and I don’t know enough about evolutionary algorithms to do it.

Would anyone be interested in tackling this problem?

  • Lewis144
    link
    fedilink
    arrow-up
    4
    ·
    2 years ago

    I’d be willing to give it a try. Have you done any work on the hand movement model, like he shows at 2:06 in the video you posted? Mine would be different from yours, since I type with just one thumb.

    The important part is how much time it takes to type key 1 after typing key 2, right? Maybe just logs of people typing with time stamps for every key or something? Then I could make a map to teach the AI with.

    Are you particularly attached to the evolutionary algorithm? I might try a few different ones.

    • Lewis144
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      Oh it looks like MessagEase has. I should’ve looked at their paper first.

      • DessalinesOPMA
        link
        fedilink
        arrow-up
        3
        ·
        2 years ago

        MessageEase unfortunately didn’t do any optimization after their first 9 letters ( and I don’t fully trust what they did there either ). When it came to the swipes, they based it off of whether the letter was curly-shaped or not (curly shaped letters go off the center key)

        • Cargon
          link
          fedilink
          arrow-up
          2
          ·
          9 months ago

          @Dessalines where did this end up? I have experience with genetic / evolutionary and similarly applicable optimization algorithms and would be interested in helping to optimize the layout.

          • DessalinesOPMA
            link
            fedilink
            arrow-up
            3
            ·
            9 months ago

            We could definitely still use some help. Check the github issue, but dev has stalled on it.