Command-Tilde in Photoshop

When Adobe released the Photoshop CS3 Beta, I was pretty pleased with it. But I did have one big beef:

"My one big beef is that there still seems to be no key command to switch between open documents. Almost every other application on the Mac nowadays uses “command-`” to switch between open docs. Yet Photoshop CS3 still not only fails to adhere to this standard, but apparently lacks the ability to switch between open docs with the keyboard at all. This seems like a strange oversight for such a significant interface overhaul. I also wish Adobe would use standard Apple key-commands for things like hiding the app (”command-h” on the Mac, generally) but at least the ability exists to do this from the keyboard, and it’s configurable."

While I did later discover that Photoshop did in fact have a key command for document switching, I still found it bothersome that it varied from the system default, all in the name of backwards compatibility. A Photoshop developer chimed in with the following:

"Photoshop since the first OS X version has supported using Ctrl-Tab to switch amongst open documents. This is because Cmd-~ has since Photoshop 1.0 meant “show all channels of the current layer” a command ingrained in a great many fingers of a great many pro Photoshop users..."

To which I responded:

"...I do think there’s a certain logic to changing PS key commands to match the ones in the OS though. It seems to me that by choosing to stick with your original key commands to help legacy users, you’re actually doing a disservice to everyone: legacy users, instead of having to relearn one or two new key commands now have to use a different one in PS than they do in virtually every other application on their computer. Frankly, they’ve already relearned Command-H (and others) by using it in all the other apps, and in the OS. Including these key command in PS won’t significantly impair legacy users, and it will greatly speed the adoption of PS by new users who are already familiar with the Mac OS and its attendant apps. Giving us the ability to customize these key commands helps a lot, but I would still argue that the defaults should match those of the OS. Let legacy users customize things how they want. OR, have a key-command preset for legacy users that uses old PS key-commands, and a standard one that uses those of the OS for users who prefer that. That would be the best of both worlds!..."

Well, I never thought I'd see the day, but it's finally happened. Command-tilde is now the default method for switching between open documents in Photoshop CS4. And John Nack is even happy about it (via Daring Fireball).

It's a brave new world.

Google Calendar Sharing

One of my "greatest hits," if you will, is called "Publish iCal Calendars on the Internet for Free," and it's about just that: publishing and subscribing to your iCal calendars using Box.net's free and WebDAV-friendly file sharing service. This method of calendar sharing has helped me (and others, I presume) keep tabs on all our calendars from one central location, but it's not been without its share of hassles and limitations. One problem has been that Box.net has never officially supported WebDAV, which is needed for the process to work. They have it enabled, but any sort of troubleshooting request is met with a "We don't support the WebDAV protocol," meaning all that nasty, angry, WebDAV-troubled traffic comes my way. Blech! No thank you.

What am I, a WebDAV protocol expert now?

Another big limitation of the service has historically been that the calendar is not a two-way sync. This has had to do mainly with how iCal and WebDAV work together, I think, though I don't claim to understand it fully. Suffice to say that, using Tiger's version of iCal and WebDAV for calendar sharing was a one-way affair. That is to say, one computer always acted as the calendar master — the machine that hosted and shared the calendar — and all other machines could only read said calendar. Again, not Box.net's fault. And again, impossible-to-fulfill requests coming my way for the functionality.

But Leopard changed the way iCal works in some significant and incredibly useful ways. When it was announced that Leopard's iCal would support the CalDAV standard, many of us admins were elated. For CalDAV, you see, is a standard that does support two-way calendar sharing natively. Having it in iCal meant it was only a matter of time before two-way calendar sharing became simple and ubiquitous with popular services like, oh, I don't know. Google Calendar!

Yup, that's right. You can now set up Google Calendar to host your iCal calendars via the CalDAV standard. You can then subscribe to these calendars and edit them either from Google, or from any properly set iCal client. Changes made in iCal are instantly propagated to Google and vice-versa.

I tell you, my friend, it is a thing of beauty.

In the old paradigm, your calendars lived on a desktop computer somewhere — or, as in my case, on numerous desktop computers — from where they were controlled. In this brave new world, all my calendars are set up in one single, central location — Google Calendar — and are written to and read from, well, anywhere.

Setting all this up beyond the default calendar provided by Google is a bit of a pain. Google's instructions are as good as I can imagine, so, rather than writing it all out for you, I'll simply link to their page on the matter:

Big Giant Google Calendar Sharing Link

This new functionality, aside from just being plain cool and handy as hell, opens up all sorts of possibilities for sharing amongst other folks — co-workers, family members and the like. Possibilities I haven't even begun to consider. Yet.

I will say, however, that this is still considered beta, and that there are issues particularly with To Dos and Reminders. I'm sure it will become more robust and full-featured soon. But I've been using it for basic calendar sharing for a week or two now and it's been working great at keeping everything in sync. If that's all you need — or if you've been hobbling along with the Box.net trick for the past couple of years like I have — this solution is for you.

Adobe Update Hell

I've been hopeful in the past about Adobe installers, and there have been improvements. But Adobe's update process still leaves a bitter taste in my mouth every time I try to use it, which is with less and less frequency, largely because of said bitter taste.


Adobe Updater: Update Thyself? Not Confidence-Inspiring
(click image for larger view)

Even more frustrating is the fact that Adobe's updaters continue to annoy even after being expressly told not to. To wit, this dialog popped up out of nowhere recently, despite its preferences being set otherwise.


Adobe Updater Preferences: Completely Disregarded
(click image for larger view)

