Sometimes easy things turn out to be more involved than you initially anticipated. Recently I wanted to burn a few CDs containing the full Take Control library for a user group raffle. Pop a blank CD into my Power Mac's SuperDrive, let it mount in the Finder, drag the files over to it, and click the Burn button in that window. What could be easier?
Not much, if - and it's a big IF - I didn't care about user experience, in particular, what the window looks like when the user double-clicks the CD icon on the Desktop. Obviously, if the user views my CD in a column-view Finder window, I have no control at all, and that's fine. But in the event that someone does double-click my CD's icon in the Finder, I'd like it to open to a well-laid out window. And heck, why should users have to open the CD manually? If they insert it, it's a pretty good chance they want to open the window. All this, reasonable as it might seem, turns out to be easier said than done.
With 31 ebooks and 3 folders for the Dutch, German, and Japanese translations, icon view doesn't work well, leaving list view as the best option. But with 34 items in the folder, the default window is nowhere near large enough, and since some of our ebooks have fairly long titles, the name column isn't wide enough either. It's trivial to adjust the window size and column widths appropriately, but that's where the fun begins. Follow along with my quest for the perfectly burned disc to learn the ins-and-outs of some common tools and approaches.
Just Burn It -- The first and most obvious technique, as I noted before, was simply to pop a writable disc into my SuperDrive, drag the files and folders over to it, arrange the window as desired, name the CD, and click the Burn button in the Recordable CD row at the top of the window. The only problem is that the Finder ignores the layout of the window entirely, resorting instead to the default window size and icon view. Utterly useless. I've filed a bug with Apple.
Hot Folders -- In Mac OS X 10.4 Tiger, there's another way: the burn folder. Choose File > New Burn Folder, and the Finder creates a special burn folder that makes it easy to burn multiple identical discs (in fact, when you burn a single disc, the Finder asks if you want to create a burn folder to simplify the task of making more). I thought that perhaps giving the burn folder the proper layout would transfer that layout to the eventual CD. I was wrong. Burn folders work in exactly the same way as burning one-off discs, and they ignore any changes the user may have made to the window size or layout. To my mind, this is even more problematic, since the entire point of a burn folder is to ease the process of making multiple copies, and once multiple copies are involved, it seems all the more likely that window layout would become important.
Disk Utility -- Clearly, I needed another way. My next thought was to create a disk image - a file that can be mounted by Mac OS X as though it were a real disk of some sort - containing my files and with its window laid out the way I wanted. Using Apple's Disk Utility, I created a disk image of roughly the right size, mounted it, copied the files to it and set its window layout appropriately. Then I selected it in the lower part of the drive pane in Disk Utility, and clicked the Burn button in the toolbar. A minute or two later, Disk Utility reported success, and indeed, when I opened the window, it looked just the way I wanted. Yay! Now if only there was a way to make it open automatically. After asking some smart friends, I learned that the following Unix command, properly modified for the name of the disc (the quotes are necessary if there are spaces in the disc name) and invoked before burning, twiddles things such that the CD window opens automatically. Success!
sudo bless -folder "/Volumes/discName" -openfolder "/Volumes/discName"
But as much as the process worked, it was a bit clumsy to perform, what with blessing the mounted disk image so it would open its window automatically. Also, I need to add new ebooks to the disk image periodically, so it has to be large enough to hold them. When creating disk images, it didn't seem to matter if I chose a normal read/write image, or a sparse image. Sparse images are more interesting, though, since they can be any size virtually, but take up only as much space on disk as data is contained within them. In other words, I could create a 650 MB sparse image, copy 62 MB of data to it, and have the disk image file take up only 62 MB on my hard disk. The unfortunate downside is that even when burning the sparse image, Disk Utility must still burn the entire 650 MB, which takes a long time. Given how much longer it takes to burn 650 MB instead of 62 MB, it's worth recreating the disk image every so often when I run out of room instead of using a large sparse image.
Nonetheless, I had a full workable solution that could perhaps be automated somewhat with iKey, and one that used only free tools. But perhaps there was an even better way.
Toast 7 Titanium -- Next, I looked to Toast 7 Titanium, the popular disc-burning software from Roxio, to see if it would provide a better answer, since data CDs are almost the least of its capabilities. The most obvious way of using Toast was an improvement over the Finder, but not quite there. I dragged my files into the Data tab, selected the Auto-Open Disc Window checkbox in the Formats drawer, clicked the More button in the Formats drawer to access additional options, selected List View, and then burned the disc. I couldn't see how Toast could possibly know what size to make the window, and indeed, it wasn't the size or layout that I wanted.
My next thought was to try a disk image. Toast can make its own disk images - just choose File > Save as Disk Image after you've dragged the files and folders you want into the Data tab, but burning the disk image ran into exactly the same problem as before - the correct view, but no memory of window size or layout.
While perusing Toast's online help I ran across mention of temporary partitions, which I could create by choosing Utilities > Create Temporary Partition. Once created and named, I was able to copy the files I wanted to it, arrange the window the way I wanted, and burn it to a CD successfully using the Copy tab, selecting the CD/DVD Copy radio button, and choosing the temporary partition from the Read From pop-up menu. Yes! The only slight downside was that Toast didn't provide the Auto-Open Disc Window option, as it had for creating a Data CD.
The Unix command above worked fine when burning via Toast as well, but I turned to Toast expert John Acree at Roxio to see if Toast had a better approach. John told me that once I had created my temporary partition, I should, instead of using Toast's Copy tab, switch to the Data tab, drag the mounted partition into the Data tab, select the Mac & PC radio button in the Formats drawer, make sure the Auto-Open Disc Window checkbox was selected, and then burn. It worked like a charm, and even better, although I had made my Toast temporary partition 650 MB (roughly the size of a CD), the disc that Toast burned contained only the 62 MB of actual data.
But if the temporary partition was truly temporary, it wouldn't do me any good, since I didn't want to recreate it each time. Toast has an answer to that as well. By default, upon quitting, it asks if it should delete the temporary partition, and when I clicked the Don't Delete button, I was left with a Toast disk image in my Documents folder. (Toast's preferences provide a setting for the location of these "converted items"; oddly, my copy of Toast ignored that setting and always stored them in my Documents folder.) And indeed, double-clicking this Toast disk image file opened it in Toast's Copy tab, where I could click the Mount button to mount it, then switch to the Data tab, drag the mounted volume in, and burn. Toast can also install a Mount It contextual menu item that mounts disk images directly.
So my Toast solution was slightly better than my Disk Utility solution at this point, since it didn't require dropping into Terminal to invoke a Unix command. But I was still going to be wasting 650 MB of hard disk space to store Toast's disk image, even if I had only 62 MB of data. I could make the temporary partition smaller, but after all, saving space on disk is what sparse image files are for. On a hunch, I created a 650 MB sparse image file in Disk Utility, mounted it normally in the Finder, adjusted it as I wanted, and then dragged the mounted disk image to Toast's Data tab and burned. Perfection at last! Now I had a small disk image that I could mount easily in the Finder by double-clicking, add to any time, and, with a quick drag-and-drop, burn quickly and exactly as desired in Toast.
Parting Thoughts -- The Finder turns out to be fairly poor at remembering window layouts for disk images. To get a window to retain its layout, I had to set it, close the window, open the window again, set the layout again (the window had always shrunk slightly) and close and re-open again. It's not a big deal, but it would be nice if the Finder could remember a disk image window layout in one step. I filed another bug with Apple.
I also looked at FileStorm, from MindVision, which simplifies the task of creating discs for distribution; it has a slew of options for background images, icon positioning, automatic window opening, and so on. I couldn't use FileStorm for my CD, since my 34 items really needed to be shown in list view, and FileStorm is designed for icon view.
Lastly, it's entirely possible that this whole problem is merely additional evidence of my obsessive-compulsive battle with window positioning. Back in 1996, I wanted to include a CD of software with the fourth edition of my "Internet Starter Kit for Macintosh" book, so I bought a CD burner to make the CD. The only problem was, as you might expect, that I couldn't get the window position and layout to stick the way I wanted, and in fact, they were different every time. This happened right at the deadline of a project that had been fraught with troubles from the very start, and after hours of failed attempts, I grew so angry at the entire situation that Tonya called our friend Chad Magendanz (author of the late ShrinkWrap disk image utility) to come calm me down before I broke something. At the time, Chad was working on Microsoft's CD titles - Encarta, Cinemania, Music Central, and so on - and he had lots of experience with mastering CDs. Although he wasn't able to solve my problem, he did manage to help me cool down and finish off the disc. We've come a long way since then, but it seems that some problems have managed to survive all the changes.