Tuesday, December 28, 2010

"Why Won't Safari Play Some MP3s on My Web Site?"

While adding new MP3 audio files to my Web site recently, I discovered that Safari was refusing to play one of the MP3s already there. The frustrating part was that I could see no difference between this MP3 and any of the others that Safari did play.

Searching the Web, I found that this problem was neither uncommon nor particularly new. Safari under Snow Leopard has been having a lot of weird problems playing MP3s. And despite a fair amount of discussion, no one seems to have a solution.

So here's mine: Forget MP3. Though it's a common element of HTML5 audio, and though Apple is nominally supporting it, it's really a legacy format. Support may well dwindle further, going forward. My advice is to use MP4 instead.

But isn't MP4 a video format? As it turns out, not really. It's a file format that can contain video, audio, stills, and more. You can have audio with your video, or you can have audio without video.

Sound familiar? Yes, it's a direct descendant of Apple's QuickTime Movie. You can use it for just about anything, and in this incarnation, it has the wide support that the QuickTime Movie lacked. In fact, in my testing, MP4 was handled by various browsers in just the same ways they handled MP3. So, in many cases, you can meet all your media needs with this one format.

Of course, to switch from MP3 to MP4, it's best to go back to your original, uncompressed audio -- generally in AIFF format, or WAVE, if you're on Windows -- and convert to MP4 from there. You can instead convert directly from MP3, but you will lose quality.

Many audio or media programs can convert audio to MP4, including QuickTime 7 Pro. Generally, you can set a lower bitrate for MP4, about 75% of what you'd use for MP3. To differentiate MP4 audio from MP4 video, you can use the .m4a extension -- but the standard .mp4 will work just as well, maybe better. This does not affect the format.

So, what's the trouble with Safari and MP3s? It's just Apple telling you it's time to move on!

Thursday, September 2, 2010

"How Can I Still Create PostScript Files with Acrobat's Adobe PDF from InDesign in Snow Leopard?"

With Mac OS X 10.6 "Snow Leopard," Apple introduced an entirely new architecture for print drivers. The new system is designed to provide greater reliability and timeliness in printer support by taking much of it out of the hands of printer manufacturers that, frankly, have never been great at supporting the Mac platform.

With such a major change, though, there were bound to be casualties, and one was Acrobat's Adobe PDF print driver. It simply stopped working. In response, later versions of Acrobat Pro 9 have entirely removed the driver and its associated PostScript Printer Description (PPD) file from Snow Leopard systems. In its place, Acrobat leaves a new "Save as Adobe PDF" item on the PDF menu of the OS X print dialog. And of course, we can still export direct to PDF from within Adobe CS applications like InDesign and Illustrator.

That's all well and good for general use, but it doesn't satisfy every case. For instance, Lightning Source, the POD printer I use for my books, wants my book cover files to be run through Acrobat Distiller, which means first creating PostScript files from InDesign. But without the PPD for Adobe PDF, I have no way to create PostScript for oversize pages like book covers. It should work to choose "Device Independent" instead, but it doesn't. (I've written more about this specific problem on my Publishing Blog.) Users of InDesign's Print Booklet feature have likewise found themselves up a creek.

Fortunately, there are ways to recover Adobe PDF's PPD and make it permanently available to CS apps. Here's the procedure for CS4.

1. Find a copy of ADPDF9.PPD, the PPD file that the latest Acrobat Pro 9 versions remove. You might find it on a backup of your computer at Library > Printers > PPDs > Contents > Resources > en.lproj. (That's starting from the root of your system, not from your user directory.) You can also get it from the Acrobat Pro 9 app itself if you choose "Show Package Contents" from the contextual menu and then go to Contents > MacOS > SelfHealFiles > AdobePDFPrinter > PPDs > Contents > Resources > en.lproj. You might also locate a copy for download from the Web.

2. Place this file in Library > Printers > PPDs > Contents > Resources. (Again, that's starting from the root of your system.) Do NOT place it in the folder en.lproj. Though that will work too, it will move the file farther down on menus, making it harder to find.

3. Rename the file so that Acrobat won't be able to find and remove it again. I suggest something like "Adobe PDF 9.ppd". (That, again, will keep the file high on menus.)

For CS4, that's all you have to do. Now, when you go to print from InDesign and choose "PostScript File" as your printer, you'll be able to choose "Adobe PDF 9.0" from the PPD menu. (You'll see a menu item by that name regardless of what you named the PPD file.)

With CS5, things are a little trickier. InDesign's menu does not show anything from the Mac OS PPD folder unless it's a PPD in a current print queue.

One possible solution for InDesign is to add the PPD file directly to the app's support files. Go to Applications > Adobe InDesign CS5 > Presets. Create a new folder named "PPDs" (case sensitive). Then place your PPD file in this folder. You don't even have to rename it.

The trouble with this method is that you'll have to repeat it if you ever reinstall the program or install a major upgrade. And by then, of course, who knows if you'll be able to find these instructions. So, a better method is to set up the PPD file in a new print queue -- a dummy print queue -- where InDesign can find it. Here's how.

1. Start by following the same procedure as for CS4, locating, installing, and renaming the PPD file.

2. Go to the Print & Fax pane in System Preferences and click on the plus sign to add a printer.

3. Select ANY connected printer from the dialog. Then for "Name," change what's shown to "Adobe PDF" or whatever else you like. From the "Print Using" menu, select "Other," and then choose the PPD file you installed. When you click "Add," you'll get a warning about installing a queue for a printer that already has one. Take a deep breath and click "Continue."

You will now have a print queue with the desired PPD associated with it, in addition to your original queue for that printer. You will not be able to create PDF files with this new queue, but you will be able to access the PPD from InDesign CS5. And that will enable you to create PDFs with pages of any size.

Update, 9/19/2012 -- I think it's time for most of us to hang up the PostScript/Distiller workflow. Lightning Source now accepts direct PDF exports from InDesign. And CS6 PostScript printing is surprisingly buggy. It no longer flips the inside-outside margins on left and right pages! Besides all that, Adobe considers Distiller to be obsolete technology and is no longer developing it.

Time to move on!