I think a visual/natural language command line could be the future of UIs. To get people to use basic visual programming tools instead of relying on trivial apps made by others, you need to force them into it, like BASIC did on old computers. If the divide between programming and general UIs for everyday tasks was reduced, people would be much more receptive of programming. It would involve the same type of thinking they'd practice daily.<p>OSX Automator makes a whole class of quickie apps redundant. Batch renamers, resizers, converters are a few autocompletes and drag and drops away. Mathematica and Wolfram Alpha let you do annoying little programming tasks with a large library of curated functions accessed with autocomplete/natural language - <a href="http://blog.wolfram.com/2010/11/16/programming-with-natural-language-is-actually-going-to-work/" rel="nofollow">http://blog.wolfram.com/2010/11/16/programming-with-natural-...</a><p>A visual/natural language command line could do the same for general computer use. Instead of finding some tiny poorly designed buttons in a giant app, you'd type in what you want and find it faster, foregoing the usual step of the application's help. A simple example would be removing red eye in photoshop. Finding that tool for novices is the full app is impractical. So they're forced to get dumbed down photoshop where the tool's placement is more obvious. Instead they could have typed red eye, scary eye, fix eyes, into the full app.<p>Also the placement of red-eye remover is so obvious in basic photo editors that they leave little room in the UI for other common tasks. What about make skinny? Remove wrinkle/pimple? Those become far harder to present with the GUI paradigm. Heal brush and liquify are not helpful names for novices.<p>The modern GUI strayed too far from the command line in order to remove modes and make computers novice friendly. Other directions weren't thoroughly explored.