Locale was a Grand Prize Winner in the first Android Developer Challenge. It is a tool that allows you to perform a number of actions based on conditions you define in the application. It makes great use of the Android G1’s location abilities, but frankly the name is misleading, because it can do far more than just update based on location.
Each Locale situation has one or more conditions that trigger one or more actions. The conditions available are:
- Battery (below, above, unplugged, plugged in)
- Calendar (any event on your calendar)
- Location (based on cell tower, wi-fi, or GPS)
- Time (Set start/stop time and days of week)
The settings that you can change include:
- Display (brightness and timeout)
- Network (Bluetooth, GPS, and/or Wi-Fi)
- Notification (Status Bar, Vibrate, and/or Alarm)
The first example that comes to mind is location-based. With Locale I can always be sure that my phone doesn’t ring in Church. You can use the map to define a location. The location appears as a highlighted circle:
This screen makes great use of the Android interface. You can drag the thumb tack around the screen, or drag the circle’s border to resize the location. You do not have to have GPS turned on for this feature to work. It can determine your location based on the Cell tower your phone is connected to. This is not as accurate as GPS, but works well for my Church mode.
Once I’ve defined the condition (at Church) I can add the settings I want. The first one is obviously Volume set to silent. But I can also change my wallpaper to something more heavenly, turn on/off GPS, Bluetooth, or Wi-Fi and even choose how it notifies me of my location change.
Another situation I defined is Night Time. I set locale to set my phone to silent mode between the hours of 11 pm and 8 am.This way I will not be disturbed by phone calls in the evening. You could also use this to have a work-appropriate ringtone.
From this screen you can select a start and end time as well as the days of the week. In the following example the condition is st for 8 am to 6 pm for Monday through Friday:
My Night Time setting is nice, but I worried what would happen in case of an emergency. So I added another situation called Wife. When any of my Wife’s contact numbers contact me, the ringer turns on. You can select multiple contacts at one time.
Locale handles multiple situations by giving priority to the first one listed, so in this example:
My phone is silent when I am in Church. Between the hours of 11pm and 8am my phone is silent except when I receive a call from my wife. It will ring at night when it is from her, but not at Church.
You can also see that the Home situation is currently disabled. You can also use this screen to see if any of the conditions are currently active. When active, the situation name appears in bold.
You can also change the order of the situations from the manage screen:
You move the situation by dragging the dots (looks like a textured area) to the position you want, or into the trash can to delete.
I wish you could set a setting for when the condition ends (that is, when I leave Church) but that is not an option. However I can set defaults. I set the default for my ring volume, so whenever a condition is not met, my ringer is on. Unfortunately this can yield less than ideal results. While at a conference in Vegas, my ringer turned on at 10am in the middle of a presentation, because it was no longer “night”.
Locale has become one of my essential applications. It makes an excellent use of the Android interface and provides a lot of flexibility in configuring. The program is fairly intuitive and defintitely worth the time to experiment with.