I can’t remember when or where I first read about on{X}, but for some strange reason I never spent any time with it. I finally got a chance to try it out over the weekend, thanks to a stupid bug that has me confined to my room.
So, what exactly is on{X}? The best I can describe it is as an IFTTT-clone for Android. There are two components to it, one being the app and the other a website. Once you’ve logged in with Facebook, you have the option to create a host of rules that allow certain actions to take place on your phone upon certain triggers. The on{X} team has provided a set of recipes for you to customize, such as
Text my wife “my phone’s battery is dying” when my phone’s battery goes below 15%
or
Set ringer mode to normal the first time I unlock my phone after 8:00 AM
You can customize these recipes as need be, such as replacing “my wife” with the name by which the contact is stored, or changing the value of the battery which triggers the action. And there are a wide range of triggers, from weather, to location, to movement, to time.
Where on{X} gets more fun (for me at least) is creating custom rules using Javascript. The API is pretty straightforward, and you can see the code of all the recipes they’ve shared. One rule that I created was to launch Any.DO if I unlock my phone after a gap of six hours, as long as it’s after 8 AM (which typically means I’ve just woken up). The code I’ve used is this:
// Initializing variables
var ringerMode = “normal”;
var time = “8:00 AM”;// End of variables initializing
console.log(‘Started Script:’ + device.currentSource);
// Triggers the function when the screen unlocks
device.screen.on(“unlock”, function()
{
//var lastDateScreenUnlocked = device.localStorage.getItem(‘lastDateScreenUnlocked’);
var today = new Date().toDateString();
var dailyTime = new Date(today + ‘ ‘ + time);
var now = new Date();
// check if the time permits to set the ringer mode
if (now > dailyTime)
{
var lastScreenUnlocked = device.localStorage.getItem(‘lastScreenUnlocked’);
var lastScreenLong;
if(!lastScreenUnlocked)
{
lastScreenLong = 0;
}
else
{
lastScreenLong = Date.parse(lastScreenUnlocked.toString());
}
var nowLong = Date.parse(now.toString());
var difference = now – lastScreenLong;
if (difference >= 21600000)
{
device.applications.launch(“Any.DO”, {}, function (error)
{
if (error !== null) {
console.error(‘failed to launch app Any.do’, please verify the application name;’ + error);
}
});
}
}// grab the shared storage
var storage = device.localStorage;// set value and get the above two callbacks called
storage.setItem(‘lastScreenUnlocked’, now);
});console.log(‘Completed Script:’ + device.currentSource);
It’s not something that would attract regular users, but those with knowledge of Javascript might be interested. As soon as you add a rule on the website, it’s pushed to your phone immediately as long as you have an internet connection. One point I must mention is that I saw someone mention in the reviews of the app that it requires an internet connection to perform the actions. That is not true. Unless an action itself requires an internet connection (such as checking the weather) it works perfectly offline.
There are a few bugs, though. One of the rules I’ve added have not been pushed to my phone for quite a while. Also, the app itself offers no manner to add even certain pre-defined recipes, which would have been nice. However, considering it’s in beta it’s definitely on the right track. There is a small but active community presence, so if the team behind it executes well enough, on{X} could garner a significant following. I’m definitely keeping this app for the Any.DO script I made, and the possibility to make more if I need them.
PS: I haven’t been able to test out whether the app is a battery drain, as happens so often with similar other applications. I’ll update the post once I come to a conclusion on that.
That sounds really cool… you nerd. Bet you got beat up a lot, huh?
Nope, never.
Chris beats him up all the time.
Even if he is a nerd. Look who is writing articles for a successful website… Look whos not.
I’ve been using Tasker for over 2 years, so I’m a bit entrenched in addition to being skeptical of anything Microsoft might produce. A desktop interface for rule creation has its advantages, but I really have to question the ability to remotely push rules to a device combined with using Facebook as a means of authentication. Why not use a Google account for authentication? Why not direct this effort at Windows Phone? (oops! I forgot WP has virtually no market share).
Tasker fan here too. I was going to give this a try but stopped when it asked for FB login.
Apparently MS has released it on Android as a beta due to the larger market share, i.e. more geeks to test it and write scripts.
Once it has been tested and had the bugs ironed out they’ll launch it as a feature of WP7/8
Ya the FB login ruined it for me too.
I am always very excited about these sort of apps (tasker was the first I learned of)
But when I get my hands on it, I hardly find any good use for it.
Didn’t even bother with this one seeing the Fb login requirement.
I think nfc tags would suit me better as I only want to set-up different settings based on where I am in my house (behind comp, tv or sleeping/waking up)
A review of the battery drain would be very much appreciated, especially with location aware rules.
I do agree with the NFC tags bit, I still don’t have the capability on my phone, but it’s a “must have” for whichever one I buy next
I don’t know if you use airdroid or desk notifier, but if you do:
Do you know if it is possible to turn on airdroid and desk notifier with an nfc tag?
Like I said, don’t have NFC capability on my phone (I’m still using a year and a half old MyTouch 4G). Once I do get one with NFC, that will be something to check out since I use Airdroid a lot
I have a Gnex, so I have NFC, but don;t have the tags nor do I know anyone with an nfc phone to try out beam. Really should order some tags online and find out what they can do.
I got as far as Facebook login and uninstalled.
“Once you’ve logged on with Facebook”…. and then describe a bunch of automated rules? F.ck no.
Once it drop’s it’s facebook connection I’ll be downloading it as it does look like a great app…
Another vote for dropping Facebook. Seems unnecessary to be the ONLY form of authentication :/
I’ve been using on{x} for two days, and I have some info on the battery consumption. After 12+ hours of light usage today the battery is at 71% and on{x}’s battery usage is at 6%. It has kept the phone awake for 25 minutes and used 7 minutes of CPU.
I have 4 scripts running:1. tuns off data after 30 seconds the screen went off;2. turns on wifi when I’m home;3. reminds me to take an umbrella in the morning if it’s gonna rain;4. sets the ringer normal when I unlock the phone in the morning.So moderate battery usage probably because of the script that turns wifi on when I’m home. I’ll remove it and see if I notice any improvements (I use Llama for that anyway).