On-screen keyboards should be user-scaleable and user-configurable. Not just in size but in proportions of, say, the space key relative to the shift keys. And even to complete redesign of key position. Not just remapping. Redesign. I've written about this before. And I don't understand how this isn't obvious to everybody. And how can all these millions be getting spent on tablet designs and even special tablet-optimized OSes and not have this be a gimme?
A virtual keyboard is just a skin. Why aren't they treated like skins? Does anybody have a virtual keyboard that provides a toolkit for creating your own layout? Because I've been looking for years now and I haven't seen one. If I want a keyboard sized for a stylus so most of my screen will be free for text, I should be able to have it. If I want my keyboard to be a double row of teeth in a glowing skull, I should be able to have it. If I want a script to automagically swap my keyboard design out once a week, I should be able to have that, too.
Not to mention that a keyboard, ideally, should be able to be set to slowly but dynamically shift proportions to optimize for usage. If I use the number keys all day long for weeks, then those number keys should become a bigger percentage of total keyboard area the longer I keep doing that. Perhaps even bringing up a dialogue box eventually asking if I want a numerical keypad to come up instead or as well. Swype is a great technology. It helps. But not enough.
The first company to sell such a virtual keyboard will make buckets of money. And everybody will say that they knew all along.
Almost all of this could be done with the tools that came with Hypercard back when Reagan was president and OSes fit on floppies. So why aren't we doing it now?