Top Screencast Sites for Open-Source Developers

by Ostatic Staff - Jul. 31, 2008

Let's say that you've decided to start using a new programming language or framework. How can you learn what to do, or take some initial steps? Years ago, the obvious answer was the buy a book, or perhaps a magazine. Today, you're likely to read an online tutorial, or one of the many blogs that have sprung up about many of these technologies.

While I appreciate (and read) many books and blogs, and even listen to several podcasts having to do with my favorite open-source technologies, I have become an increasing fan of "screencasts" -- tutorials that combine someone's voice with a snapshot of their computer screen. Watching a good screencast gives you the feeling that you are looking over the shoulder of a master programmer. The best screencasts are structured around a small project, and incrementally improve the project such that you can see how it grows. Screencasts often walk you through the author's (scripted) bugs and mistakes, allowing you to identify some of the most common errors, as well as see how to recover from them.

The screencasts with which I am the most familiar are those for the Ruby language, and for the Ruby on Rails framework. Railscasts, for example, are free weekly screencasts about Ruby on Rails development produced by Ryan Bates. Each Railcast is 3-5 minutes long, and demonstrates a single Rails programming technique. Peepcode has much longer screencasts, lasting 60-90 minutes, and charges for them. But at $9, I have found them to be a good bargain, particularly since I can reuse them later to refresh my memory. Both Railscasts and Peepcode make it easy to "play along" with the episode, by making the source code easily available.

 The Pragmatic Programmers, well known for their books about Ruby and Rails, recently launched a series of different screencasts. One, about metaprogramming and the Ruby object model, has definitely given me some new ideas, even though I have been programming in Ruby for a while. Each episode of these screencasts is priced at $5, making it affordable even if much of the screencast is not that new. Other screencasts are available about the Erlang programming language, as well as several other topics.

Other languages have also jumped onto the screencast bandwagon. Perl, which has extensive online documentation and a very active community, has a few screencasts at the Perl Foundation site, although I had problems getting the videos to load.

I recently discovered the two sites Best Tech Videos and Tech Screencast, both of which contain screencasts on a large number of topics. These sites seem to contain pointers to screencasts on other sites, rather than housing any on its own -- but the fact that they lists videos on many subjects, and that it has tagged the videos there by language and framework, makes them a good place to browse when you begin to look around.

Another company, called ShowMeDo is closer to YouTube in spirit, allowing users to upload videos, as well as rate and comment on the videos that are there. According to Python.org, ShowMeDo has a strong focus on Python, although there are videos on many languages. (That said, I only found one screencast about Perl, which struck me as a bit strange.)

JavaScript is one of the hottest technologies among Web developers, and there are screencasts for several of the most popular frameworks and libraries. Dustin Diaz, a member of the YUI team at Yahoo, has written a book about JavaScript for Apress, and is now offering several screencasts on JavaScript and YUI. Screencasts for other libraries, such as Ext, MochiKit, and Prototype, as well as more general JavaScript and browser issues, are also available.

In some cases, there is a fine line between a screencast and the video of a presentation that consists of the slides and the presenter's voice. Conferences, including last week's OSCon, are increasingly making talks available in video or screencast form, allowing you to learn from the conference without having to attend.

What is your favorite source for open-source screencasts? And what are the best tools for creating new screencasts, if you want to make and distribute them for others?