I want to make the next version of the Software Carpentry material more dynamic. I'm planning to use screencasts to show people how to use a debugger and other power tools, but I don't like screencasts for showing programming examples: the text is often hard to read (even when anti-aliased), and they're almost never accessible to the visually impaired.
(You can see why I'm not allowed to design user interfaces...) "Step Forward" and "Step Backward" don't actually execute code; instead, they replay a previously-recorded execution sequence and its textual output. Whoever created that sequence can add explanatory notes (like the bubble shown) that appear and disappear as execution proceeds.
Three things are needed to make this happen:
A desktop tool for recording and annotating the execution of small programs.
A data format for storing those recordings and annotation.
Ideally, this combination would also handle interactive interpreter sessions, in which the program appears as you go along, and output is interleaved with input. If you know of something that already does this, I'd welcome a pointer; if you don't, and are looking for a really cool course project, please give me a shout.