As wise sages have said, “No matter where you go, there you are.” And where you are, so goes your iPhone. We take for granted our relatively new ability to get a satellite map of the exact place we’re standing, or the roughly 15,000 ways we have of finding a nearby restaurant even if it’s midnight and we have never before visited the neighborhood.
But that all boils down to information — fantastically useful information, mind you, but only that. What we’re missing is automation, the ability to use that information to make useful things happen around us automatically. Sure, Apple is using iBeacons to provide hyperlocal sales information in an Apple Store, and Michael Cohen has already explained in “The Promise of iBeacons in iOS 7,” (18 September 2013) how this technology might be put to more helpful (and less creepy) uses. But those are things that other people are controlling on your behalf. Why is it so hard for me to automate my own world?
Put simply, why do I have to set a timer on my coffeepot? Can’t it just know when I wake up? Why doesn’t my thermostat start warming up the house when I’m 30 minutes away from home? And why, for Pete’s sake, do I need to keep setting manual reminders to buy the darned milk that ran out three days ago?
Many of these things will remain difficult or impossible for some time to come, but an impressive infrastructure already exists that provides some interesting automation tools, at least with regard to your Internet use. It’s called IFTTT, and if you tell it to, it can keep track of where you are and start doing things for you. It’s worth knowing about not only for what it can do for you now, but also what it might signal for an automated future.
Do It For Me, IFTTT — IFTTT stands for “If This, Then That,” but to put it in more human terms, it’s “If This (Happens), Then (Do) That.” IFTTT has 76 different “channels” of events it can monitor and things that it can do. Most of these things involve making events on the Internet intertwingle with an otherwise separate Internet action, at your command. When you connect an event to an action, IFTTT calls it a “recipe.” Any recipe can be shared with other IFTTT users, so there’s a library of thousands of existing recipes that you can adapt for your own needs. But that’s usually not necessary, because creating new recipes is a cinch.
For example, I regularly post to Facebook and Twitter, but I’m less than thrilled about having all of my witticisms locked up in those silos, never to be seen again. So I have IFTTT recipes to copy my posts to my neglected blog. Likewise, when I post an essay to my blog in its “important” category, notifications go out to both Facebook and Twitter; however, if I post to my “less important” category, it’s cross-posted only to Facebook.
I also have a set of IFTTT actions set up for when I want my iPhone to obsessively diarize my day for me. Sometimes a check-in with Foursquare will automatically add an event at that time to my Google Calendar, so I can look back on the past week and see where I’ve been and when. Or it can post Foursquare check-ins to an inbox notebook I keep in Evernote, where they mingle with the voice and text notes I make over the course of the day. Recipes can be turned off and on whenever you like, and I have a library of around two dozen that I activate as the mood strikes me.
When IFTTT for iOS was first released, it included some integration with other iOS apps — including the Contacts and Photos apps. So it became possible to post new iPhone pictures to my Evernote inbox automatically (or, for that matter, to live dangerously and post them in any public area that has an IFTTT channel). Other people have come up with actions to automatically send out a “great to meet you” email with contact details any time a new person is added to Contacts.
The most interesting thing about IFTTT is that it enables you to mix and match events and actions to your heart’s content. If you can think of a way of isolating an event in a way that IFTTT can understand, then you can direct it to any channel you like. The hardest part is figuring out what IFTTT understands, but there’s usually a workaround; for example, there’s no TidBITS channel, but you can use the RSS Feed channel to generate an action whenever the TidBITS Web site is updated. If you’re stumped, try browsing the library of shared recipes for ideas you can steal.
Most social networks are available as channels in IFTTT (Google+ being a notable exception), enabling all sorts of public sharing of information on your behalf. Some of the most popular IFTTT recipes include sending new iPhone photos out by email (perhaps demonstrating how much people distrust Photo Stream), receiving the daily weather by SMS, and automatically changing a Twitter profile picture when it’s updated on Facebook.
Getting Started — IFTTT is completely free to sign up for and use, and their iOS app is also free. (Considering that the company has a staff of 20 and is hiring, this raises the question of how they intend to make money, and what their long-term survival strategy is. In the meantime, they’re living off of venture capital.)
Set up a new account at ifttt.com, then click the Channels link at the top.
You must activate channels manually before they’re available for use in recipes, and you’re not going to need anywhere near all of the channels that IFTTT provides. Instead, click the specific channels that correlate to services you already use. Heavy Facebook user? Turn on that channel. Have no idea how to use LinkedIn? Leave it turned off, and join the club. The exceptions are channels that integrate with your iOS device; you have to activate those channels on the device itself.
After that, you can browse the existing recipes to get an idea of how an IFTTT trigger works or jump into creating your own. Click Create to see a list of available channels, and then click the big blue “this” word to display the trigger channels.
Choosing a channel brings up the available triggers for that channel. For example, right now the Facebook channel offers 13 different events to watch for, such as “new status message” or “you are tagged in a photo.” Select a trigger to bring up a form that lets you specify what to look for, which varies based on the event. Then it’s back to the channel list (click the big blue word “that”), because again, an event in one channel can trigger an action anywhere else. Choose the channel where you want something to take place, then pick the action and fill out another form. It’s seven steps, but you’re walked through the entire process in a long, vertically scrolling page.
Click Create Recipe, and voilà, you’ve got a recipe that looks for something to happen and does something as a result. If it sounds complicated, just get to pointing and clicking. Savvy readers may have already realized that what I’m describing is a visual scripting language for the Internet; don’t let that scare you, as it’s also the simplest scripting language I’ve ever seen, with only an IF-THEN construct. But if you’re confused, just start with a public recipe and modify it to suit your needs.
What About the Real World? — IFTTT already has some interesting channels and recipes for moving automation into the real world. Going to an event where you think you’ll want an excuse to leave early? Use the IFTTT recipe that rings your phone when you text it your secret escape word, or just set it with the Date and Time trigger to go off at a particular time. Only you will know that you’re listening to text-to-speech (which, by the way, can read you the results of any trigger).
With location awareness, IFTTT moves more firmly into the real world. Sure, you could set a recipe to email your significant other when you think you’re going to leave work, but how much better is it to send a text message when you (and Elvis) actually have left the building? Location awareness in IFTTT is simple: find the place on the map where you want the trigger to occur, determine how wide a radius around that spot is relevant, and then pick any one of hundreds of actions that you want to happen when you enter or leave an area. IFTTT allows you to set this up in either a Web browser or on your iPhone, but only your iPhone’s location can trigger the recipe.
Sure, you could also use the iOS Reminders app to post an alert, but IFTTT can both text you a reminder to drive past the grocery store as you leave work and notify your significant other to ask if there’s anything you should pick up on your way home.
IFTTT also integrates with some smart electronics to provide home automation. Hook up any appliance to a Belkin WeMo switch, and IFTTT can power it up or down as you like. This is the beginning of the magic coffeepot — tell IFTTT to send a “power down” action when you leave your house, and you never need to worry again about whether you left an empty pot on the burner. Between WeMo and the also-supported Philips Hue smart light bulb, you can pretty effectively fire up or shut down your house with IFTTT, so long as you’re willing to spend a few hundred bucks on smart power outlets and light bulbs.
But that merely whets the appetite. Yes, if you have a Jawbone UP fitness tracker, you can use it to power on your coffee pot when you wake up — but it won’t do you any good if your coffeepot needs more interaction than just being powered up. You can use smart wall switches to power down any appliances when you leave the house, but good luck if your gizmo doesn’t have battery backup and needs to be reprogrammed when you get home.
This isn’t the fault of the IFTTT team. What they get right is the ability to mix and match, to take any number of inputs ranging from emails to Internet data to your location, and feed that into any number of automated actions. The problem is that there’s no standard for getting data into IFTTT, so they have to engineer their own solutions in order to support any particular gizmo.
The Automatic Milk Problem — I’ve been attending the International Consumer Electronics Show and covering it for TidBITS for years, so believe me when I say that the Automatic Milk Problem (AMP) is up there with the flying car as the technology that is regularly promised but never delivered.
The promise is that someday your “smart refrigerator” will know that you’re low on milk, and will send out an automatic message so milk is delivered to your door. (And unlike Amazon subscriptions, the best AMP solution so far, the milk is delivered only when you’re actually low on milk, not based on a schedule.) In theory, this problem could have been solved years ago with the right integration. In practice, it has resulted in specialty fridges that cost more than the rest of your kitchen and can order milk only from the manufacturer-approved vendor that has a delivery radius of five square blocks in San Francisco. Never mind if you’re also low on apples.
Instead, what we need are dumb refrigerators and cheap sensors. An empty milk container weighs less than a full gallon (and an empty apple crisper weighs less than one with a few centibushels in it), so all we really need is a bag of weight sensors; one for the milk, one for the apples, and one for whatever else you want to keep topped up. Add in the solid-state electronics to connect with other devices, and this is something that should be the size of a quarter. (I’m totally guessing about that, based on watching Mythbusters.) And, presumably, not costing much more than a quarter if it’s produced in sufficient quantities. (Totally guessing about that as well.)
The Automatic Milk Problem hasn’t yet been solved in a satisfactory way because companies keep trying to sell all-in-one milk solutions. What we need is a tiny device that can send a message to a service like IFTTT, so the company can write a channel that relays these messages to any of a dozen different home delivery services — and if that doesn’t work in your area, to just send a milk-reminder email to you on the way home. It doesn’t matter what message comes out of the weight sensor, so long as it uses some sort of standard.
(Email is an excellent standard, but only for devices that are already connected to the Internet. For everything else, you’re probably looking at some sort of low-power Bluetooth network that connects to a central device that translates the signal into an email. This is one reason why low-power Bluetooth is so interesting, because it creates so many solutions for this problem.)
Once this infrastructure is built and some sort of automated messaging system is standardized, it won’t just be about milk anymore. Imagine a car that tells your alarm clock to go off ten minutes earlier so you have time to buy gas on the way to work, and that texts you the night before to tell you to get to sleep a little earlier. It’s a mobile phone that tells you which other devices need to be charged overnight. It’s a tablet that tells you to bring its cable today because you didn’t plug it in, and which can sense that the cable is still on the nightstand.
What makes this possible is a system like IFTTT (and perhaps numerous current and future competitors, so long as they all stick to the same standards) that makes all of these devices interoperable and under your own control. Need a new automation method or reminder? Add a new recipe. Getting too many reminders? Turn some off. Numerous retailers automate the process of trying to get you to purchase their stuff — that’s what an email mailing list is all about, after all — but IFTTT-type systems put you in control, rather than turning you into a passive recipient of thousands of marketing messages and reminders.
And just as obviously, there will be some getting used to living a more automated life. That early wakeup alarm might just be confusing if it weren’t explained by your devices, and you might bridle at being nannied by your electronics. For some, the benefit of the automation might not be worth the loss of autonomy, whereas others will welcome their robot overlords. IFTTT provides you with control, but with increased complexity that might not be everyone’s cup of tea. Any system you set up will co-exist with the existing paradigm of hundreds of companies trying control their own push notifications and events to you. There’s definitely some information overload built into this system, but overall, I have much more faith in systems where you, and not corporate marketing departments, are in control of the events and actions.
In the Meantime… — I don’t intend these blue-sky theories to take away from what IFTTT can do for you today. If you do have a strong interest in automating your Internet habits — or just like the idea of a room lighting up when you walk into it — there’s already quite a lot you can do with IFTTT, and at a much lower cost than any “smart home” product I’ve ever seen demonstrated. Beyond that, it’s not a small thing to have better control over how stuff on the Internet hits your radar.
I recommend you start slowly, simply by browsing what other people are using IFTTT to do. Then the next time you get an itch about the problem of “why can’t I get that thing to happen, when such-and-such occurs?”, you’ll have an excellent tool for scratching it.