Physical keyboard layouts were optimized for typing with ten fingers. Most virtual keyboards just copy the look of those physical layouts — even though the writing experience is completely different, since on a screen we’re really only using one or two thumbs. On top of that, most of these keyboards focus on how the keyboard looks, and pay far less attention to how it sounds and feels.

With Honeyboard, I wanted to explore what it means to redesign a keyboard specifically for screens, and build the best possible writing experience around that. I focused on the essential core features that define what a virtual keyboard actually is:

  • Write in your native script. Honeyboard ships with 122 languages and 295 layouts.
  • A coherent experience for your senses. Organizational structure, visual, haptic, and auditory feedback all work together to make typing genuinely feel satisfying.
  • Adapts to any device. Phone, foldable, or tablet — it looks and works perfectly on all of them, so it feels like a native part of your system.
  • Fully local. It runs entirely on-device, with no special permissions required.
  • Public domain. The code is contributed to the public domain, with a modular, clear structure, thorough tests, and documentation — so it’s easy to contribute to or adapt yourself.

This isn’t just another keyboard. It’s a vision of what digital typing could look like in the future — and it already works today.

There’s still some polishing and optimization to do, especially on the sound design, the layout sources, and the layouting algorithm, but none of that gets in the way of everyday use.

I’d love to hear what you think.

  • lad@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    2 months ago

    I can’t quite understand how tob switch the language to a secondary, and the secondary language is gone from the full list of keyboards after switching to HoneyBoard.

    Capitalisation by upwards swipebis a nice featiure, would be cool to also have punctuation available with swipes. Also, I keep missing buttons but that’s lack of practice, the idea looks great