[ Home | Library | Contents ]

[ Prev | Next ]

by Andrew Welch

[Andrew on Harley]

Origins of New Software

It all started one fateful day in mid-January. We were still mired in Rochester winter (which can actually be quite fun in an SUV), and I was beginning work on a "minor update" to Snapz Pro.

I was walking out into our office lobby to check my messages, and Jason (our marketing droid) said to me "Hey, what do you think about supporting QuickTime movie capture in the new version of Snapz Pro?"

With agile dismissiveness, I said "You're kidding me, right?" and shot him a disdainful look. "Jason and his off-the-wall suggestions," I thought. "Oh well," Jason muttered as he skulked off... but he'd planted the seed in my mind.

A few days later, I'd figured out a way that it might be possible to do such a thing. That's my favorite part of programming: figuring out the puzzle of how to implement a given feature or program. I enjoy the challenge it presents to come up with a creative and functional solution to a problem.

The rub is that once I know how to do something properly, I'm less motivated to carry through with the implementation, because the fun part is already over. Still, seeing a product from the seed of an idea through to implementation, polish, and shipping is something I'm used to, and it does have certain rewards as well.

I'm currently working on the third revision of Snapz Pro 2's movie capture feature. The first two attempts worked 80% of the time, but ran into situations where it would crash, or fail to capture video. Needless to say, I didn't think there was any point in bothering to attempt to make a movie capturing program if it was going to hose people's machines from time to time.

I finally hit upon the right way to do it (after tossing the first two attempts out the window), mostly through experimentation. It works at an extremely low-level, capturing the raw movie frames to disk in a proprietary format, and then does the actual QuickTime conversion later, at a safe time. I'm very happy with the results.

You can easily capture video and audio of, say, your favorite game while you're playing it, or perhaps make a training video with narrative overdubbed. Any QuickTime codecs are supported, and we offer a host of recording options and camera modes.

With any luck, Snapz Pro 2 should be released in early June. It contains a number of other cool features in addition to the video capture (.tiff and .png file support, a new "frame selection" tool, the ability to invoke inside of games that use Apple's Input Sprocket, and a bunch of other cool stuff).

Months later, this update isn't minor at all -- it's in fact a huge rewrite of Snapz Pro 2 -- and Jason was right to have suggested his idea: there seems to be a great demand for a movie capture program for the Mac that works without crashing.

There will be an upgrade fee, and the price of the product as a whole will be going up as well. However, we're still half the price of the closest competing product that does video capture (albeit not very well), and we haven't charged for Snapz Pro updates in years (even the .gif/.jpg support in version 1.1.0 was a free update).

I've put together some example movies so you can see what can be done with Snapz Pro 2; have a look:

Cursor capture video

  url: http://www.AmbrosiaSW.com/cursor.mov
  fps: 5
 size: 88K
video: video, low quality
audio: 11kHz, 8 bit, 3:1 MACE compression
(This little movie shows off Snapz Pro's ability to capture the cursor during movie capture, including cursor changes, not drawing it when the cursor is hidden or obscured, and proper handling of hardware cursors)

Key/mouse sounds video

  url: http://www.AmbrosiaSW.com/zounds.mov
  fps: 5
 size: 83K
video: video, low quality
audio: 11kHz, 8 bit, 3:1 MACE compression
(Another small movie that shows off Snapz Pro's "interface sounds" feature -- simulated keystrokes and mouse clicks can be automatically put in your movies, should you so desire)

Nanosaur video

  url: http://www.AmbrosiaSW.com/nano.mov
  fps: 10
 size: 3.2mb
video: sorenson, low quality
audio: 11kHz, 8 bit, 3:1 MACE compression
(A cool little 10fps recording of the game "Nanosaur". Demonstrates Snapz Pro's ability to invoke inside of games that use Input Sprocket, and capture accurate audio & video while action-intensive games are playing)

Panning video

  url: http://www.AmbrosiaSW.com/panning.mov
  fps: 10
 size: 1.7mb
video: video, low quality
audio: 11kHz, 8 bit, 3:1 MACE compression
(This medium-sized movie shows off Snapz Pro's nifty "panning camera" feature, which smoothly follows the cursor around the screen)

Color depth/resolution switching video

  url: http://www.AmbrosiaSW.com/initgdevice.mov
  fps: 10
 size: 256K
video: video, high quality
audio: none
(This movie demonstrates that Snapz Pro can keep recording movies even while you change your monitor's bit depth and/or resolution)

Launching/quitting application video

  url: http://www.AmbrosiaSW.com/launchquit.mov
  fps: 10
 size: 3.5mb
video: video, low quality
audio: none
(In this movie, we launch "Mars Rising", play the game a bit, then quit it. This shows that Snapz Pro can record even through application launches/quitting)

Mars Rising video

  url: http://www.AmbrosiaSW.com/mr.mov
  fps: 10
 size: 1.2mb
video: sorenson, medium quality
audio: 11kHz, 8 bit, 3:1 MACE compression
(A recording of me (badly) playing our game Mars rising, and shows off Snapz Pro's ability to invoke inside of games that use Input Sprocket, and capture accurate audio & video while action-intensive games are playing)

[Andrew's Signature]

Andrew Welch
Ambrosia Software, Inc.

[ Prev | Home | Library | Contents | Next ]

Copyright ©1995-9 by Ambrosia Software, Inc. - All rights reserved