dhh1128 / intent

the intent formal language
https://intentlang.org
2 stars 1 forks source link

Evaluate usability of various aspects of intent #61

Open dhh1128 opened 9 years ago

dhh1128 commented 9 years ago

Aspects to evaluate:

  1. How usable is the tutorial
  2. How usable is the implementation of a "space"
  3. How usable are various coding constructs, such as loops, error handling mechanisms, and key marks
  4. How usable is its security.

See http://www.nngroup.com/articles/usability-101-introduction-to-usability/ for a reference on usability. 5 aspects: Learnability, Efficiency, Memorability, Errors, Satisfaction. Usefulness = usability + utility.

One way to make operators more usable is to allow users to insert questions (like an autocomplete prompt) or to use mnemonic names such as "IN" instead of "::".

dhh1128 commented 9 years ago

One useful point of comparison would be to test the usability of existing languages in some of these dimensions, to understand what does and does not work.

Maybe I could test language constructs unfamiliar to a given programmer (e.g., give a ruby loop to someone who's never written ruby).

dhh1128 commented 9 years ago

Consider building paper prototypes instead of polished stuff. Could apply to tutorial as well as IDE experience.

dhh1128 commented 9 years ago

Use Nielsen's 10 rules of thumb:

http://www.nngroup.com/articles/ten-usability-heuristics/

I am particularly interested in recognition vs. recall and progressive disclosure/minimalism. In Nielsen's verbiage, it's about dialogs or windows, but think about this in terms of blocks of code: can we design for() loops or switch/handle/dispatch blocks or function decls such that little has to be specified in the normal case?