Thursday, November 7, 2013

Dave Ghidiu

IFTTT

If This Then That
If This Then That.

I don't think as many people are using IFTTT (If This, Then That - and it's pronounced as a rhyme with "sift") as there should be.


Frankly, it's pretty awesome. 


I'll get to some classroom uses in a few moments, but let's check out what the product does first.

Anyone who starts an account at IFTTT can link many of their accounts (Gmail, Twitter, Facebook, for example) as a "channel". Once a channel is activated, it can be used to create "Recipes". A Recipe automates a task that you might do manually. 



I have more channels in IFTTT than I do on my TV.
In the good ole' days, when I received an email with an attachment, I would have to manually put it into my Google Drive. Nowadays, IFTTT does that for me. Lots of people make Recipes. Someone made one that even does exactly that!


IF (there is an attachment in my Gmail) THEN (save it to my Google Drive)
Saving attachments by hand is for suckers.
I did not have to create this Recipe. There are an awful lot of them floating around. IFTTT has a whole bunch of Recipes that users have shared so that you can use them. Some of the Recipes are for workflow:


 


Some of them are for aligning your online presence:



And some Recipes are just for making your life better (or more fun):



IFTTT supports sites and apps that are not even social media; it can plug into your text messages, your cell phone, or even environmental data like weather. And for all you computer nerds out there, you can even use RSS feeds from websites to construct your own Recipe.





Which brings me to my next point - the fun parts of IFTTT. In my opinion, I think there is a deficit of critical reasoning skills in education. But IFTTT is a prime example of small problem solving skills that have meaningful outcomes. IFTTT allows you to evaluate an issue - whether it is something to make your life easier or something to be productive - and then create a solution. People see value in meaningful and productive exercises, and I think students would be excited to try it. 



There's also the added challenge of chain Recipes. By default, IFTTT allows for a single condition. If something happens, then do something else. But it is easy to have the something else from one condition be the trigger for a subsequent condition. For example:


If a new job opening at a company I follow is posted on LinkedIn, then send an email to my Gmail address with the subject "LinkedIn Job". 

I can also have a Recipe that says:

If I get an email at my Gmail account with a subject "LinkedIn Job", then send me a text message.


So one event can start a chain reaction that coordinates your disparate accounts.

Students in any discipline could certainly benefit by the mental agility of not only brainstorming new Recipes and chain reactions, but also by imagining elegant solutions and really neat Recipes.

An art student might actually generate a real Recipe book (Rolodex style) that has different Recipes on it. Or a web authoring class might be tasked with designing an online repository that stores Recipes and has a searchable index (of course, IFTTT has that already, but it's a neat exercise). 

There could be a contest in any class to create the most "awesome" IFTTT, as judged by the students. Even if it is unrelated to the class, a ten minute exercise in IFTTT Recipes might be the much needed catalyst to fire up the brain as food coma sits in after lunch. Or a History class might be tasked with coming up with IFTTT's from other time periods.

Regardless, the actual process of designing the Recipe necessarily broaches a few areas of computer programming that have collateral learning to help all students: conditionals, parameters, and APIs (application-programmer interfaces). APIs are really just instructions of what an application needs from the programmer to do it's job properly. APIs are ubiquitous in everything we do (especially in education), although they are very specific in the field of Computer Science. A few examples of colloquial APIs in everyday life are:

  • A car needs gas if that car is to do it's job; it is up to the programmer (driver) to put the right kind of gas (an octane level of 89 or better, unleaded) in the tank

  • A refrigerator needs to be plugged in so it can do it's job; it is up to the homeowner to make sure it is plugged in properly (a 110 volt, ground fault circuit interrupter outlet)

  • An email needs to have a valid email address in the "To" field if it is to be sent (a valid user@domain)

We don't really need instructions to do these tasks, because we know. But some things are more specific, especially in programming. IFTTT implicitly has APIs built in to Recipes - in the form of what specific functions each channel can do.

Watch the level of subtle sophistication needed to create a somewhat trivial event of creating an event that alerts me, via text, anytime the New York Times posts an article that mentions education:

STEP 1: Choose a Trigger Channel
I have to look through the list until I find "New York Times".


Trigger Channels
So many to choose from...



STEP 2: Choose a Trigger
This is the actual API lesson - each individual channel has different functionality; in the case of the New York Times, there are eight different options I can choose from.


What can NY Times do?
The subtle API: What can the New York Times Channel do for me?

I am going to choose "New article from search". 




STEP 3: Complete Trigger Fields
In the programming biz, we call these parameters or arguments. Basically, it is the specific data that the program should do something with. In this case, my parameter is "education".


Parameters
"education" is my argument (parameter).



STEP 4: Choose Action Channel
Now that we have a trigger - something that IFTTT is listening for (hey computer science nerds - isn't this really an event handler?) -, what do we want to do with it? Let's pick another channel for the output.


Action Channel is Gmail
And the winner is... Gmail!!!


STEP 5: Choose an Action
Each channel also has unique actions; it looks like Gmail can do only one thing - "Send an email". Happily, that's exactly what I wanted to do!


Gmail Actions: Send an email
Easiest API ever.

STEP 6: Complete Action Fields
Now I am going to create the parameters for the email that Gmail will generate. The only thing I really need to worry about is the "To address". Other than that, all the other fields are already populated. A particularly intrepid individual may elect to play with the different fields in the body of the email. 


Gmail message
I don't speak HTML, so I'm just gonna hit send and hope everything works out OK...

As an added bonus, check out the cool trick with my email address. After appending the "+NYTIMES" at the end of my email, I can setup my Gmail to automatically archive any incoming email with this address to be archived and stored in a separate folder. Now I've created a container that holds only links to New York Times education articles and doesn't clog my inbox. You're welcome.



STEP 7: Create and Activate
A nice little confirmation comes up. Everything appears copacetic, so I am going to click the "Create Recipe" button.


Final check
I've created my first computer program!

Creating an event in IFTTT is, essentially, a beginning course in computer science. Conditionals, parameters, APIs... it is certainly a good, practical model for an introduction to computer programs. And creating an event in IFTTT is also a great exercise in procedural thinking and problem solving.

Students could also customize IFTTTs for their own classes (send a text message if a tweet from the teacher comes out reminding students of a quiz). I don't think we are far away from integrating learning management systems such as Blackboard or Moodle into the working space of IFTTT.


Teachers could even blast an RSS out from any number of personal sources that could then trigger an email or text directly to their students.

Check out this link for cool Recipes in IFTTT: PCMag.com's 101 Best IFTTT Recipes

And hot off the press! IFTTT just tweeted FringeEdTech that it is now possible to embed any Recipe with just a little snippet of HTML! Read the "How To" page on IFTTT's blog. And certainly check out this example:

IFTTT Recipe: Tweet your reddit comments!


And I leave you with this challenge: IF you have a Recipe you find particularly useful, THEN drop a link to the Recipe or describe it in the comments below.

Dave Ghidiu

About Dave Ghidiu -

Dave Ghidiu is a Senior Instructional Designer for Open SUNY.

Subscribe to this Blog via Email :