That's a brilliant idea! Anyone fancy actually doing this?
I find I usually need to use a new feature a few times before it sinks
in, this can be hard when it's not something I need very often. A
game like thingy where I could try out the feature a few times (maybe
completing a timed task or something) would maybe help that a lot, and
could be fun too (for the weird definition of fun that applies to
people who like learning new Emacs commands)!
I'd probably be up for participating in a project to create a set of
these games, anyone else?
I'll check back on replies to this comment after Christmas, then maybe
put up a project page.
For scripted demos, I have a vision of a tool that's like the macro recorder, but that also logs the delay time between keystrokes. You can edit the recorded results if you like, adjusting the commands and the times, then play it back and it will slowly replay all the keystrokes, while echoing the name of each command into an auxiliary buffer like CommandLogMode does.
You could play back audio in sync with the replayed keys if the emacs play-audio function actually works. (Crosses fingers.)
Actually recording audio for a demo is almost certainly beyond emacs' capability. You'd have to use some audio-recording or screencasting software and edit it all together.
The game part might be done by creating a script that sets up a Game buffer, prompts the user (in a second buffer window) to perform an task in the Game buffer, and then just keeps checking the Game buffer to see if it has reached the "win" state, at which point you congratulate the user and go on to the next task. You have to also have prominent buttons for starting the task over, or for playing the standard solution for the task so that the student can watch. You might also want to keep score in keystrokes -- move the rectangle with fewer keystrokes and hear the special victory sound!
Yeah, that sounds about right, and command log mode locks like a good
base to build from. The real trick will probably be in coming up with
tasks that are both interesting and useful.
I find I usually need to use a new feature a few times before it sinks in, this can be hard when it's not something I need very often. A game like thingy where I could try out the feature a few times (maybe completing a timed task or something) would maybe help that a lot, and could be fun too (for the weird definition of fun that applies to people who like learning new Emacs commands)!
I'd probably be up for participating in a project to create a set of these games, anyone else?
I'll check back on replies to this comment after Christmas, then maybe put up a project page.