I read an article on ACM Queue magazine (Vol.4,No.6) about Human-Computer Interaction (HCI) - "The Future of Human-Computer Interaction", John Canny, University of California, Berkeley.
It was eye-opening.
The current user interface is optimized for the office environment. For the devices that are getting increasingly popular, such as a smartphone, the user interface should be optimized for a completely different environment. Instead of changing what is displayed based on the user's input such as button click, it should be changed based on the context, such as the user's current location, because those devices are not good for accepting user's input graphically. And those devices are designed to be used by speech, the interaction should be based on perception such as speech-based interfaces.