Apple

GarageBand: adventures in UI design


GarageBand only allows you to have one project open at a time. This is not an obvious or necessary feature of a music program, but at first glance, it’s defensible in the context of Apple’s iLife package. For a bunch of more-or-less free tools designed for light use by non-professionals, allowing multiple documents adds the risk of clutter and confusion (not to mention memory management and engineering effort). iTunes, iMovie, iPhoto, and iDVD all work the same way, right?

Well, no, they don’t. iTunes and iPhoto simply don’t have the concept of multiple projects. Something is either in your library or it isn’t. iMovie and iDVD are single-project-based, but the projects generally have a much larger scope. I’m sure a lot of iMovie users wish they had an iPhoto-like clip library to store their favorite video elements in, but for the most part, few people are going to want to edit more than one movie at a time.

This is not the case for music, especially in an application that encourages experimentation. One of the very first questions I saw on the various GB forums was “how do I make my own reusable loops”. Tied with it was “how do I import MIDI tracks”.

The answer right now is “through painful workarounds.” To make your own loops, you export your performance to iTunes, find the AIFF file on disk, load it into the SoundTrack Loop Editor that’s part of Apple’s free AppleLoops SDK, manually mark it up, drag the tagged file into GB’s loop browser window, and then wait while the complete index of available loops is rebuilt. To import MIDI files, you download two third-party freeware packages and string them together to fool GB into thinking that you’re playing the music on a keyboard.

Even the simple act of cutting and pasting between songs is made difficult by the single-project design. You can do it, but only within the same session, because GB clears its private clipboard on exit. And it exits whenever you close a project. So, if your goal is “copy my cool bass track from RockDude into BluesDude,” the order of operations must be Cut, Open, Paste. Anything else will wipe the clipboard and force you to start over.

Sure, after you’ve done it a few times, you’ll adjust your behavior to match GB’s expectations, but isn’t that precisely the problem that consumer-friendly creative applications are supposed to avoid?

GarageBand resource usage


There are a lot of discussions about how GB seems to be a bit of a pig, especially compared to other applications that have much the same functionality (or, in the case of Soundtrack, include many of the exact same samples and features). So, naturally, I did some testing.

On my 15-inch 1.25GHz G4 PowerBook, with 1GB of RAM and the optional 5400 RPM hard drive, I can have at least a dozen software instruments playing at the same time, as long as no more than three of them are pianos.

In my testing this evening, I created an unplayable song that had eight software instruments: two drums, six pianos. Drop one of the pianos, and it pops up an error dialog and then continues to play some of the instruments. Drop another one, and it plays fine, although the display updates are sluggish. Add in four non-piano software instruments (specifically, a shaker, a triangle, a bongo, and an upright bass), and it still plays, although the display can barely keep up.

I was even able to add seven sampled instruments after that without creating a failure, although the display was hopeless and top claimed GB was using 384% of the CPU (when it finally managed to update). top also reported that GB had about 250MB of active physical memory and 450MB of active VM.

Obviously, in addition to the existing recommendations about CPU and disk speed, GarageBand users who are having problems need the following advice: “buy lots of RAM or cut back on those darn pianos!”

Oh, and an interesting note from my testing is that it wouldn’t let me have more than sixteen software instruments in a song, even if my system could support them. The error message was badly written, implying that I couldn’t add any more tracks, but it definitely meant “tracks containing software instruments”.

Definitely version 1.0, and an update is obviously needed soon (especially for improving how it interfaces with MIDI keyboards and audio input devices), but still worth playing with.

Update: passed this along to MacInTouch, after someone with the slightly-faster 17” PowerBook complained that it took forever to launch GB and open a song. The person who read my response asked me set the Energy Saver settings to “Automatic” and unplug the AC adapter. That actually worked fine, and didn’t affect load times or playability. Setting it to “Longest Battery Life” slowed down the launch and load times by maybe 15%, and stopped playback dead in its (17) tracks. And, unlike the earlier error dialog, this one clearly identified the processor performance setting as the culprit.

Oddly enough, when I went back to my standard high-performance settings, I was able to add another piano track without killing playback. I suspect there’s a memory management issue that is cleaned up by saving your song and restarting GB.

Update: The sixteen-software-instruments limit is configurable under the “advanced” pane of GB’s preferences. It’s currently set to “automatic” on my machine, and no doubt it auto-adjusts based on system specs. There’s also a tweakable “voices per instrument” setting, which may be the smoking gun in some of the dramatically different results people are getting on similar hardware: if the heuristic used by the “automatic” setting is flawed, it may be overestimating the power of certain hardware configurations.

Update: The guy with the sluggish 17” PowerBook has now reported that running the usual mix of disk-repair utilities (one of the most common solutions for odd OS X behavior) fixed his GB problems.

GarageBand notes


First off, the iLife ’04 installer does not ask if you want icons for all five apps added to your Dock, it just puts them there.

Second, when you launch GarageBand for the first time (or, at least, when I do), it pops up a dialog box saying:

Can not find /Users/jgreely/Music/GarageBand
Please make sure this directory exists

Why won’t it just create it for me, or find it after I create it? Because GarageBand can’t follow aliases. iTunes is happiest if your iTunes library remains in ~/Music (although that bug might be fixed finally), but I wanted to strip down my home directory for backing up onto DVD and investigating FileVault. So I made ~/Music an alias to /Users/Shared/Music. iTunes is perfectly happy with this, although .Mac Backup is not. Add GarageBand to the list of Apple-supplied applications that are incompatible with Apple OS features.

Third, only one project can be open at a time. This would be fine, given the memory requirements, if it weren’t for the fact that the program exits when you close that project. Just as bad, it insists on opening the last active project at startup, so if you want to start a new one, you have to sit through the overhead of loading the old one, and then remember to use “New” in the menus before closing it. Blech.