I contend that Adobe's automated update process is just plain broken. It's actually much easier to use their support site than their updater. That's what I do when I need to run Adobe updates. And I keep the updater turned off.

Or at least I try to.

Time Machine After Logout

I've been using Time Machine for a while now. And I've noticed some interesting things about its behavior. Of particular note, I've noticed that Time Machine does not back up your data when you are logged out. I found this strange until I figured out why this is the case.

I first noticed Time Machine not backing up logged-out users after setting up the staff computers here at work. Oddly, my work computer did back up when I was logged out, which I realized when I noticed a backup failure due lack of drive space. According to the Console logs this backup attempt had occurred in the middle of the night. Clearly Time Machine was able to backup when users were logged out, but it would only do so on my machine. So what was the difference?

By default, Mac OS X wisely un-mounts external volumes when a user logs out. This makes sense for a number of reasons, not the least of which is the fact that it's what users expect, and it's the least likely to break something if a user logs out and pulls their firewire plug without ejecting their disk. It's a very sane default that errs on the side of data protection. But it's not always what you want. For instance, say you have network shares, like external RAID drives, that are connected via firewire (which, in fact, we do). Or say your network backups that run in the middle of night get stored on a firewire volume (which ours do). If you want these drives constantly available you need to be able to keep them mounted even when no user is logged in. Fortunately, Apple provides a method for doing this, though it's by no means obvious.

The trick to keeping external drives mounted after a logout lies in a little .plist file. The name of this file is autodiskmount.plist, and it does not exist by default; you have to make it. In the file should be the following text:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>AutomountDisksWithoutUserLogin</key>

<true/>

</dict>

</plist>

Put this file in:

/Library/Preferences/SystemConfiguration/

And reboot. (Yes, reboot.)

Now all external drives (firewire, USB, eSATA, etc.) will stay mounted after a logout. If they're shared, they'll always be available. And they'll always be available to Time Machine.

So the difference between the staff machines and mine? My computer is set to never unmount drives at logout. Apparently, Time Machine is perfectly capable of running even when no one is logged in. But it obviously needs the Time Machine drive available to do so. Keeping firewire drives mounted post-logout will allow Time Machine to work all night long. Sweet!

And since I'm so crazy with the Installer Packages these days, I'm including one here that will install the necessary preference file to make all this happen. You know, just to make your lives a little easier.

Download KeepExternalDisksMounted

You're welcome!

UPDATE 1: A reader asked in the comments how I came to have the preference file installed on my system. I'd put it there long ago because I needed firewire drives mounted for rsync backups of staff machines. But I certainly didn't figure out how to create that file myself. Credit for that goes to this Mac OS X Hints hint. It's got all the details if you're interested.

UPDATE 2: One other thing I forgot to mention: Why is this useful? I mean, if you're logged out you're not really capable of creating any new data, so there's nothing really new to backup anyway, right? This is mostly true, indeed. But imagine your boss uses Time Machine for his hourly backups. Now imagine he creates a whole buttload of data — I don't know, emails to the CEO, photos of his kids, whatever — and he creates this data right before he leaves for the day. Then, safe in the knowledge that Time Machine's got his back, he logs out and goes home for the weekend. That weekend there's a power surge or something, and his machine is fried. "No problem," he thinks, "I have my backup." But his most recent data is gone. His photos, his draft to the CEO, gone. And guess who's to blame? Yup. The Systems Admin. Your ass is grass, and Time Machine is the lawn mower. (Uh, this is why I don't write in the mornings.)

Personally, I think it would be smart if Time Machine asked you at logout if you'd like to make a backup, or at least warned you that backups would not be performed after logout. This seems like a bit of an oversight on Apple's part.

The other time this can be useful is when you're creating your first backup. This is typically a lot of data. Here in the office we told folks to let it run overnight. But they couldn't log out. So we dropped them to the Login Window with Fast User Switching. Still, it would have been that much more intuitive if we'd just told them to log out like they always do, and that their backups would be ready in the morning.

So yeah, not earth-shattering, but still potentially useful. And interesting on an academic level to know that Time Machine will run sans login.

I have to go install that preference file on my staff machines now. Bye!

Firefox URL Bar for Mac Users

The fact that John Gruber is trying and writing about the latest Firefox betas — which, by the way, I am frickin' loving — is a testament to how good this release will be. Though he's not switching for a variety of reasons, his review is still quite complimentary.

Most of Gruber's Firefox complaints either don't bother me or don't affect me, but there is one that has always bugged the crap out of me: a single-click in the URL field of the browser highlights the entire URL. This is almost never what I want to do. If I want to highlight the entire URL, I'll just hit Command-L and be done with it. If I'm clicking in the URL field it's because I mean to edit that thing, and I want my click to place the cursor right where I clicked, damnit. Despite Firefox 3's attempt — and, I should mention, general success — to integrate better with your platform of choice, it gets it wrong here.

Fortunately, Gruber's posted a link to a dude who has the skinny on the fix. Here it is in my own words, if you don't feel like following the links:

  • Type "about:config" in the URL field
  • Filter by "clickSelectsAll"
  • Change the "browser.urlbar.clickSelectsAll" to "true" (just double-click it)


Firefox 3 Beta 5: Fix the URL Bar
(click image for larger view)

From now on clicking in the URL bar in Firefox will behave as it does in Safari: single-click places the cursor; double-click highlights the word; triple-click highlights the whole URL.

Oh, sweet merciful heaven, that's good stuff.