| Reading this crystalised some thoughts I've had for a long time, but never been able to express clearly. Yes, vim is a non-discoverable interface. http://www.google.com/search?q=discoverable+interface ( Side note: from that search I found this: http://www.catb.org/~esr/writings/taouu/html/ch01s01.html There it lists "... concision, expressiveness, ease, transparency, and scriptability." It then expands on each, but mysteriously quote "Discoverable" in place of "scriptability." Very odd. But I digress ...) Now the question is - without having to wade through plodding tutorial after plodding tutorial, how can we help people discover the interface? This doesn't just apply to vim, it applies to your web site, or application, or even your company procedures. It's now a long time since I learned about :sp and ctrl-w to create and move between windows in vim. How can we help others find these things? How can we help them find the fast way of doing things on our web facility? As a parting note - I wouldn't equate efficiency to "user-friendly." |
Second problem: And even then, you can't find it in the help (it's organized like a professional index - like that of a legal textbook - you have to know what you're looking for before you can find it). Google solves this problem.
Google also helps solve the first problem, of "what to search for": you search by describing the difficulty or problem you have. A brilliant resource for this is Stackoverflow. It's works well for developer-centered, technical questions. The internet is the vim help: "a user generated FAQ". But this is just a way to cope with poor discoverability - the real answer is to design the interface to be discoverable.