Locations, my mobile Mac, and my wallet
Friday, February 3rd, 2006Home. Office. Random spots on campus. Random spots in the world. Enough people go enough places and have enough programs that seem to need twiddling whenever they change where they work that several solutions have been developed.
This is really an issue that’s been bugging me for a while. Not bugging me enough to learn how to write my own application to solve it yet (though I did hack up someone else’s idea.) Bugging me just enough to, well, you know, whine about it.
Location-based configuration settings is something I never really gave much heed to until I got myself a PowerBook last year. This is the first machine I’ve had that’s been portable enough, powerful enough, and just plain good enough to really become my single do-everything computer. In the year since I first aquired the ‘Book, I’ve decommissioned most of the other computers I had been using at home.
Many machines, minor mobility
Computers, you ask? It’s now to the point that the only computers you can expect to be running full-time at my house are the TiVo and the “home server”. The home server is a drastically overpowered little PC that serves DNS, DHCP, some file shares on a FireWire external drive, and serves as a local mail sending server. I’ve been using that machine primarily to archive all our CDs to MP3 for our iPods. Before the ‘Book, I had a monsterous Linux server, an ancient Sun workstation, a Windows PC, another Linux PC I used for experimentation and my Wife’s Windows PC. Then I added a pair of Apple PowerMac G3s (remember the first of the “New World” Macs, with the bondi-blue and white cases) for more experimentation, which eventually sold me on the idea of a Mac as my main computer. All of this was partly because I am a computer geek and like exploring new systems, partly because a lot of it was easy to aquire and partly because I was restless… I hadn’t really been happy with any one computer system, so I had one of everything.
Added to all that mess was my trusty Dell Inspiron 3500. It wasn’t the greatest machine around. In fact, it was kind of crappy, when you got right down to it. It was, however, mine, mobile and running Linux well enough to serve me on the road. Being a true unix geek having fun, whenever I needed to change my settings based on where I was computing from, I happily hacked the system configuration to suit my needs. If I got the system into a non-functioning state because of it, I was annoyed, but all the important stuff was elsewhere, so I didn’t care that much.
I want it all, and I want to take it with me.
Well, after a time, I decided that of all the systems I used, Mac OS X was the one I liked best for daily dealings. I also decided that if I was going to get a new computer, then damnit it was going to be a notebook. Hence, the PowerBook 15″. As I got comfortable with the new system, and migrated nearly all of my digital life to it, it started to matter a whole lot whether or not things “just worked” whenever I sat down somewhere to work.
At first I was pleased simply with OS X’s “Locations” menu in the Apple menu. This simply selects from one of the defined “Locations” in the Network Preferences panel, and then changes all the network settings to match the defined location. In itself, this feature really is useful, as it allows you to quickly switch between your DHCP settings you’d use at home, or your hard-coded IP address you need to use at work, or any number of hard-coded network settings if you work in multiple places. The only problem with this feature, though, is that it only works on settings in the Network Preferences panel.
“So?” you may now be asking. “What else do you need?” It’s really handy that you asked that, because I’ll tell you what else I need. I need to be able to connect to my mail servers for reading my email. I need to be able to send email, reliably, which often times requires changing what server I send mail through. I need to ensure, that if I’m not home, my screen saver requires a password, and kicks on a little sooner. I’d like to change my default printer to one physically near me. I’d like to have my audio muted in some places, and turned up in others.
The first thing I came across was an Automator workflow called Location Switch. All in all, it is pretty good, as it hits the major things, such as changing settings in Mail, default printer, volumes… Okay, they’re not major, but life is easier when you can change all those things at once. I found it had some limitations, though. I had to create a copy of the workflow for each location I wanted to deal with. I couldn’t have the workflow change the Network Location. This means to become operational in another locaion, I needed to do two things: change the system’s Network Location via the Apple menu, and run the appropriate Location Switch workflow.
See, I’m lazy…
I looked at what Location Switch could do for me, and I asked myself how I could make it better. So I read up a bit on Automator and AppleScript, and came up with a single workflow that leveraged what I read of AppleScript and added a “shell script” task to manage the changing of the Network Location. The resulting Automator workflow takes a lot from Location Switch, wraps it up in some more AppleScript, and yields a single workflow that asks you which location to use when you run it. Now, I have a single icon to click on, and then I answer a single question in a dialog box. Still two actions, but they’re easier than the last way of doing it. Also, I’m still not entirely happy with it.
Imagine my pleasure at finding that someone had already worked on an idea brewing in my head, and created an application that did all this in a much cleaner way. Reading through TUAW, I came across this article, which talked about Location X. Here was an application that seemed to work in much the way I had been thinking of writing my own app (hey, I needed an excuse to start programming in OS X!) I check it out, and download it, and install it, and start getting to know it. Honestly, it doesn’t do anything my Automator workflow didn’t already do, but it’s much cleaner, and goes straight to the plist settings files instead of having to work through the individual applications via AppleScripts. Much, much cleaner.
To top it all off, Location X even has a nifty feature called “AutoLocation”, which you can use to have Location X auto-configure your settings based on a wireless network ID. For example, if I were to turn on my notebook at home, and Airport found my home wireless router, Location X would use the name of my wireless network to trigger settings changes to my home preferences. Likewise, the same would happen at work, or any other location that I frequent and uses a wireless network, even if I’d be using the wired network instead.
So what don’t you like about this one, slacker?
Location X is shareware. That, in and of itself, is not what I don’t like about it. I never bothered with shareware until I started being a power user on my OS X systems. I’ve registered Delicious Library (it’s more than worth every penny.) I’ve registered Little Snitch (outbound firewall, per-application, leveraging OS X’s built-in pf firewall system from FreeBSD.) I’m planning on registering PCalc, given how much more useful it is compared to OS X’s Calculator. I’ve paid for NetNewsWire to keep tab on all the RSS feeds I care about.
Shareware on OS X is, I’ve found, much better than the sea of crap you’d find on Windows, and often worth the few bucks, even if you don’t lose any features for not paying.
What I don’t like is that the “demo” for Location X limits you to eight location changes before telling you to get lost. The other thing I don’t like is that it’s $20. I may be lazy, but I’m also stingy when it comes to certain things, especially when I already have a mostly functional way of doing what the $20 would buy me. Maybe it’s just a price point, though. I asked myself, if this were $5, would I buy it? Unquestionably, yes, I’d buy it. What about $10? Still, yes, I’d pay for it and move on with my life. I found myself wavering a bit at $15… I’d have to think about it, because that feels like it’s about the limit of how useful I’d call Location X to me. It’s really not more than $15 useful, you see, especially since I have something that already does the job.
Being mobile and not having to think about it
I may yet pay for Location X, and abandon my Automator workflow, simply because it is a much cleaner way of managing the concept of locations. I may pay for it primarily for the AutoLocation feature. I may pay for it because changing my location won’t involve waiting for Mail and the Printer Setup Utility to fire up so they can accept scripting commands. It has the potential of letting me not worry about how my system is currently configured to play on the network, and simply move on to getting my work done, rather than playing sysadmin for the first five minutes of each boot or wake-up.
You’d think, though, that something like this would have come as a standard part of the OS. Or, at least, as something available in the OS and all of Apple’s applications with an interface for other app vendors to use. With today’s emphasis on mobile computing and laptops and notebooks out-selling desktops, we wouldn’t have to find add-ons (or write them) to handle these situations. Maybe someone at Apple is having these same thoughts.
Maybe I should just pony up the $20 and quit bitching.
