Adam KrautBlogGitHub

A Domain Specific Language for Screencasting

26 February, 2008 - 1 min read

Two topics that I have been been reading a lot lately, Domain Specific Languages in Ruby and screencasting have converged to create a very cool little project called Castanaut. I found Castanaut via Peter Cooper of Ruby Inside. Castanaut is essentially a programming language for screencasts. So in castanaut you can write things like this:

launch "Safari", at(10, 10, 800, 600)
type "http://www.inventivelabs.com.au"
hit Enter
pause 2
move to(100, 100)
move to(200, 100)
move to(200, 200)
move to(100, 200)
move to(100, 100)
say "I drew a square!"
Thanks to the flexibility of Ruby, you can write your screenplay as a script and run it to automatically create a screencast. How cool is that? While this might take some of the personal touch away from screencasts, it could also be a powerful tool for those who need to create them in a more systematic way.