When I switched from Symbian to Android, I was introduced to Locale as somewhat of an alternative to the Nokia Bots application found on Nokia Beta Labs. Locale has a ton of built-in features, but also lets you download additional plugins to add functionality, making it possible to automate dozens of actions on your Android-powered smartphone. I’ve been using the application for several months now and have been asked to share my setup with you. I have a handful of profiles, several of which are unique to me, but hopefully they’ll give you an idea of where to start. I’m also hoping you can check out my settings and offer suggestions on how to improve or things I could add.
First, Locale is not a free app – it’s $10 on the Android market, which is, admittedly, somewhat pricey. There is a cheaper alternative, called Tasker, that operates similar to Locale. I tried Tasker, and while I’ll concede it’s likely more powerful, it was just too technical for me to really ‘get’, so I stuck with Locale. You could easily duplicate most of my settings from Locale in Tasker, if you prefer to use that. Either way, the expense is totally worth it, and I would easily recommend anyone check them out.
With Locale, you setup various ‘situations‘ that can be activated by different ‘conditions‘. The conditions can be location-based, time-based, or can have to do with other things, such as whether the phone is connected to a power source, when a specific person is calling you, or if there is a Bluetooth device connected.
I have five different situations setup, listed below.
For my home situation, I have it set by location, so that when I get within a certain radius of my house, it triggers the profile. This setup includes turning WiFi on, disabling GPS (so I don’t accidentally publish my home coordinates all over the place), and cranking the ringtone down just a bit. I also have it automatically launch a Boxee remote control application, so I can use my phone to control my TV, which is extremely handy.
My work situation is also triggered by location, and automatically turns my ringer down to a more professional level. WiFi is turned on (since I know there is WiFi available there), and Bluetooth used to be turned on (since I was using my phone as my music source with A2DP headphones). When I’m using a CyanogenMod ROM, there is also a plugin that will automatically switch my phone to EDGE-only as a trigger. Since I have a weak 3G signal at work, this is especially handy so as not to drain my battery searching for a better signal.
I don’t go to bed at the same time every night, but it’s usually somewhere around 10pm that I start winding down for the evening. Thus, I have a ‘sleepytime’ situation setup that dims the display brightness to the lowest level, disables auto-rotate (so I can lay in bed and use my phone), and turns the ringer down to an acceptable level. I also have this situation set to disable background sync, so that I don’t get bothered with email and such while I’m sleeping. I like to have nature sounds playing as I go to sleep, so I have the appropriate app automatically launch with this profile, too. My Gtalk status is changed to away, with a custom away message, too.
Yet another location-based profile, this one turns my ringer off, so I don’t disturb the worship experience for someone around me accidentally. I also disable background sync here, so I’m not distracted by email (I can still get SMS/phone calls, in case of emergency). Again, my Gtalk message is updated to ‘away’, with a custom message to my friends know not to disturb me.
When my battery drops below 30% and I’m not charging my phone, I have it take some drastic steps. Background sync is disabled, along with Bluetooth and WiFi. My brightness is turned all the way down, and the screen timeout is shortened (so it goes off quicker). Again, when using a CyanogenMod ROM, I have the phone drop from 3G to EDGE, to further increase my battery time.
The most important setting is the defaults. This is what my phone reverts to when any of the other situations are not triggered, so it’s what my phone is on most of the time. Here I have GPS on, WiFi disabled (since I enable it in situations where I know it’s available). My brightness is turned on automatic, auto-rotate is on, and my screen timeout is set to a more comfortable 30 seconds.
Here’s a quick video showing Locale in action:
Locale is easily one of my favorite Android applications of all time. It automates functions that are trivial (adjusting the ringer volume, toggling WiFi/GPS, etc) and lets me keep my mind on other things. My only complaint is that it doesn’t (yet) learn – I have to program the things that I want it to do. Hopefully a future update will allow the software to track my actions and make recommendations for changes. A learning application might notice that the first time I pick my phone up in the mornings, I turn on the display, unlock the screen, and then fire up Google Reader and hit me with a pop-up messaging asking if I would like to create a situation to automate that for me.
How do you use Locale (or Tasker) to automate your phone? What things would you like for your phone to do automatically?
3 thoughts on “How I Use Locale To Automate My Android”
Two tips for you Ricky. First is to try to avoid using GPS-based triggers, as you’ve probably noticed it worsens your battery life since the app will constantly be pinging the GPS to update your location all day. Instead, I typically have the app change profiles based on entries found in my calendar which you could easily do as well (work, church, etc).
Two is to try out the other automation alternative Setting Profiles. When I still used automation, Setting Profiles was the cheaper alternative to Locale with the same ease of use but with a lot more plugins for more events. This may not matter to you if you are already well setup with Locale, but for your readers it’s not such a cut and dry decision between the ever-complex Tasker and the expensive-yet-convenient Locale.
Also, I really like your setup. Reading it makes me want to give some of these apps a try again.
Thanks for the tip. I don’t notice any additional battery drain, but i’ve used Locale for as long as I’ve been using Android (starting with the Droid Eris and going through the Nexus One and now my G2).
I’ve stumbled across a few different things that i would like it to be able to do, and almost switched to Tasker a few times, but overall, Locale just works great for me. I’ve heard of the Setting Profiles app, heard good reviews.
If you’re just interested in WiFi switching based on location, and don’t need all of the bells & whistles of locale, I’m using Smart WiFi and it works great. Turns WiFi on and off based on cell tower locations.