Alice: Lessons Learned from Building a 3D System For Novices
Some good observations from a CHI 2000 paper (pdf) about Alice, a 3D scripting environment for novices:
"All commands in Alice animate over a period of one second.... This is not just a flashy trick but is a critically important design decision.... In a system without animation, a user can easily make the mistake of using the Move command with a distance that takes the object off the screen. An instantaneous move effectively 'teleports' the object out of sight, a mistake that is visibly indistinguishable from a delete command."
"Perhaps Alice's most distinguishing API feature is that it allows people to create behavior for three-dimensional objects without using the traditional mathematical names for the coordinate axes: X, Y and Z. Instead, Alice uses... Forward/Back, Left/Right, and Up/Down.... While it is true that some objects do not have an intrinsic forward direction, ... there are no objects that have an intrinsic X direction."
"Over 85% of users made case errors and many continued to do so even after learning that case was significant."
"Encouraging everyone on the development staff to observe real users is an excellent way of sensitizing an entire team to the needs of one's target audience."
"When faced with a new Alice command that required a numeric parameter, we saw many users try using a "1" to see what would happen.... "Magic ranges" like 0..255 and 0..32767 do not hold much appeal for novices."
"Function overloading and optional keyword parameters in a programming language can be used to support the controlled exposure of power, masking API complexity until the user is motivated to use it."