A non-profit organization chartered to promote arts and culture within its community will be curating a new elmcity hub. The curator plans to invite dozens of member organizations to contribute to the hub — that is, to manage their public schedules using calendar applications, and to convey the URLs of their calendar feeds to the hub. It’s critical that these member organizations will be able to easily accomplish this task. I’ve been pointing to a series of how-to articles but it was time to make the instructions clearer and simpler. It was also time to revisit how to use screencasting to explain step-by-step procedures.
I started with the two web applications that make publishing calendar feeds as simple as it can be: Google Calendar and Hotmail Calendar. Here’s the new and improved explanation of How to publish a calendar feed from Google Calendar or Hotmail Calendar. I’ll soon learn how well this new explanation works for the intended audience. Meanwhile, here are some notes on the techniques I discovered.
Using sparkcasts
My earlier explanations didn’t use screencasts, they were just textual narrations with embedded static screenshots. That’s an appropriate way to explain step-by-step procedures. Screencasts can be overkill.
But it is nice to be able to show motion and sequential flow. I wondered: if sparklines are “intense word-sized graphics” that appear inline with text, is there a similarly lightweight way to use screencasts? Well, that’s how this explanation works. The steps are all written as text. Each step comes with a Watch! link that opens a quick little inline screencast.
Using Firebug to prepare screencasts
As I mentioned the other day, Firebug is an amazing tool for making mockups based on live web pages. And sometimes you can do more than just take screenshots of those mockups. Sometimes you can interact with them.
I used that method to temporarily alter both Google Calendar and Hotmail Calendar for these sparkcasts. In my case, both include several private calendars that were irrelevant to my explanation. Using Firebug I was able to remove them. I also made the address shown in Gmail look like the generic YourAccountName@gmail.com instead of judell@gmail.com. If subsequent interaction with the page doesn’t trigger a refresh of these altered elements, the changes will persist. Handy!
Using Camtasia to make animated GIFs
A movie-style screencast is a fairly heavy object, and it would be cumbersome to embed lots of these on a page. Animated GIFs are lighter. And it turns out that Camtasia can produce that format. Nice!
Using jQuery to reload animated GIFs
On the first try, I made each sparkcast loop forever, and used jQuery to show only the current one. But that wasn’t ideal. What I really wanted was for each sparkcast to play once when shown, then stop and offer a Replay link. If you view the source of this page, you’ll see the solution I came up with. It turns out that when you dynamically reload an animated GIF, you need to decorate its URL in a unique way; otherwise the browser won’t replay it.
Using Image Magick to control the looping of animated GIFs
Once I figured out how to replay a play-once GIF, I had to make all the GIFs stop looping. I’m sure that PhotoShop and others of its ilk can do that, but I like Image Magick’s ability to automate repetitive tasks. The Image Magick incantation to make an animated GIF play once goes like this:
mogrify -loop 1 howto-01.gif
Now that I’ve written this down, I can forget it until I need it again!
A nice idea, but a suggestion for improvement: wrap the text so it’s about 15 words in the column (better for reading anyway) and shift the GIFs to the right side. This will avoid reflowing the text, which moves steps and click targets around.
wrap the text so it’s about 15 words in the column
Good idea! Easily to do, and thus, done.
shift the GIFs to the right side
Another good idea! Not so easily done (by me, anyway) given the varying sizes of the GIFs. How would you (or anyone else) recommend doing it?
Maybe use the image preview plugin to pop up the sparkcast?
Another suggestion…
Consider having a click somewhere else on the page close the currently open GIF. I couldn’t make a GIF ‘go away’ except by opening another one (they’re easy and light enough to re-open if closed by accident).
I have been reconsidering animated gifs to produce simpler and more effective training materials (when another writer pointed me to a way to make them for FREE: http://plagwitz1.spaces.live.com/blog/cns!4FA3329905D7E1CE!1328.entry). The “sparkcast” approach looks like what I was after, thanks.
Consider having a click somewhere else on the page close the currently open GIF.
Yep, it needs that, will do, thanks.