[ What tool(s) can I use to produce iPhone App Screencasts? ]
I need to produce demonstration video screencasts for my iPhone app... I'm referring to those such as this one for the Reddit iPhone app (the one on the right, not the YouTube video).
I'm assuming the best way to do this is to record the simulator using a screen recording utility, does anyone have any other methods? What tools have you used successfully?
For my screencast here, I ran the application in the iPhone Simulator and recorded it all using ScreenFlow. I can't recommend ScreenFlow highly enough, as it really simplifies the whole process. ScreenFlow records your entire screen, but it provides excellent editing capabilities for cropping the video to the relevant 320 x 480 (or 480 x 320) section, as well as fading in and out title graphics or lettering. I also used SimFinger just to provide a good cursor, but I see that the latest release of ScreenFlow now has that capability built-in.
For a microphone, I actually used the USB one from Rock Band. It's a surprisingly good Logitech microphone that's recognized as soon as you plug it into your Mac.
I needed to do a little post-processing of the MP4 output to make sure that the video could be played natively on the iPhone. I've used both VisualHub and iMovie to produce MP4 videos with all the right settings to play on the device. Both have simple iPhone export profiles.
I'm surprised that nobody mentioned QuickTime's built-in screencasting feature. Here's a little guide on how to make a "decent" screencast on Mac OS without any additional tool.
You will have better results if you use it with SIMBL, which was mentioned by a lot of people. it is not a screencasting application, but a tool to make your iOS screencast look better.
The author of Tweetie recently wrote a post about what he does, and a tool he wrote called SimFinger. Yes, it does record the simulator. If I were producing an iPhone screencast, that's where I would start.
If you have to shoot on the device (e.g. when accelerometer, GPS, camera, etc. are used) you currently have to resort to the jailbreak world. The app "Display Recorder", available for $5 in the Cydia Store, allows to create an AVI movie of the iPhone's screen content. This works across all apps. There's a YouTube video showing it. The movie files can then be uploaded to YouTube or pulled off the iPhone via the built-in web server.
You can try one of those few integrated solutions out there. I know one's called "capsim" and there's a new one called "sound stage"
Screen capture applications like ScreenFlow and "Snapz Pro X" work fine if you don't need to record mult-touch or accelerometer. However if you do, then you must choose another solution. Either film with a video camera or use iSimulator and then record the simulator using applications like ScreenFlow and "Snapz Pro X". For information how to install iSimulator see http://bobueland.com/cocos2d/?p=358
Another solution (that I haven´t tested yet) is to use screen mirroring. That is if you have iPad2 or iPhone4S. You need to buy Apple Digital AV Adapter (39 $ as of Nov 2011) and then you can mirror the iPad or iPhone screen onto an external screen.
For free Mac OS X screen recording with iPhone ad looking results, you can use use the Screenium demo app to record a flawless 30 second video of your iPhone simulator without limitations or overlays. Once you start making money from your app, the full product is cheap. Encoding to iPhone format provides a good lightweight output. Turn off the mouse for SimFinger. You can view an example video at 3k Top Chinese Characters. Definitely use SimFinger to add that realistic shine, and the iPhone device reflection users expect.
Longer term, I will buy the iSimulate iPhone app to see whether interacting with the iPhone's touch screen instead of the mouse to drive the screencast can give smoother, more realistic results (this also has advantages if you use the accelerometer or multitouch).
The solution I'm going with is SimFinger to provide the "finger" and SnapZ Pro X for recording. I read a great excerpt from an upcoming book on HTML 5 that convinced me that I should take the extra step of transcoding the .mov output from SnapZ Pro to Ogg for viewing in browsers that don't support .mov files. Get the XiphQT Quicktime component (I'd link to it, but I'm currently prevented from posting more than one link -- go to xiph.org), and QuickTime Player 7 will do the transcoding for you - no QuickTime Pro needed!
ScreenFlow looks great, but I already had SnapZ Pro and can't currently justify $99 when I can do it just as well with what I've got plus some free downloads.
There are two ways of doing it that I know of, for anyone who wants to create screencasts using tools available for free: