Track Everything with the Wolfram Data Drop IFTTT Channel!
September 14, 2015 — Bernat Espigulé-Pons, Technical Communications & Strategy Group
In March, we launched the Wolfram Data Drop, an open service that makes it easy to accumulate data of any kind, from anywhere—setting it up for immediate computation, visualization, analysis, querying, or other operations. Now we are announcing the release of the Wolfram Data Drop Channel, which lets you track and accumulate data from your everyday apps, devices, and services available in IFTTT wherever and whenever you want.
IFTTT—which stands for “if this then that”—is a service that coordinates apps and other services, triggering one to do something when something else happens in another. IFTTT products and apps are organized in Channels of triggers and actions that are used to create personalized recipes and buttons on your mobile devices. A typical recipe could be “If anyone posts a new Instagram photo from Central Park, then add the photo’s URL to a databin”:
The advantage of using the Wolfram Data Drop Channel is that it makes it easy to perform sophisticated analysis of data collected by IFTTT recipes with the Wolfram Language. Let’s say that we would like to know what’s in the images from the above recipe. It only takes a line of code to achieve this, thanks to ImageIdentify:
At the Wolfram Innovation Summer School 2015, Colt Bradley set up several recipes to capture images taken from the world’s top ten universities. With this data, he was able to compute the average dominant colors of several campuses and tweet the results in an automated way using ServiceConnect to Twitter. Here is the result obtained for Cambridge (notice that the trending hashtags were computed from the images’ captions collected with IFTTT):
You can create two kinds of recipes with IFTTT: DO Recipes and IF Recipes.
DO Recipes run with a single tap, letting you create your own personalized Button, Camera, or Notepad. DO apps are available for iOS and Android.
With a DO Recipe, you can make a button on your phone that records your GeoPosition in a databin. With that data, you can compute things like the distance and elevation between the last two entries you added:
Or make a map of where you’ve been:
IF Recipes run in the background, creating connections according to the pattern “if this then that”. “This” is represented by the Trigger Channel, and “that” is represented by the Action Channel. For example, here’s a recipe to add new posts in AskReddit to a databin:
With such an IF Recipe, you could build an entire website using the Wolfram Language, which is exactly what Qi Xie, another student from the Wolfram Innovation Summer School, did. Her website, AskReddit Explorer, allows you to analyze recent questions posted in AskReddit. Using a FormFunction, the visitor is asked to choose one of the built-in classifiers available in Classify to get some insights about the AskReddit activity:
Choosing “Topic Analysis” gives you a bar chart of post counts by topic:
Then you can click in “See Posts” to take a look at recent questions by topic:
I like to think of IFTTT as a universal bridge that brings together the ever-increasing diversity of the apps, services, and devices surrounding us. When I first started thinking about connecting the space of possible IFTTT recipes to the Wolfram Language a year ago, I couldn’t have guessed what a great solution the Wolfram Data Drop would be. Data Drop is able to store data in a standardized way, in “databins”, with definite IDs. Databins can be set up to interpret all sorts of incoming data, from very specific physical quantities to arbitrary inputs and expressions. For example, here is a recipe that drops your elevation in feet into a databin every time it changes.
First create the databin and tell it to interpret elevations in feet:
Then make an IFTTT recipe that drops your elevation into the databin every time it changes:
With the data in a databin, it’s a simple call to UnitConvert to get the elevations in meters:
Or to plot your changes in elevation over time:
There are more than 150 trigger channels that can be connected to Data Drop. I really encourage you to explore them by going through the fun and creative process of coming up with new recipes. Here is my latest creation. I’ve used a cloudBit module with a sound trigger to be notified and to add an entry to a databin whenever my home’s telephone is ringing:
This extracts the data in the bin as a time series:
Plotting the time series shows how often my telephone rings and when:
Please do share your own experiments with us on the Wolfram Community thread that I have started especially for IFTTT recipes. Also feel free to ask any questions or suggest any related ideas there. I hope you’ll have a chance to try it and that you’ll end up doing amazing things using the Wolfram Data Drop Channel: