Requirements: Mac OS X 10.4. Universal.
Trial: Feature-limited (five location changes per session).
Given the increasingly important role of notebook computers over the last few years, it’s continually surprised me that Mac OS X’s support for multiple locations has paled in comparison to the classic Mac’s Location Manager. Under OS X, a location is simply a collection of network settings. The classic Location Manager, on the other hand, understood that a location was a place, not simply a network connection.
NetworkLocation, from Centrix.ca, attempts to bring back this missing functionality with an updated sense of style more fitting an Mac OS X application.
NetworkLocation’s main interface, called the Chooser, appears as a floating panel in front of everything else displayed on the screen. Its appearance is customizable, as NetworkLocation includes six skins—five solid colors and one wood pattern. The Chooser easily allows you to select your location from the locations defined in the Network preference pane. You can configure the Chooser to automatically appear under two different circumstances—when joining an AirPort network or when waking your computer from sleep after a user-selectable period of time. The ability to display the Chooser on joining a new AirPort network appears to be limited to the built-in AirPort card. If you use a PC Card adapter for wireless networking (for instance, to use a newer network card than what’s built-in to your computer), the Chooser does not automatically appear.
The Chooser can be dismissed by selecting a location, clicking outside the Chooser, pressing the Escape key, or waiting for the Chooser to timeout.
The NetworkLocation Chooser
Although the Chooser puts an attractive face on changing networks, the interface is not without its problems. If you dismiss the Chooser through any means other than clicking outside the Chooser, NetworkLocation remains the the frontmost application. This issue is compounded if you’ve decided not to show the NetworkLocation icon in the Dock. In this situation, the menu bar will indicate that some other application (like “Finder”) is active, but said application will not respond to any keyboard commands. If you don’t understand why this is happening, it can be frustrating.
As an alternative to the Chooser, NetworkLocation also offers a menu bar item. This menu gives you access to all your network locations, NetworkLocation’s preferences, and the Chooser while also allowing you to quit the application. After you change locations, the menu can be a little slow to indicate the currently-selected location. I assume this is because it takes a short period of time for Mac OS X to change locations and NetworkLocation is probably querying the OS to determine the appropriate location.
NetworkLocation include ten built-in actions that you can use to construct what happens when you switch to a given location. These ten actions include the following:
- Changing Mail’s SMTP server.
- Changing the default printer.
- Connecting to a server via the Finder.
- Launching an application or running a script.
- Opening a URL.
- Playing an iTunes playlist.
- Quitting an application.
- Setting the display brightness.
- Setting how often Mail checks for new mail.
- Setting the system volume.
Creating a new action for a location.
Most of the actions that change settings include the option to restore the previous setting when switching out of the location. This option is missing from the mail check interval action, however. Another such mismatch occurs between the launch application and quit application actions. The launch application action allows you to specify that an application or script should be run when leaving a location. The quit application action has no such option—you are limited to only quitting applications when entering a location.
I’ve also encountered some flakiness with the creation of action instances for locations. There’s nothing that seems to adversely affect the NetworkLocation’s operation, but the behavior certainly feels wrong. When you create a launch or quit action, the user interface allows you to save the action without selecting any application, which doesn’t make any sense. However, the mail check and iTunes actions are more obviously broken—if you create the action instance without changing the default selection (“5 minutes” for mail checking and “Library” for iTunes), you get an action instance that appears to do nothing when run.
Actually, my biggest issue with NetworkLocation is the included collection of actions. The ten built into the application are a mix of network- and place-specific action, which is a step in the right direction. However, I would like to see more place-specific actions in a future version of the application. For instance, I wanted to create an airplane location for when I was traveling. Those who travel know that flying means no radio transmission from laptops—meaning no AirPort and no Bluetooth. I tried writing an AppleScript for turning off AirPort, but even though I’ve had a bit of experience with AppleScripting, I was not successful. Somebody without AppleScript experience who just wanted their laptop to better handle different places would most likely be out of luck.
Other possible ideas for additional actions include control over power management options, configuration of popular non-Apple products (like Entourage or NetNewsWire), or fun things like changing the desktop picture or screen saver.
In its current state, NetworkLocation is a promising application. It offers much of the basic functionality that the users could be want for while looking good, but it does not provide a particularly wide range of options out of the box. Users comfortable with AppleScript can widely extend the NetworkLocation’s functionality, but less experienced users will be stuck with the somewhat limited options. The small set of base functionality and combined with rough edges I’ve mentioned prevent me from heartily recommending NetworkLocation to everybody, but you should look into it if you have a laptop and find yourself regularly moving between different locations.