Command Lines: the next UI breakthrough?
scribd.com
scribd.com
There was a movement for several decades that assumed that _everyone_ is visually oriented, but there are many people who are still language oriented. Not everyone likes just picture-books.
I'd postulate that it was the adoption of the GUI that let the PC spread into the mainstream. Most people just don't have the patience to look up commands. Periodically, there are nostalgic pronouncements that the command-line will reign supreme again, but mostly this seems to be because the tech pundit population largely overlaps with the comfortable-with-computer-before-they-became-mainstream population.
This kind of "cmdline" tools win in some specific areas because they work perfectly with thin clients and via thin communication channels. All you need is to send a couple of words to the server using some relatively simple standard local application - be it a browser or your console client.
And it's verbose: "List all the files in my current directory that in in '.txt'" isn't nearly as nice as "ls \.txt". Do we really need ad-supported fluff from Google, Yahoo, and Microsoft, when we still have bash?
Machine conceptual awareness will be a big thing on the internet, but it is a HARD problem. We will then enter the world of Find engines instead of search engines.
There's nothing wrong with expressing a vague idea vaguely, but if you're definitely looking for definite information, you should use whatever method gets you exactly what you're after. If you chain together enough 90%-right assumptions, your probability of getting a wrong conclusion approaches 1.
For mathematical formulas and formal queries, the user would need to use formal notation.
It's true that it's all math/physics/chemistry underneath, due to how the brain works, but in practice we never worry about that, just as an engineer doesn't generally consider quantum and relativistic effects when he's designing a bridge, or an outfielder doesn't scribble down a bunch of differential equations before catching a fly ball.
Sure, any standard computer is equivalent to a bounded Turing machine, but Turing machines are a real pain in the ass to program.
Mathematical purity is one thing. Getting your work done is quite another.
Over-mathematization is what killed AI (IMO).
Been taking precisely that approach for some time thinking through and trying to create a CLI with recognition. The novel approach consisted (I've since stopped working on this particular problem) of an interface that interacted with some known commands, applications and data.
The more you type into the machine, the more it recognises certain things related information names, associated projects, that appointment you have for next week, the document due next week. The crux was realising that meaning could be attained from small SMS like messages. A message could consist of peoples names, times, predefined commands. Then trying to weave some sort of context within related messages.
The big problem is the contextual awareness. NLP is one way to go, but recognition without having to annoy the user with confirmation is difficult. Recognising language is a big ball of string. One promising approach is to add a Adventure like shell interface onto the front, pre-describe (or dynamically build) the space you can navigate. This means your using a human brain to augment the system offsetting having to use the brute force approach. Then integrate with back-end applications.
Sounds good in theory but I agree it is HARD.
Once we launch StreamFocus and have the system streamlined, we'll get back to that HARD problem. We're pretty close to a solution though, and it involves making a new conceptual language as a subset of lisp. Pattern matching never works, you have to have the actual conceptual hierarchical structure as well as the links between concepts, etc. (We've been working on the underlying epistemology and programming for this since 1998.) We plan to launch a product that creates a conceptual index on top of a standard database, creating effectively a database with conceptual retrieval. The system is multi-lingual as we model the concepts in the same way humans do, independent of the language used to express the concepts.
If you download it you can then use Foxit Reader or this online viewer: http://view.samurajdata.se/