Critical APIs


NYU ITP Spring 2015
Class website
Syllabus

Course Description


An API allows a connection between two different applications. It can pass data and information, or provide access to modify or control the application itself. Though APIs are often thought of in terms of their functionality, they are never neutral. Expectations about why and how it might be used and who should be able to use it are embedded in the infrastructure of the system. This course will look critically at the structures of power and control inherent in APIs, and explore possibilities to subvert ideologies imposed by the technology. We will build applications that access various APIs, as well as design APIs of our own. Students will use Processing, as well as JavaScript for both server-side and client-side programming, covering tools such as JSON, OAuth, AJAX, node.js, p5.js, jQuery.

Central to the class is the idea that APIs are by nature future-oriented, providing an access point where we may reimagine and renegotiate the world we live in. The course will be project-based, complemented by shorter technical exercises, readings, and research. Experience with JavaScript is highly recommended.

Reading List


Part 1: Protocol and control
Tania Bucher, Objects of Intense Feeling: The Case of the Twitter API
Alexander Galloway, Protocol - Introduction
The Anxieties of Big Data, Kate Crawford

Part 2: Response and freedom
Critical Art Ensemble, Electronic Civil Disobedience
UBERMORGEN Manifesto
Critical Engineering Manifesto, Julian Oliver, Gordan Savičić, Danja Vasiliev
A Hacker Manifesto, McKenzie Wark
The ABC of Tactical Media, David Garcia, Geert Lovink
The Exploit: A Theory of Networks, Alexander Galloway

Part 3: Networks
Impersonating the Machine, James Bridle
The Cult of Sharing, Mike Bulajewski
The Epic Struggle for the Internet of Things, Bruce Sterling


Student Work


Nicholas Hagans, Camera on Route


AV, Citi Weather


Pat Shiu, pr0n.works