Thinking about voice recognition in Mac OS X? Tempted by digital video? Confused about how to run Unix programs in Mac OS X? Dip into this issue for Matt Neuburg's review of IBM's ViaVoice for Mac OS X, Jeff Carlson's introduction to digital video, and the second installment of Chris Pepper's look at the different types of programs that can run in Mac OS X. In the news, we cover minor upgrades to Snapz Pro X 1.0.2 and BBEdit 6.5.2.
BBEdit 6.5.2 Tweaks Features, Fixes Bugs -- Bare Bones Software has released BBEdit 6.5.2, a minor update to their powerful text and HTML editor. New features include better reporting of search errors, improved HTML syntax checking, type-to-select in hierarchical lists, commenting in CSS files, and a few slightly tweaked Aqua interface controlsShow full article
BBEdit 6.5.2 Tweaks Features, Fixes Bugs -- Bare Bones Software has released BBEdit 6.5.2, a minor update to their powerful text and HTML editor. New features include better reporting of search errors, improved HTML syntax checking, type-to-select in hierarchical lists, commenting in CSS files, and a few slightly tweaked Aqua interface controls. Numerous bugs were fixed, most of them minor, but a few of which could cause crashes in obscure situations (like doing a Find All in a search results window generated as a result of another Find All search on one or more untitled windows). The update is free; it's a 7.8 MB download. [ACE]
Snapz Pro X 1.0.2 Fixes Several Bugs -- For those needing to take screenshots in Mac OS X, the only serious tool available is Ambrosia Software's Snapz Pro X, which provides the functions most people need, such as saving in multiple formats, being able to select on-screen objects easily, naming screenshot files automatically, and saving to user-specified locationsShow full article
Snapz Pro X 1.0.2 Fixes Several Bugs -- For those needing to take screenshots in Mac OS X, the only serious tool available is Ambrosia Software's Snapz Pro X, which provides the functions most people need, such as saving in multiple formats, being able to select on-screen objects easily, naming screenshot files automatically, and saving to user-specified locations. Ambrosia has just released Snapz Pro X 1.0.2, a minor upgrade which fixes a crash when invoked from within Final Cut Pro and saves in indexed color if needed for file formats provided by QuickTime. Finnish and Traditional Chinese localizations are also now provided, along with documentation in Spanish. Some bugs remain - when you set the color change to the greyscale palette, Snapz Pro X converts the pixels to greyscale equivalents but still saves the file as an indexed color file. Plus, if you set the destination folder to one on a network volume that isn't mounted, taking a screenshot locks up Mac OS X entirely (which is at least partly Mac OS X's fault). The upgrade is free to registered users.; it's a 13.1 MB download. [ACE]
by Matt Neuburg
The goal of a continuous speech recognition program is to let you dictate what your computer should type. In December 1999, when IBM shipped the first Mac version of such a program, the sound from most users wasn't dictation but a groanShow full article
The goal of a continuous speech recognition program is to let you dictate what your computer should type. In December 1999, when IBM shipped the first Mac version of such a program, the sound from most users wasn't dictation but a groan. ViaVoice Millennium Edition was huge, ugly, clunky, sluggish, and confusing; it mangled punctuation and capitalization; its accompanying word-processor, SpeakPad, couldn't even select text reliably. The whole affair felt like a port by folks who had never seen a Mac and couldn't write even a SimpleText clone. The auspices were not good. A few months later, though, things improved with ViaVoice Enhanced Edition; it still had plenty of rough edges, but with care and patience it was definitely usable for creating first drafts and for transcribing paper documents.
When Mac OS X shipped early in 2001, ViaVoice wouldn't run as a Classic application, so users had to reboot into Mac OS 9, or hold their tongues, while hoping for a Mac OS X-native version. There was relief when IBM previewed such a version that summer, which turned to outrage when it transpired that a hefty percentage of ViaVoice for Mac OS X's $170 price tag would be charged even to users upgrading from an earlier version.
There is good news on two fronts. First, IBM has modified its position on upgrade pricing: Enhanced Edition owners can download the Mac OS X version free, or purchase a CD-ROM version for $6 (a third version includes hard copy manuals for $20). Millennium Edition owners qualify only for a $40 rebate, though, and only until 04-May-02. Second, ViaVoice for Mac OS X, which shipped just after Christmas, turns out to be a major improvement: it looks and feels Mac OS X-native, its accuracy is astounding, and it can now type into and invoke Command-key shortcuts in any application.
Better Overall -- To be sure, some of my positive response could be merely a consequence of the aesthetic and systemic changes wrought by Mac OS X itself. Naturally my computer now sports oodles of cheap RAM and hard disk space, or I wouldn't be using Mac OS X at all; and I've become accustomed to applications that are secretly folders, processes that run secretly in the background, and files secreted all over the computer. Much of what in ViaVoice seemed offensive under Mac OS 8.6 or 9.0.4 therefore seems normal in Mac OS X.
Still, there's no doubt that ViaVoice's command window is highly Aquatic, with its odd shape, its drop-down drawer, its brushed-metal 3D look, and its liquid round buttons. SpeakPad now seems almost indistinguishable from TextEdit. The various ancillary windows are generally well-behaved and consist mostly of standard widgets. In short, there's scarcely anything not to like about the interface at all. And I don't see how one can deny that ViaVoice's recognition behavior is amazingly accurate and robust. It probably helps that dictation and commands can now be distinguished, either by enabling separate modes or by prefixing a vocative (such as "Computer") to commands; but the improvement seems to go well beyond that. I now routinely dictate paragraph after paragraph without an error. When I demonstrated ViaVoice at Macworld Expo, it performed flawlessly despite background noises that included an extensive round of laughter and applause from the audience.
ViaVoice's new ability to dictate anywhere was previously the sole province of MacSpeech's iListen, which hasn't yet shipped a Mac OS X version. ViaVoice Enhanced allowed dictation into a select few programs, but there were painful difficulties coordinating typed material with subsequent voice commands for correction and editing. Now IBM has wisely abandoned this strategy - instead, correction and editing work only in SpeakPad, and all ViaVoice can do elsewhere is type. It's true that this means if you work outside SpeakPad you can't train ViaVoice through its correction feature. But its accuracy is so good that there won't likely be many mistakes anyway. Plus, ViaVoice can now type Command-key shortcuts (global or unique to a particular application, like QuicKeys), as well as run AppleScript scripts. Taken together, those two capabilities mean you can drive most applications quite effectively. For example, in my Macworld Expo demonstration, I told ViaVoice to launch Eudora, create a new message, address it to my parents, put in a subject, tab to the body area, type the body of the letter, save the letter, and quit Eudora, all without using my hands.
Quirks Remain -- ViaVoice still has some problems that need working out. Sometimes the correction window refuses to activate, or seems to leap away beneath my hand. The microphone comes on unexpectedly, such as after SpeakPad reads text aloud. ViaVoice still does odd things with spacing next to punctuation, especially when correcting. The manual is no longer "cheesy," but it still isn't informative about technical matters such as what's installed where, or how best to incorporate AppleScript. And informed vocabulary maintenance is still impossible; for example, specialized vocabularies for such topics as computers and cuisine are provided, but with no way to learn what words they include.
Nevertheless, with this revision IBM has taken ViaVoice another generation forward, from merely acceptable to downright enjoyable. Whether you intend to dictate your memoirs into SpeakPad or give your hands an occasional break from typing into Eudora, ViaVoice deserves consideration for a place in your stable of essential Mac OS X applications.
IBM ViaVoice requires a non-UFS Mac OS X 10.1 installation, with many hundreds of free megabytes on the boot partition and all the RAM you can afford. A 300 MHz G3 or higher processor is necessary; faster is better, PowerPC G4 chips are better than PowerPC G3s, and pre-August 1998 machines and upgrade cards are not supported.
by Jeff Carlson
Here at TidBITS, we try to stay in step with the latest hardware and software being released for the Mac, such as our recent post-keynote look at iPhoto and the new flat-panel iMacShow full article
Here at TidBITS, we try to stay in step with the latest hardware and software being released for the Mac, such as our recent post-keynote look at iPhoto and the new flat-panel iMac. However, every once in a while it's worth talking about something that's been out for some time. Although iMovie 2 was released in July 2000, and has been included for free on all FireWire-enabled Macs since then (and included with Mac OS X 10.1), I didn't pay much attention to it until I purchased a digital video camera. In short order, the iMovie 2 application previously taking up space on my hard disk became an invaluable tool for turning my raw video footage into something I'd be proud to show off to friends and family.
Apple has positioned iMovie as one of the key elements of its digital hub strategy, where a Mac exists at the center of several digital devices. In my case, the attraction was inverted: although I'd previously resisted video cameras, the existence of Apple's easy-to-use video editing application was the catalyst that encouraged me to buy a digital camcorder before I left on a trip to Alaska last year. If you find yourself in a similar position, or if you're just curious to know more about shooting and editing your own movies, stick around for a quick introduction to the field of digital video and what you need to get started.
Go Digital -- If you don't yet own a camcorder, do yourself a favor and buy a digital model. Although analog models are often a few hundred dollars cheaper, they lack the key to making it all work smoothly: simple transfers of video already in a digital format via FireWire. With a digital camcorder equipped with a FireWire port (also called an IEEE 1394 port or i.Link port on Sony camcorders), moving your video from the camera to your Mac is a simple matter of hooking up the right cable. (Be aware, though, that you'll probably have to buy that cable separately, as it includes a standard 6-pin FireWire connector on one end, and a smaller 4-pin connector on the other end that plugs into the camera; this cable can cost you anywhere between $10 and $50 from most computer or electronics stores.) If you already own an analog camcorder, you're not out of luck: you can get an analog-to-digital converter such as Dazzle's $300 Hollywood DV-Bridge, but in my limited testing the quality wasn't as good, and it added an extra step to the process of transferring video into my Mac. (Although it might make more financial sense to apply the $300 to a new digital camcorder, the Dazzle is also great for converting your old VHS tapes to digital.) A few camcorder models, notably several offered by Sony, feature the capability to handle the analog to digital video conversion within the camera.
With the digital issue settled, the next important consideration is which camcorder to buy. Naturally, they range in quality and price from consumer models to drool-inducing professional cameras, and it's definitely worth checking out a model comparison site like Active Sales Assistant. You're likely to encounter several digital storage formats, too, including Digital 8, MiniDV, and the new super-compact Micro MV. The current standard is MiniDV, which is a 2-inch by 2.75-inch tape that stores one hour of footage; you can store up to 90 minutes when recording at a slower speed, but you sacrifice quality for duration. At some point digital camcorders will record directly to hard disks (and in fact you can set up a camcorder to record directly to your Mac if you want), but for now tape remains the best medium for storing the massive amounts of data required for digital video. Unlike analog tapes, the MiniDV format retains its image quality after repeated recordings, so footage you shoot today is much more likely to last longer than the VHS tapes that are quietly decomposing on your living room shelf.
For my trip, I was looking for a strictly consumer-level unit that was easy to carry, easy to use, and could easily transfer video into my Mac. I also needed something quickly, since we were due to leave on our trip in a few days and I hadn't yet had time to look into all the options. After trying out both an analog and a digital camcorder at a local photography store, I opted for the Canon ZR20 (which retails for around $700 but can be found for less - check your favorite price comparison sites).
Video Quality -- Compared to the image quality of digital still cameras, which measure image quality in millions of pixels, digital camcorder image quality seems pathetic. Most consumer-level units contain a single CCD (charge-coupled device) that captures approximately 290,000 pixels. But note that camcorders record interlaced video, which means that in any given frame, only every other horizontal line is recorded. (Broadcast television uses a similar method.)
Recent camcorders advertise the capability to take still pictures and save them to another media, usually a CompactFlash card or Sony's Memory Stick. The advantage of this approach is that more image data is captured, using a non-interlaced process called progressive scan display. Some camcorders offer this feature without the separate media capability, which ends up being useless; the still image is saved to the MiniDV tape by freezing the image and recording it for five seconds (the audio continues to record, however, so you can often hear people talking even though they're frozen on screen). The resolution is lower, and you can capture a single frame as a still image in iMovie with more flexibility. Personally, I'd rather use a digital still camera for taking stills and leave video capture to the camcorder.
Audio -- One of the limitations I've found with my Canon ZR20 is that the built-in microphone is mounted above the tape's motor, so when you're shooting in quiet situations, the microphone picks up the sound of the motor. In most cases this hasn't been a problem, but if you're looking to remake My Dinner With Andre, you may want to compensate by using an external microphone, such as a lavalier (clip-on) type, or using a directional mic that clips onto the top of the camera. Any decent camcorder will have a port into which you can plug a microphone.
As a testament to how deeply I was sucked in by the flexibility and freedom of shooting digital video and editing it in iMovie, I wrote a book about it: iMovie 2 for Macintosh: Visual QuickStart Guide. In an upcoming article I'll share some shooting and iMovie tips I picked up while writing the book.
by Chris Pepper
In the previous installment of this article we looked at three of the five breeds of programs that run in Mac OS X: Classic, Carbon, and Cocoa. Those three are most notable because they're used for the majority of current Mac OS X programsShow full article
In the previous installment of this article we looked at three of the five breeds of programs that run in Mac OS X: Classic, Carbon, and Cocoa. Those three are most notable because they're used for the majority of current Mac OS X programs. Because all three of these APIs (application programming interfaces) are proprietary to Apple, they're available only in the Mac OS, and Apple is actively working to make them a productive and pleasant environment for Macintosh users and developers. However, Mac OS X also supports the public Unix and Java APIs that provide access to a plethora of cross-platform programs, including many types that aren't available in Classic, Carbon, or Cocoa. This week we're going to concentrate on the wide variety of Unix applications that you can run in Mac OS X; we'll save Java for the next installment.
The core of Mac OS X is Darwin, a full-blown Unix operating system. When you start Mac OS X, Darwin boots up, finds and mounts hard disks, starts virtual memory, and begins running various programs. Some of those programs are Carbon and Cocoa applications, such as the login window and the Finder, but others are standard Unix programs, like the Apache Web server.
Types of Unix Programs -- Unix programs come in many different types, and full-blown interactive applications are greatly outnumbered by tiny command-line utilities and non-interactive server programs. In fact, almost every command you type at the Unix command line is a small program, but one you run from the command line rather than by double-clicking. To access Mac OS X's Unix command-line prompt, launch the Terminal application from the Utilities folder in your Applications folder. Type "ls" (without the quotes) to run the program that lists files in the current directory, which is essentially what the Finder does every time you open a new window. Other core commands include more, which displays text files, and man, which displays online help called "manual pages." To learn about each of these commands, try typing "man ls", "man more", and "man man" (once you've started man, press the space bar to scroll, and type q to exit). Hundreds of these small command-line utilities are included with every version of Unix; to see most of them, type "ls /usr/bin". Don't let this overwhelm you - although it's possible to learn Unix purely from the online help, there are, of course, hundreds of books on Unix available (some were recommended in last year's TidBITS gift issue).
Most of these programs are much simpler and smaller than Mac applications - copy, delete, and list files are three different Unix commands (cp, rm, and ls, respectively). In comparison, the Finder includes these capabilities and a great many more in a single application. Some programs in /usr/bin, however, are full-blown interactive (but text-based, rather than graphical) applications, with their own user interfaces, such as the vi and emacs text editors.
In addition to command-line tools, Unix systems sport a great many server programs, the most well-known probably being the Apache Web server. Apache runs invisibly in the background, responding to requests from Web browsers and recording its activity in log files. This approach is an inversion of a typical Mac application, where the interface is the centerpiece, and the rest of the program exists to satisfy requests made through the interface. There are a few such faceless programs on Mac OS 9, but they're common (and totally essential) on Unix systems.
Most full-blown Unix applications use the X11 Window System (often called X Windows) to provide graphical interfaces. X11 itself may feel more primitive than the Quartz and QuickDraw imaging systems which manage text and graphic display for Carbon, Cocoa, and Classic applications, but X11 is available for a wide variety of systems, facilitating cross-platform development. Because there are so many alternative X11 window managers, it offers tremendous flexibility, far beyond Apple's customization options. In addition, X11 was designed for network environments; X11 programs can display their windows on remote X11 systems across the Internet (even running different operating systems), so X11 programs implicitly include many of the capabilities of programs like Timbuktu. X11 isn't included with Mac OS X, but free and commercial versions are available.
Getting & Installing Unix Programs -- One of the best things about Unix is the vast number of freely available programs, but with this richness comes complexity. Because programs are normally compiled for a specific processor type and operating system (such as Apple's System 7 on a Motorola 680x0, or Linux 2.2 on an Intel Pentium-series processor), Unix programs are mostly distributed as source code kits, intended to be compiled on a variety of operating system/processor combinations. Developers can't test against every system configuration, which makes Unix software far less plug-and-play than Macintosh and Windows software. Worse, Unix programs often require adjustments to their source code to work on a given system; this process of adjustment is called porting. Since most users don't want to port programs before using them (or more likely, aren't capable of it), Unix developers go to considerable trouble to make their software work on a wide variety of systems, but there are always gaps, especially with new operating systems like Mac OS X.
The Unix world addressed this problem with package management systems that simplify the process of porting and installing software. Some, like Red Hat's RPM, install pre-compiled packages, but this approach suffers from size bloat and version dependency confusion. Others, like the Debian GNU/Linux dpkg utility, perform source code porting using automated recipes for compiling software - start with a source package, unpack it, make these changes, compile it with those commands, and install it with another command, and so on. Automated source code porting eliminates the size problems in the pre-compiled binary package approach, but it does require the user to have development tools available, something that's almost certain in Unix generally, but less so in Mac OS X since many people upgraded to Mac OS X 10.1 without getting the Developer Tools CD-ROM. You can download all the Mac OS X developer tools for free, but at over 200 MB, downloading isn't feasible for all users. In reality, most package management systems combine both approaches, in an attempt to provide the best of both worlds.
Several package managers are available for Mac OS X, but Fink - an adaptation of Debian GNU/Linux's dpkg - is currently the best of the lot. It includes straightforward instructions and can install a great many Unix programs without requiring the user to understand the details of compiling and installing Unix software. Fink also normally installs software in its own directory, making it easy to uninstall cleanly, something that's not otherwise guaranteed. Fink is available in both source-only and binary-and-source versions; both can compile a broad range of Unix programs, and the binary distribution includes pre-compiled versions of the most popular software. The neat thing about Fink is that only one person has to figure out how to port a particular Unix program to Mac OS X and submit their procedure, after which anyone else can have Fink follow that recipe and install the same software automatically.
For Mac users who prefer to avoid dealing with Unix and its applications directly, programmers are creating graphical applications to manage specific Unix facilities. There's Brick House, which provides an Aqua interface to the ipfw firewall built into Mac OS X, or MemoryStick from TidBITS's own Matt Neuburg, which graphically displays your RAM usage using the Unix vm_stat memory utility. There are also more general tools to bring Unix power into Mac OS X's Aqua environment, including ShellShell and DropScript. ShellShell is an extensible tool for generating Unix command lines from a graphical interface, executing them on behalf of the user, and showing any results to the user. It uses its own configuration language, and the author, Robert Woodhead, invites others to submit their own modules for use with ShellShell. Wilfredo Sanchez's DropScript takes a different tack - the user first drops a script containing Unix shell commands onto DropScript to create a new Cocoa application from the script. Then, any files dropped onto that DropScript-created application are processed by the original shell script as if the user had typed the appropriate commands. This makes DropScript an easy way to provide pre-built command line programs to compress, back up, or otherwise manage files from the Finder.
Finally, there are a variety of commercial Unix programs. They're often much more expensive than their Mac and Windows counterparts, and sometimes more powerful as well. For these high-end developers, Mac OS X provides a familiar Unix-based environment with OpenGL graphics support (OpenGL is a cross-platform API for accelerated 3D graphics) that facilitates porting products like Alias Wavefront's Maya. Maya is a heavy-duty animation program used for everything up to full-length feature films. Maya would never have made it to Mac OS 9, but it's available on the Mac now, thanks to Mac OS X's Unix core.
Environmentally Friendly Mac OS X -- The Mac OS has traditionally stood alone, but Mac OS X's Unix foundation throws open the doors to new applications and uses. Some of those are coming from traditional Unix applications - generally command-line tools and servers - ported to Mac OS X, but that's not all. Brick House and other programs that provide graphical interfaces to Unix tools offer a great deal of power to Mac users without resorting to the often arcane command line. Developers are also starting to take advantage of Unix's power for Mac programs - as with Interarchy, which has leveraged the ssh command built into Mac OS X, and BBEdit, which can now run shell scripts directly. Finally, high end Unix programs like Maya are starting to appear on the Mac. Still, Unix in Mac OS X is something of a wild card - Unix provides vast power and flexibility for text manipulation, networking, programming, collaboration, and security, but how this power will be directly exploited in Mac programs, and by Mac programmers, remains to be seen.
[Chris Pepper is a Unix system administrator in New York City. He's amused and somewhat surprised that Mac OS X has turned out to be such a great management workstation for the Unix systems he works with. Chris is involved in various documentation efforts, including those for Interarchy and the Apache Group.]