Thursday, November 22, 2012

If This, Then That -- Connecting the Semantic Web

IFTTT -- pronounced like ‘gift’ without the ‘g’ -- is a clever online service that lets you connect different parts of the web together, in a simple and easy to understand manner.

What does IFTTT do exactly?

IFTTT stands for ‘If This, Then That’, which concisely expresses what it does: Based on a trigger (‘this’), perform an action (‘that’). You can think of it as a significantly more user-friendly, streamlined successor to Yahoo! Pipes (which still exists, incidentally).

For example, here’s a recipe -- the term for an IFTTT statement -- that I currently have enabled:

My search for a folding bicycle...

This recipe performs an ongoing Craigslist search for the words ‘folding’ and ‘bike’. Whenever any post appears containing those words, IFTTT automatically sends me an e-mail about it. I hope to find a sweet ride this way!

IFTTT supports many different Channels that you can hook up and thus automate, such as Facebook, Evernote, Google Drive, Dropbox, and Tumblr.

Even better, you usually don’t have to build the recipes yourself -- IFTTT allows users to publicly share, browse and customize recipes.

A Simple Interface

I’m impressed by IFTTT’s clean, wizard-style interface. The service’s simple step-by-step approach, featuring huge, friendly buttons, enables non-programmers to enjoy functionality that would otherwise require a little coding.

Over-size buttons are the staple of IFTTT’s design aesthetic

[Manipulating the ingredients or parameters for a recipe can occasionally require a bit of furrowed parsing, but as mentioned above, often someone else has already figured out how to do what you want.]

IFTTT was created by Linden Tibbets, formerly of design firm IDEO. Tibbet’s aesthetic manifests itself through quite pervasively on the site, which was launched in 2010 and is run by a small team in SF.

The IFTTT team and their socks.
Photo: Patrick Kawahara via Wired

Connecting the Internet to the Real World

Belkin We-Mo devices are supported by IFTTT. This means you can hook up actual physical things to the internet! If you’ve ever wanted to, say, turn on your desk-light whenever the space station passes overhead, you can do this using IFTTT paired with a Belkin We-Mo device...    

C’mon, you have to admit that’s pretty cool!

Security Concerns -- What’s the Risk?

IFTTT is one of those cases where you have to carefully weigh the utility of the service, versus the risk exposure of a central point of failure.

If IFTTT were ever compromised, all manner of devilry would be possible. Every activated channel would also be compromised -- because you typically have to allow non-granular read and write access.

The major services support OAuth authentication, which means that IFTTT never gets your password. But still -- you effectively permit IFTTT to post (or perform other actions) on your behalf, for each activated channel.

Some channels don’t support OAuth, in which case usernames and passwords are required. The passwords, according to Tibbets, are stored “encrypted in our database. During channel activation any form that requires a password is served and submitted over a secure SSL connection.”

If I were a malicious hacker, or a state intelligence agency, I would certainly consider targeting IFTTT. Based on a quick skim of the press coverage IFTTT has generated to date, I’d comfortably wager that tons of Influential People in the software world have accounts on IFTTT... Its very nature has built-in appeal to any nerd.

As a relatively small, new start-up, IFTTT might not be able to marshal the defensive resources that a more established service like Twitter or Google can bring to bear. What a juicy temptation for mayhem!

So -- exercise judgment, and proceed accordingly. At the very least, make sure you have a very secure and strong password for your IFTTT account.

Similar Services

Channel functionality tends to be limited by the APIs of the respective channels.

If you’d prefer a more technical (and less restricted) approach to mashing-together the semantic web, Yahoo! Pipes, though obscure and arcane, is quite powerful. There’s also Zapier, which is a business-oriented offering that supports more services, but charges a fee for more than 5 integrations. You can also noodle around with tarpipe, Wappwolf, and CloudWork.

A Philosophical Question

In keeping with the title of this blog -- what happens if you make a recursive or circular set of IFTTT recipes? I don’t know -- and I’m not sure I want to find out. I wouldn’t recommend it. Please don’t break the Internet...

The Twitter debacle -- A Tangential Note

A little while back, IFTTT had to turn off recipes that used Twitter as a trigger, as this apparently violated the terms of Twitter’s API (Facebook and LinkedIn similarly had to withdraw their integrations with Twitter, for more or less the same reason).

Along with many others, I was sorely disappointed, as I had been using a popular recipe to archive all of my tweets. Twitter: you suck!

Final thoughts

tldr: Check out IFTTT!