Screencasts

Screencasts are video recordings of a computer screen, usually with accompanying narration. They can be a useful tool in documenting or publicizing software features, or can be used to analyze performance by watching frame-by-frame.

Mac OS X

 * QuickTime Player includes a "record screencast" feature. This can record an entire screen or a rectangular portion, and can record audio along with it. You'll have to convert to .ogv or .webm to upload.

Linux

 * insert tools here

Windows

 * insert tools here

iOS
The iPhone Simulator in XCode can be used in combination with standard screencasting tools on Mac OS X; this runs very smoothly and will give a good frame rate, and works in both portrait and landscape orientations. However this does not allow you to use the device camera to take photos, or to test workflows with third-party apps.

Android
The emulator in the Android SDK may be recorded with desktop screencasting software, but performance is notoriously bad. This also doesn't make it easy to show interaction with other apps, which may not be installed in the emulator.

Android Screen Monitor tool uses the Android USB debugging interface to take continuous screenshots from a real device and mirror them to your computer's screen. You can then use screen sharing or screencasting software to record. This can have a very slow refresh rate, but the actual software runs at full speed and you can demo apps running on a real device.

HDMI capture
brion (talk) has had some luck using a Blackmagic Intensity Extreme HDMI video capture widget attached via Thunderbolt to his MacBook Pro.

Once video is captured to a QuickTime file you can convert to .ogv or .webm and upload!

This widget is fairly picky, and the capture utility requires you to know what HDTV resolution your data's at to capture correctly. Note in particular that it does not support 1080p60, which seems to be a problem with some devices.

Devices known to work:

Devices known not to work: