NYU ITP, Spring 2015
- Lauren McCarthy [email protected]
- Wednesdays 3:20-6:15, Room 445
- Office hours signup, Room 455
- Resident office hours signup
- Google group
- Assignments page
- Conversation tumblr log
####"And the question is when is the last time that you had a great conversation, a conversation which wasn’t just two intersecting monologues, which is what passes for conversation a lot in this culture. But when had you last a great conversation, in which you overheard yourself saying things that you never knew you knew. That you heard yourself receiving from somebody words that absolutely found places within you that you thought you had lost and a sense of an event of a conversation that brought the two of you on to a different plane. …a conversation that continued to sing in your mind for weeks afterwards?" - John O’Donohue
#Description
Technology is becoming a part of every conversation we have. What influence does it have, and how might it be further leveraged to create new possibilities? This class explores various ways conversation may be analyzed, generated, and affected by computation. Specifically, we will study methods of linguistic analysis (LIWC, LSM, sentiment analysis) and body language analysis (face tracking, expression detection, Kinect). We will experiment with conversation automation (markov chains, chatbots, email scripting, social media APIs), and building software apps (Google Hangout apps, browser extensions, Skype API, Twilio API, webRTC) and physical devices (Arduino, RPi) for augmenting and affecting conversation. Finally, we will look at more public interventions, involving performance and text displays. The class will be based around three month-long projects, complemented by readings and shorter research exercises. This will be further contextualized by conversation analysis ideas from sociology and psychology, performance studies, other artists working with these themes.
#Evaluation Grades will be determined according to the following breakdown:
- Project 1 20%
- Project 2 20%
- Project 3 20%
- Conversation log 15%
- Participation and attendance 25%
Please see ITP's statement on Pass/Fail which states that a "Pass" is equivalent to an "A" or a "B" while anything less would be considered a "Fail".
###Projects This class is divided into three "parts" or general areas of inquiry. We will have three 3-4 week projects over the course of the semester, one for each part. You are expected to push your abilities both technically and conceptually to make original, thoughtful work.
For each project, you will need to check-in either with me in office hours or during class to briefly discuss your idea. The class check-in will happen the week before the project is due. If you haven't met with me in office hours by then, you will be expected to present your idea to the class for feedback.
###Conversation log As this class is about conversation, we will regularly engage in and push ourselves in conversation. So we are not just working theoretically. Each person will keep a "conversation log". As a class, we will generate prompts for conversations. Each week, we will choose one prompt as a class and you will have a conversation that you reflect on and respond to in a post in the conversation log.
###Participation Attendance is mandatory. Please inform me via email if you are going to miss a class. Habitually showing up late for class or an excessive number of absences will adversely affect your grade.
This class will be participatory, you are expected to participate in discussions and give feedback to other students both in class and participate with their projects. There will also be occasional assigned readings. This (along with attendance) is 40% of your grade.
#Syllabus
##Part 1: Language analysis and automation
###Week 1 (1/28): Introduction
- Intro and syllabus
- Speaking Code, Geoff Cox and Alex McLean
- Assignment 1 (DUE 2/4)
- Project 1 (DUE 2/18)
###Week 2 (2/4): Linguistic analysis
- Tools
- Local server tutorial
- Language analysis code examples
- Using APIs code examples
- AlchemyAPI - developer guide
- Text-Processing - API on Mashape
- Mashape - searchable database of APIs
- natural node module includes tokenizing, stemming, classification, phonetics, tf-idf, WordNet, string similarity.
- RiTa - natural language and generative literature toolkit
- Chrome speech to text API - demo
- Everything-but-the-Chat combines LIWC + WebRTC + websockets + facetracking
- References
- JS Text Analysis tutorial, Dan Shiffman - text concordance, TF-IDF, Bayesian filtering
- Regex tutorial, Dan Shiffman
- The Secret Life of Pronouns
- Metaphors We Live By, George Lakoff - clip
- Noam Chomsky - clip
- Conversation analysis, tutorial
- Survey
- ReConstitution 2008, Sosolimited
- Prime Numerics, Sosolimited
- Moveable Type, The Office for Creative Research
- Shuffle, The Office for Creative Research
- Shakespeare Machine, The Office for Creative Research
- A More Perfect Union, R. Luke Dubois
- MIssed Connections, R. Luke Dubois
- FB Demetricator , Ben Grosser
- Samaritan's Radar
- Feltron Annual Report, Nicholas Felton - NYTimes article
- Crying to Dragon, Sophia Brueckner
- What a Hundred Million Calls to 311 Reveal About New York, Pitch Interactive
- Relationship Dance Steps, Stefanie Posavec
###Week 3 (2/11): Scripting and automation
- Speaking Machine, Wolfgang von Kempelen 1769 - illustration, video, creator of The Turk
- Speaking Machine recontruction, Sir Charles Wheatstone 1837
- Voder, Homer Dudley 1939 - video
- Computing Machinery and Intelligence, A.M. Turing and Chinese Room thought experiment, John Searle
- ELIZA - clip (1964)
- Almost Human: The Surreal, Cyborg Future of Telemarketing - "I am a real person!"
- Bots
- About a Bot: Hoax, Fake, Performance Art, Tania Bucher
- Closed Bots and Green Bots: Two Archetypes of Computational Media, Mark Sample
- Taxonomy of Twitter Bots and Twitter Bot family tree, Tully Hansen
- Bots Should Punch Up
- Bot Summit 2014
- MegaHAL
- Corpus resources
- Corpus of Contemporary American English
- Corpora, Darius Kazemi - collection of small corpuses of interesting data for the creation of bots and similar stuff
- Wordnet - large lexical database of English - WNdb npm module, natural node module
- Project Gutenberg - free ebooks
- List of various corpus resources
- Tools
- IFTTT
- text message via email
- Postcard API
- Yo
- Tinder
- Snapchat
- Twilio lets you work with phones
- Gmail scripting
- Mechanical Turk
- Kitchen Table Coders workshop resouces
- https://github.com/jefftimesten/mturk - nodejs wrapper for MTurk
- https://github.com/mdp/rturk - ruby wrapper for MTurk
- https://github.com/twitter/clockworkraven - webapp for MTurk interface, created by Twitter
- http://aws.amazon.com/code/Amazon-Mechanical-Turk
- Generating text
- n-grams, Daniel Howe - Google ngram viewer
- Markov Chains, Dan Shiffman
- Grammars, Daniel Howe - Chomsky grammar hierarchy
- Wordnik API - definitions, example sentences, spelling suggestions, related words like synonyms and antonyms, phrases containing a given word, word autocompletion, random words, words of the day, etc
- RiTA - text-generation via Context-Free Grammars and Markov-chains, taggers for Syllables, Phonemes, Stress, Part-of-Speech, tokenization, verb conjugation, pluralization, and stemming
- Twitter Bots
- node-twit - Twitter module for nodejs
- node-twitterbot - Twitter bot module for nodejs (uses twit)
- Chat Bots
- Hubot - a many featured, extensible command line bot
- A lot of bots
- socket.io - create your own chat application
- Survey
- MACH:My Automated Conversation coacH, Eshan Hoque
- Conversation prompting
- White Christmas - Black Mirror Christmas Special
- Social Turkers
- Auto-Theater, Daniel Spoerri - Guggenheim clip
- Conversacube
- Devices for Mindless Communication, Gerard Rallo
- Love automation
- Christopher Strachey's 1952 love letter generator, more, and more in Rhizome's Queer History of Computing)
- BreakupText
- MakeupText
- OkCupid auto-spammer
- BroApp
- Romantimatic
- tinderbox
- Rejection Line, Jonah and Chelsea Peretti
- Bots
- Darius Kazemi
- everyword
- On Kawara tribute
- Horse_ebooks
- Pentametron, Ranjit Bhatnagar
- Human Powered Chatbot, David Elliot
- Drunk Eliza, Daniel Tempkin
- Instructions
- Karaoke Answering Machine, Rachel Perry Welty
- Game of Phones, David Lublin
###Week 4 (2/18): Generation and bots
- Darius Kazemi guest lecture
- John Rothenberg (Sosolimited) guest lecture
- Review Project 1
##Part 2: Physical augmentation and alternatives
###Week 5 (2/25): Augmentation apps
- Google Hangout apps
- Browser extensions
- Skype, Twilio, webRTC
- Survey
- The Radio as an Apparatus of Communication, Bertolt Brecht 1929
- A Hole in Space, Kit Galloway and Sherrie Rabinowitz 1980 - more
- No Fun, Eva and Franco Mattes
- Project 2 (DUE 3/25)
###Week 6 (3/4): Physical analysis
- Body language
- Face tracking
- Expression detection
- Survey
- Pay Per Laugh
- Mark and Emily, Keith LaFuente
###Week 7 (3/11): Physical augmentation
- Devices / objects
- Physical feedback
- Physical correspondence, mail art
- What My Hearing Aid Taught Me About the Future of Wearables
- Survey
- Krzysztof Wodiczko
- I Got Up, On Kawara
####Week 8 (3/25): Alternatives
- Review Project 2
- Sign language
- Braille
- Emoji
- Survey
- Let's Chat!, Lee Cusack
##Part 3: Public and performance
###Week 9 (4/1): Performing conversation
- Erving Goffman, Harold Garfinkel
- Scripts, cues, prompts, improv
- Survey
- Somebody App, Miranda July
- Acting Stranger, Andrew Schneider
- Rejection Line, Jonah and Chelsea Peretti 2001
- Inbox Full, Molly Soda
- Project 3 (DUE 4/22)
###Week 10 (4/8): Public conversation
- Online social dynamics
- Online abuser dynamics with Erin Kissane, Sydette Harry and Melissa Gira Grant, moderated by Joanne McNeil
- This American Life: If You Don't Have Anything Nice to Say, SAY IT IN ALL CAPS and Feminist Frequency: One Week of Harassment on Twitter
- How Salon tamed the trolls and saved its online comments
- Anonymity
- Public text displays
- Survey
- Graffiti Research Lab
- Vote Auction, Ubermorgen
###Week 11 (4/15): Protest
- Survey
- TXTmob
- FireChat
- Notes from OWS
- Occu-bot and Management-bot, Taeyoon Choi
###Week 12 (4/22): Final project presentations
- Review Project 3
- Wrap-up