5 ms·
Great stuff. I think I'm developing a severe case of nerd crush on Zed. The part about linguistic experience was especially good. I have thought for some time
by jpr 16y ago
Great stuff. I think I'm developing a severe case of nerd crush on Zed.
The part about linguistic experience was especially good. I have thought for some time now that all configuration files, command-line options etc. should have simple and clearly defined syntax. Some already do. My dislike of weird, inconsistent and complex syntax (and semantics) is so severe that I've semi-intentionally not learnt shell-scripting, Perl or Ruby.
Sadly, there are very few systems that I feel I get a good linguistic experience(TM)(R) out of. I have come to think that GUIs as we know them are based on fundamentally flawed ideas - pointing and grunting - instead of using a language, the feature that separates humans from other animals.
I really wish good textual UIs (there aren't many that I know, but I'm using one for writing this comment: GNU/Emacs) became the norm, instead of the randomness of the contemporary GUIs or the bass-arckwardness of shell-like languages. I think UIs should aim to become Turing-complete, completely self-documenting and reflective. The distinction between a function, a program and an user interface is in my opinion mostly arbitrary and harmful, creating an unnecessary wall of misunderstandings between the author of a program and its users.
- jimbokun 16y ago"I have come to think that GUIs as we know them are based on fundamentally flawed ideas - pointing and grunting - instead of using a language, the feature that separates humans from other animals." The dilemma is that human language is staggeringly ambiguous. This works because human beings have an extremely sophisticated model of other human beings in their head and a really good pattern matching facility, which makes us really good at selecting the intended interpretation without even noticing the ambiguities. Presented with the languages we use to instruct computers, designed to be perfectly unambiguous, normal humans quickly get upset that the computer doesn't understand them if they veer the slightest bit from the tightrope of a language they're given to use. In other words, if you have a computer that faithfully and consistently passes the Turing Test, you may have something. Otherwise, pointing and grunting might be less frustrating for normal people. Another aside: pointing or at least gesturing is much better than even the perfect language interface for editing a photo or playing a video game. So it depends on the application.
- Qz 16y agoOne of the issues is that current UIs for computers have very little context information about whats on screen, which would make language based interaction much more convenient. Also, editing a photo is a perfect example of where language interface would be useful: instead of hunting through Photoshop's millions of menus for the graphic effect you want, you could just say/type things like: Scale to 200% Increase contrast 10% Resize to 400 by 600 I'm pretty sure that language based interaction for photo-editing would increase productivity by huge amounts. The other thing is that we've somehow locked onto the idea that the computer should be able to understand everything immediately or else it's not even worth it. But in the real world human's constantly miscommunicate, and we solve that problem very simply: ask more questions. So if the user says something like: Adjust contrast by 10% The computer could respond: Do you want to increase by 10% or decrease by 10%?
- whatusername 16y agoBut then you need to know the magic words (scale as opposed to "make bigger" or "zoom" or some other combination). Point and click context menus try to fix this -- "oh, it's 'scale'"
- Qz 16y agoOr you could just allow all of them. If they serve different functions in different situations, the program can just ask which function the user meant. The point is that rather than view the program as a slave that is expected to follow orders unflinchingly, the program can be viewed as something to be conversed with, and capable of asking questions of the user.
- damoncali 16y agoThis is how autocad works. (at least it used to - I haven't used it in several versions). An interactive command line complimented by a graphical ui is a beautiful thing.
- ntoshev 16y agoGraphic UIs show you what actions are available right there, linguistic UIs rely on you to think up a valid expression in that program's particular language to do what you need. GUIs will always be easier for simpler stuff, but less expressive than LUIs.
- gbog 16y agoNot sure I understand correctly "LUI" but if it means something near command line, I dare disagree. Two examples of "simple stuff" that are way easier in CLI than GUI: redo last action (up - enter), list actions done recently (history).
- ntoshev 16y agoLUI = "Linguistic" UI, including CLI You're right it can be easier once you are familiar with it, but there's nothing to suggest how/if "up" works if you are not.