I think when it comes down to it, the current state of UIs is relatively good. The idea is to maximize the tool that is the computer. Most people are pretty good at using their hands to manipulate tools. The difference between computers and other tools is that computers basically exist in 2d (statically on-screen) and sometimes in 3d (dynamically/interactively on-screen) and other tools (cars, hammers, phones) exist in 3d or 4d (3d space + dynamic/interactive). The "next big thing" IMO will be uses of the computer that extend it to 4d (3d space + dynamic/interactive), like home lighting/security control, automated driving, microsensor weather reporting (drop 30,000 1 oz biodegradable networked weather sensors from a plane at 15,000 ft, they report where they land and the weather conditions there), ad hoc networking, etc. There's only so many times you can experience a UI revolution from your desk , and we've already gone through the monochrome->color, CLI->GUI, 2d->accelerated "3D", text i/o->multimedia i/o, and mouse wheely-thing revolutions.
And my unsolicited opinion on voice recognition: not gonna be widespread ever. For almost all applications it doesn't use the strength of the computer as a tool. Most applications don't require text as input, and commanding the computer with your voice is artificially imposing the human-human interface on the human-computer interface (which we have pretty good interfaces for already).
Just as an aside, it'd be nicer if we could impose the human-computer interface on the human-human interface. Someone swerving left into your lane from the right? Right arrow the other car. Significant other nagging you all the time? Redirect their output. Customer service agent getting frustrated? Restart the phone call. And how many people have wished for a real-life backspace key? Come on, raise your hands .
And my unsolicited opinion on voice recognition: not gonna be widespread ever. For almost all applications it doesn't use the strength of the computer as a tool. Most applications don't require text as input, and commanding the computer with your voice is artificially imposing the human-human interface on the human-computer interface (which we have pretty good interfaces for already).
Just as an aside, it'd be nicer if we could impose the human-computer interface on the human-human interface. Someone swerving left into your lane from the right? Right arrow the other car. Significant other nagging you all the time? Redirect their output. Customer service agent getting frustrated? Restart the phone call. And how many people have wished for a real-life backspace key? Come on, raise your hands .