Workaround: clear the “Open Recent” menu. On the next launch, you’ll get the Open/Create dialog again.

Fourth, faux wood grain and “dark brushed metal” looks silly.

Update: the overhead of loading a project is non-trivial. I created a simple 32-measure “song” with four loops, and loading it at startup added fifteen seconds to the application’s launch time (1.25GHz PowerBook G4, 1GB RAM). Oddly enough, the far more complicated demo song “Reflection” that’s included in the package added only eleven seconds.

Update: changing the length of a song does not trigger a “do you want to save?” dialog box. I thought that was interesting, especially since it’s ridiculously difficult to drag the end-of-song slider around. As far as I can tell, it has a selection area that covers approximately 3 pixels, and if you miss them, you move the playhead instead. Hello? UI designers? Make the damn triangle bigger!

Other than that, I’m having fun mixing loops and discovering just how much (or, more precisely, how little) I retain from the piano lessons I took 24 years ago. On that note, I’m glad I didn’t order one of the USB keyboards that Apple is pitching as a companion to GB. I got to try one out at an Apple Store, and while it’s a decent enough gadget that fits nicely on a desk, I grew up with an honest-to-gosh piano in the house — a spinet grand — and cheap plastic keys just feel wrong.

Then I spotted this Roland FP-5 with a USB interface…

It will be a while before I recover any kind of skill at playing, so for now I’m amusing myself with loops. Since all the other kids are doing it, here‘s a highly-repetitive background track I knocked together out of the included percussion loops. I used all the default settings for a new “song,” so it’s 6:40 long (at the default tempo, the shortest possible song is 1:02).

Mind you, it loops every four seconds, but both iTunes and my iPod insert a short delay when they loop back around, so the long version minimizes the breaks in the sound. If you don’t really feel like downloading 6 megabytes of, well, crap, here’s the 1MB version.

If you have GarageBand and Jam Pack, the really short version is “drag these loops into the timeline and tweak their volume and balance knobs”:

  • Conga Groove 01
  • Conga Groove 11
  • Djembe 01
  • Indian Tabla 01
  • Motown Drummer 24
  • Tambourine 01
  • Shaker 11
  • World Bongo 04
  • World Maraca 03
  • World Triangle 01

One question answered...


Latest Apple press release: “With Apple Loops support, future versions of Logic Pro will easily import projects from GarageBand.”

That wipes out about half a dozen common complaints about GarageBand.

Dark Grey Screen Of Death


Now here’s something I hadn’t seen before:

OS X Bomb Box

Fortunately I save early and often, and in the worst case I have a full backup that’s only a few days old (minutes, now!), but this was the first honest-to-gosh kernel panic I’ve had since I bought an OSX-equipped Mac. Quite a surprise.

/Library/Logs/panic.log seems to blame it on the Airport drivers. I can cope with that, as long as it doesn’t happen again. Then I’d have two reasons to send my shiny new PowerBook in for service (the first being the famous “white spot” problem that’s finally starting to become visible on my screen).

OS X 10.3 downer


So I’ve been using the OS X Stickies app for a while. Its primary limit has always been scaling; it doesn’t track the z-axis ordering of notes from launch to launch, it doesn’t let you search notes, it doesn’t supply multiple note sets or 3M-style “noteboards”, etc.

With Panther, they added the title line of each window to both the Windows menu and the contextual menu on the Dock. This isn’t a bad thing, as such, but it definitely doesn’t scale! It also doesn’t work quite right, since it often inserts gratuitous whitespace in this menu (which will change every time you view it).

What I never noticed during any of the betas, and only spotted today because a third-party app managed to rearrange my Stickies so that some of them were offscreen, is that they’ve removed the “arrange windows” option in Panther. If it weren’t for Exposé, I’d have never been able to select them all to get them back on screen.

[I suspect Burning Monkey MahJong as the culprit; it insists on switching video resolutions on startup. blech.]

Another misfeature in Panther Stickies, which I did spot right away, is the use of tooltips to show you the creation date and time of each note when you hover the mouse over it. This frequently interferes with actually reading the note, and there’s no way to turn it off.

So, two steps forward, one step back, one step down.

[and before I forget, yes, the data format is still binary garbage]

Apple Jazz


Herbie Hancock, on Apple.

Herbie Hancock, in the iTunes Music Store.

The interview is interesting reading (“I was using it [OS X] before other musicians were using it.” and “I hate OS 9 (laughter). I hate going back to that.”), but what I really like is the commentary on the “celebrity playlist.” Sheryl Crow has a bland paragraph that was probably written by her publicist, but Hancock explains in detail why each of the tracks is interesting and significant (sometimes to him, sometimes to the world). Note to Apple: Hancock’s commentary sells, Crow’s doesn’t.

[and if you’re a Windows user who hasn’t installed iTunes yet, Great Googlimoogli, what are you waiting for? It’s not as fast as it is on a Mac, but all of the features are there, including Rendezvous music sharing.]

Update: After purchasing Hancock’s picks, I’d say that I like everything except Missy Elliot’s Slide. Miles Davis’ 27-minute Bitches Brew starts off rather … “non-musical” … for my tastes, but picks up several minutes in. Elliot I just don’t get; Hancock sees something in her music that separates it from typical posturing {c,}rap, but all I hear is the surface, and it’s so grating that I can’t get past it to look for what he found. Obviously I won’t be buying her recommended playlist.

iObey


Okay, most of them are lame, and many will grate on the nerves of anyone who has two brain cells to rub together, but this one was worth it.

“Need a clue, take a clue,
 got a clue, leave a clue”