Simplifying smart home programming



A team of computer science researchers from Brown and Carnegie Mellon universities has adapted a method of programming known as “trigger-action” to more effectively communicate with IoT smart home devices.

According to Brown University’s Kevin Stacey, the trigger-action paradigm is already gaining steam across the Internet, particularly on the website IFTTT.com (If This, Then That), which helps users automate tasks across various Internet services.

 More specifically, users create “recipes” using simple if-then statements — for example: “If somebody tags me in a Facebook photo, then upload it to Instagram.”

The website interfaces with both service providers, with the action occurring automatically each time it’s triggered.

Although IFTTT.com started out as a tool to link websites, it recently added the capability to command a number of Internet-connected devices, such as Belkin’s WeMo power outlet and the Philips Hue lightbulb. Ultimately, the website prompted Brown’s Professor Michael Littman to consider adapting the trigger-action model for home automation.

“As a programming model, it’s simple and there are real people using it to control their devices,” Littman explained. “But the question we asked [was]: Does it work for the [home automation] tasks people want to do, or is it perhaps too simple?”

To find out, the researchers asked workers on Mechanical Turk, Amazon’s crowdsourcing marketplace, what they might want a hypothetical smart home to do. The team subsequently evaluated answers from 318 respondents to see if those activities would require some kind of programming, and, If so, whether the program could be expressed as triggers and actions.

The next step? Determining how well users could actually design “recipes” to accomplish tasks. To do so, the team employed two interfaces designed by McManus, one of the undergraduate researchers, enlisting Mechanical Turkers to create recipes with the interfaces.

“We based both [interfaces] on ‘If This Then That,’” McManus said. “But then we made one of them slightly more complex, so you could add multiple triggers and multiple actions.”

The study showed that participants were able to use both interfaces — the simpler one and the one with multiple triggers and actions — fairly well. Participants who didn’t have any programming experience performed just as well on the tasks as those who did. Simply put, the results suggest that trigger-action programming is flexible enough to do what people want a smart home to do – and simple enough that non-programmers can use it.

Melwyn Pak, one of the Brown undergraduates on the project, finds that encouraging.

“People are more than ready to have some form of finer control of their devices,” he said. “You just need to give them a tool that allows them to operate those devices in an intuitive way.”

Littman, who has been studying end-user programming of electronic devices for several years, concurs.

“We live in a world now that’s populated by machines that are supposed to make our lives easier, but we can’t talk to them,” he concluded. “Everybody out there should be able to tell their machines what to do. This is our attempt to start thinking about how to bridge that gap.”

1 thought on “Simplifying smart home programming



  1. Pingback: ADT teams up with IFTTT to customize home security | Bits & Pieces from the Embedded Design World

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s