Thursday, November 26, 2009

Emacs screencast: rectangles

I've just made a screencast about using rectangles in Emacs, so I figured I should explain how I made it.

I made it with ScreencastMode for Emacs - which I happen to be the author of.
With it, you can create a screencast by writing the manuscript for the screencast in a mix of natural language and elisp. The playing of the screencast itself is handled by Emacs - by stepping through the manuscript at pace equivalent to as if a human had done them. The video-recording at youtube is done using this.
The mode supplies utility functions for the producer such as pauses, slow typing, and blinking regions.

A simple example screencast file looks like:
(require 'screencast)

(screencast 
  '(
    "This is the message-buffer."
    (i "This is the command-buffer.")n
    "I will now show you how to save the command-buffer:"
    (save-buffer)
  )
"sample"
1.1
)
      
Which results in the following buffer output when the screencast has been played to the end.

Notice how the message-buffer contains the description of the commands done on the command-buffer. That is the way it works: the message-buffer describes what is going on in the command-buffer

More screencast sources can be found here.

Some critical questions has been asked about ScreencastMode, here are my attempts at answering them:
  • Why not read the info pages, which contains more details?
    • some people finds it easier to watch movies than reading static text.
    • screencast-mode displays the capabilities of a mode, instead of describing them.
    • those who just need to know how to use a mode doesn't need all the details of the info-page.
  • If videos are superior, why not just create a regular video?
    • a video is static, it's hard to change it if you discover an error - you'll have to do it in one take unless you got some video editing software.
    • the screencast sources can be edited by others, inviting collaboration (also it's a lot smaller size-wise)
    • the screencast will tell the user if his Emacs is configured right to use the feature it explains

1 comment:

  1. thanks for your screencasts. fwiw theres an emacs video edit mode... http://1010.co.uk/gneve.html

    ReplyDelete