3 ms·
I think it's much higher complexity than you may be giving it credit for. Each of the keyboards is likely "hand-positioned", or there must be a very complex rul
by danpalmer 4y ago
I think it's much higher complexity than you may be giving it credit for. Each of the keyboards is likely "hand-positioned", or there must be a very complex rules engine to cope with the myriad screen sizes, layout row and column count, the fact that columns are staggered, plus the hover behaviour for extra symbols, and that's not even counting things like Pinyin inputs or swipe inputs for symbol based languages. Oh and then there's the ML models for predictive text, spelling correction, key hit box detection, and swipe typing.
All this complexity means that you essentially need UI and logic to implement keyboards in the general case, and both platforms allow for third party keyboards, albeit with tight security controls given their privileged position.
- jenny91 4y agoThere are so many keyboard layouts for different countries and variations thereof. I very much doubt it's hand-positioned. The layout is not that hard, you can use a fairly straighforward linear constraint solver to lay it out on various different screen sizes. Surely at this level of localization it's more than an afternoon's worth, but I it's not hard in the grand scheme of things.
- danpalmer 4y agoMaybe it's not quite hand-positioned for every screen, but with the level of detail necessary in the constraints for a constraint solver to be able to do it, I think that might as well be considered hand-positioning in some sense. Also, it's only anecdotal, but in ~10 years of installing day-1 betas of iOS, I've yet to see an autolayout bug on the keyboard. Admittedly I'm using British English which I'm sure sees a lot of QA testing, but incorrect constraints would probably be a hot spot for issues, and I've seen autolayout bugs in a ton of other software, so my guess is still that it's not really that automated.
- azinman2 4y agoWhat makes you assume the keyboard is built with auto layout? It’s optional and adds overhead.
- snazz 4y agoI think this is it. There are a bunch of tiny details in the iOS soft keyboard that make typing more accurate and I bet a lot of the behavior is hard-coded. For example, if you use the split keyboard layout on the iPad and you try to hit the Y key with your left thumb even though it’s on the right side keyboard, the software will fudge it to make it work anyway. If you shift your thumbs while you’re typing and suddenly you’ve crossed the border onto another key, it seems like it shifts the hit boxes slightly to compensate (I’m not sure how to reproduce this one 100% of the time though).
- beebmam 4y agoIt's not THAT hard. The problem is that very few people use alternative keyboard layouts. In proprietary software/hardware, there's just not a lot of incentive to satisfy the needs of small minority of users. In the open source world, at least there's the possibility that individuals in these minority communities would be willing to make changes.