Thomas Igoe
The World Wide Web no longer stops at the edge of your screen. When it comes to products, if it powers up, it talks to another device. This class provides an overview of methods for connecting the physical world to web-based applications. We’ll consider what the emerging interaction patterns are, if any, and we’ll develop some of our own as needed. This class can be seen as a narrower and more interaction design-based complement to Understanding Networks. The latter class provides a broader overview of the dynamics of communications networks, while this class focuses specifically on the challenges of connecting embedded devices to web-based services. Neither class is a prerequisite for the other, however. This class will introduce network connection techniques for devices using microcontrollers like the Nano 33 IoT and MKR series or ESP8266 and processors running an embedded operating system like the Raspberry Pi.
Prerequisites: Intro to Physical Computing and Intro to Computational Media, or equivalent experience with the topics covered in those classes.
Learning Objectives: Students will gain an understanding of the basics of network programming for devices with limited computing power. They will learn about current protocols for communication between devices and networked servers, and about the rudiments of security for that communication.
Reading: There will be an article or two to read each week, to foster discussion about the design of connected things.
Assignments: There will be several one-week software and hardware assignments to get familiar with different technologies and communications protocols, and one hardware and software final application project.