37signals are developing a calendar application. Watch the demo and you’ll see appointments are entered as natural language (for example “3pm Dentist”). Compared to Yahoo’s calendar it lookspretty simple.
Think about it a bit more and you’ll realise the complexity is still there, just hidden behind a different interface. The GUI represents all the options graphically. The text box hides the options in the murky workings of the parser. 37signal’s example never shows what happens if you enter text the application doesn’t understand. For example, what happens if I write “Appointment with Dentist at 3pm”? Done badly it will be like those early Sierra games where half the challenge was discovering the words the program understood. Not a lot of fun, at least when you’re trying to enter your Dentist appointment rather than save a princess.
Note that there are other ways to solve this problem. Circle menusare a relatively unknown GUI device that allow faster input than traditional pull-down menus. I’m sure there are other innovative ideas out there. It is possible to create interfaces for complex tasks that suit both the beginner and expert alike.