Driving FireWire Webcams in Mac OS X
When the iMac first came out, many people immediately noticed similarities with another recent high-profile, high-design product, Volkswagen’s new Beetle, to the point where a Beetle painted to look like an iMac made an appearance at San Francisco’s Macworld Expo in 1999. But the more recent, if less graphic, connection between Apple and Volkswagen has Mac OS X appropriating Volkswagen’s tag line: Drivers Wanted.
The success of an operating system is directly related to the breadth of drivers available for it. It shouldn’t be surprising – a driver is the piece of software that enables the operating system to interact with a specific peripheral, be it a printer, an external hard disk, a scanner, or one of those inexpensive video cameras generally referred to as a "webcam." Drivers generally come from three sources. For common devices that provide the most value to users, Apple often writes universal drivers and ships them with the Mac OS. Manufacturers then make sure that their devices work with Apple’s universal drivers. For less common devices, manufacturers have to write their own drivers, which users must install to make the devices work properly.
What’s the third source? Independent developers. Every now and then a programmer will become fed up with an existing driver, or perhaps the complete lack of one, and write an independent driver. These drivers are usually shareware – think of Alessandro Levi Montalcini’s USB Overdrive mouse driver, now in beta for Mac OS X – and peripheral manufacturers often license a shareware driver to avoid developing their own. The main attraction to licensing an existing driver is that driver development is a black art mastered by relatively few people, as evidenced by the truly clumsy inkjet printer drivers we’ve seen over the years.
Eyes in the Sky — Years ago, Connectix introduced the QuickCam, a tennis ball-sized video camera that connected to the Mac’s serial port. It was low resolution and only black-and-white, but it was still an amazing breakthrough for bringing video into a Mac without buying an expensive camcorder. The market for these tiny video cameras has evolved over the years to add color and new connection types like USB and FireWire, but for the most part, they’ve remained small, inexpensive, and low resolution. Low prices have ensured their lasting popularity for a host of uses, including security monitoring, videoconferencing, QuickTime movie recording, and the eponymous use of either uploading periodic still images or streaming video to a Web site.
But it wasn’t happening under Mac OS X.
Apple has been busy working on more important drivers for Mac OS X, such as those for printers, external hard disks, and digital still cameras. Manufacturers of webcams haven’t been interested in springing for the development costs to create Mac OS X drivers because they don’t see the Mac OS X market being large enough yet. That leaves our third source of drivers: independent developers. Or, in this case, one independent developer, a tiny company called IOXperts. You probably haven’t heard of them, although the programmers involved, Steve Sisak and Dave Koziol, are among the best-known Mac developers. Plus, if you’ve used a USB or FireWire webcam under Mac OS 9, they likely wrote the driver for the camera’s manufacturer.
Frustrated by the refusal of the camera manufacturers to pay for Mac OS X driver development, IOXperts went ahead and wrote a driver to run most FireWire webcams out there. They chose FireWire cameras because that world is relatively standardized at the hardware level and because FireWire is more similar between Mac OS 9 and Mac OS X than USB. It wasn’t easy and involved debugging Apple’s Mac OS X FireWire code, but eventually they managed it, and for the last few months, people with a supported FireWire webcam have been able to download a copy of the IOXperts FireWire WebCam Driver and start using their webcam again under Mac OS X. This is cool.
Driver Licenses — IOXperts had to figure out how to pay for all this development, and hoping that camera manufacturers would eventually license the driver wasn’t going to pay the rent. So they decided to go direct to consumers. Selling drivers as shareware is generally tricky business, because the entire point of a driver is that you don’t see it, and software that works invisibly has a much harder time presenting its payment message to the user.
IOXperts came up with a clever approach. You can download, install, and use their driver with your FireWire webcam for free… for 30 minutes. When you plug the camera in, a dialog reminds you of the time limit and encourages you to pay $20, but if you dismiss it, you can use the camera without interruption for 30 minutes. When your time is up, another dialog reiterates the message, but if you want to keep using the camera, just unplug it and plug it back in. In short, it’s a great user experience: just annoying enough to make you want to pay, but not so limiting that you can’t get a feel for how well the driver is working.
Clicking the Buy button in the dialog walks you through a simple purchase process using the eSellerate system, which worked fine for me. Once you’ve paid for the driver, you can use it with the same camera on any number of Macs – just plug in the camera before installing the driver, then enter your serial number when prompted. The fact that the driver is latched to a specific camera means that if you have multiple cameras, you’ll have to buy multiple copies of the driver.
IOXperts also makes their driver available for people using Mac OS 8 and Mac OS 9 who might have bought a camera that doesn’t already include a Macintosh driver. The Mac OS 8/9 version uses the same serial numbers as the Mac OS X version, so you can use your camera under both operating systems without paying twice.
Camera Compatibility — Speaking of multiple cameras, the FireWire WebCam Driver supports quite a number, including popular ones from iREZ, Orange Micro, FireWire Direct, and Unibrain. For a complete list, check the compatibility list at the IOXperts Web site. I did my testing with Unibrain’s $120 Fire-i digital webcam, which is about 2.25 inches (6 cm) square, and features a clever spring-activated clip on the back that rotates and can move in or out from the back of the camera as well.
The Fire-i camera sports two FireWire ports, one on either side: you can pick the most convenient side for the cable, and also daisy chain other FireWire devices (though no Macintosh software supports multiple cameras yet). There’s also a jack for an external power source, which could be necessary for people with many FireWire devices requiring bus power or those using FireWire PC Cards (FireWire’s power requirements exceed the PC Card specification for power consumption). For people using Windows the external power jack is more important, since most Windows laptops reportedly don’t provide FireWire bus power, Sony’s i.LINK ports don’t, and not all PCI cards do either. (As a total aside, FireWire’s power management is neat – every device declares its power consumption, which can even be negative if the device adds power to the bus.)
The Fire-i camera’s resolution is 640 by 480, and it can capture 30 frames per second. Although I don’t have much experience with different webcams, the Fire-i seems like a slick package, and thanks to the IOXperts FireWire WebCam Driver, you can use it with Mac OS X, which wouldn’t otherwise be possible (although Unibrain is planning to release a version bundled with the FireWire WebCam Driver for Mac users soon).
What About Software? There’s a problem with everything I’ve described so far. Clearly, you need a FireWire webcam, and you need IOXperts’s FireWire WebCam Driver, but that will get you only a camera that can theoretically display video on a Mac running Mac OS X. To see and work with video, you still need another application. There aren’t many programs that work with FireWire webcams under Mac OS X right now, but IOXperts lists a few, and those that I’ve tested have worked.
BTV 5.4 and BTV Pro 5.4 from Ben Software. The $20 BTV is a simple video application that lets you view and capture video and still images from your webcam (and from many other video sources like TV cards, etc.). The $40 BTV Pro takes those features and adds a slew of additional ones, such as motion detection, time lapse capture, frame averaging to eliminate noise or fast moving objects from a still image, movie playback and editing, and more. Both are shareware; make sure you get the Carbon versions for Mac OS X.
CoolCam X 2.1 from Evological. This $20 shareware program provides the classic webcam features of capturing still images on a periodic basis and uploading them via FTP. It can also save images locally and can create time-lapse QuickTime movies. It has motion sensing capabilities, and you can add text captions, picture badges, and clocks in any font, size, style or color.
Video Funhouse 1.1 from Evological and Chaotic Software. For $25 shareware, Video Funhouse lets you twist, bulge, pinch, and push faces and other objects into any imaginable shape (and some you don’t want to imagine). But what’s cool about Video Funhouse is that you can do this with live video rather than just a still image. Video Funhouse provides a number of other effects, and you can take a snapshot at any point.
iSpQ VideoChat 5.0.4 from nanoCom Corporation. The $40 iSpQ lets you do standard chatting over the Internet with other iSpQ VideoChat users. The added fillip is being able to see the other person live while you’re typing to them, and compatible versions of iSpQ VideoChat are available for Mac OS 9, Mac OS X, and Windows. There is a known problem with the FireWire WebCam Driver that can cause the program to stop sending video after quite a number of hours, but that’s easily avoided. A 21-day trial version is available.
VideoScript 2.2 from VideoScript, Inc. This free tool basically lets you script video, not in the sense of writing film scripts, but for automatically analyzing and manipulating video images and cameras. You can write scripts to detect and log movement, generate movies, perform image enhancement, and a variety of other things (they suggest using VideoScript to count cells through a microscope, which is one of the most brain-numbing tasks around). A professional version accessed by purchasing a license ($30 for 21 days if you only want to do a single project, or $400 for unlimited use) adds more features, such as AppleScript integration. VideoScript is still in beta for Mac OS X.
The Detailed Review — I started out thinking I’d review IOXperts’s FireWire WebCam Driver, but you know what? It’s hard to review a driver, particularly one that just works, because there isn’t a lot to say. Plug in the camera, launch a video application, and video appears on the screen, exactly as you’d expect. IOXperts has a FAQ on their Web site with a few problems you might encounter (I didn’t), and they also run a mailing list for users to discuss the driver. Considering the size of the company, they desperately want to prevent users from needing to contact tech support, so they’ve taken the smartest approach to reducing tech support costs – creating a quality piece of software that doesn’t require support. In short, if you want to use a FireWire webcam under Mac OS X, you won’t go wrong paying 20 bucks to IOXperts.
If you like unusual hardware, I’d pay attention to IOXperts, since they’re also working on things like universal 802.11 wireless networking drivers (written by networking guru Amanda Walker and just released in beta form) and drivers for the Philips USB webcam. Join the beta mailing lists if you’re interested, and if you want to see Mac drivers for some piece of hardware, encourage the manufacturer to contact IOXperts. That way we all win.