- Kyle McDonald and Lauren McCarthy
- NYU ITP Fall 2013
- Mondays 2:30-5:30, ITP rm 447
- Office hours Fridays 3:30-6:30, ITP adjunct lounge
###Important links
- github repo - Readme contains course information, repo also serves as a collection of scripts and tools for social hacking.
- google drive - Reading assignments and other docs.
- mailing list - For course announcements and longer form discussions, feedback, questions.
- #socialhacking - For submitting homework links, sharing shorter thoughts with public.
- #socialhacking aggregator
###Course description
This course explores the structures and systems of social interactions, identity, and self representation as mediated by technology. We will investigate ways that technology can be used to augment, subvert, alter, mediate, and ultimately deepen interaction in a lasting way.
How do the things we build and use limit and expand the way we understand and relate to each other? We'll explore this question by building new tools and creating new situations for breaking us out of existing patterns, and discussing contextual examples from media art, performance art, psychology and pop culture. Technologies explored will include computer vision (face/body/eye tracking with openFrameworks), data representation and glitch, browser extensions and plugins (in Chrome), computer security, mobile platforms, and social automation and APIs (Facebook, Twitter, Mechanical Turk).
Students will develop projects that alter or disrupt social space in an attempt to reveal existing patterns or truths about our experiences and technologies, and possibilities for richer interactions. Different tactics for intervention and performance will be explored, first through a set of short prompts or experiments, and then through a larger, more thorough intervention.
###Technical requirements
A conviction that creative people can derail society for the best, a deep love for code, and a willingness to explore uncomfortable situations. You should at least have taken Introduction to Computational Media or have similar experience with programming.
This four-point course will meet in the first twelve weeks of the semester.
###Syllabus
####Week 1 (9/9): Data representation and glitch
-
Class overview
- Policy regarding auditing: if you come you should be engaged, but we can’t create a situation where we are giving you time instead of students who are registered.
- Policy regarding attendance: you can miss one class, anything else you fail.
- Policy regarding work: we are going to be introducing a variety of techniques and tools, ranging in technical difficulty. our main requirement for work is that it is of high quality -- it need not be hypertechnical, but it does need to be very well thought out and well executed.
-
Attendance and contracts.
-
What spaces are social? What are rules? How do we test them? What happens when we don’t follow them? How do we misinterpret each other? Failures, communication breakdowns and arguments, ambiguity?
-
Breaching experiments, sociology, Garfinkel, Goffman, and Milgram
- Harold Garfinkel
- Breaching experiments
- Nathan for you STDs
- Nathan for you 2 grams
- Oversharer
- Erving Goffman - sociologist studied face-to-face interaction, related to performance
- The Presentation of Self in Everyday Life
- Interaction Ritual
- Stanley Milgram bus experiments
-
Glitch
- Glitch is where a system breaks down and reveals something about itself in the process.
- mojibake
- hex editing
- realtime jpg glitch
- “on compression” by Cory Arcangel
- jpg header remix
- 0xed hex editor
- hexfiend hex editor
- datamosh
-
Documentation
- Recording/collecting “objective”
- Transcribing/describing “subjective/interpreted”
- Sophie Calle
- install view
- photos
- entering the Louvre
- Deconstructing
-
Assignment due 9/16:
- Read NYT: excuse me, may I have your seat?.
- Read p11-16 from the glitch moment(um).
- Post one tweet inspired by each reading, tagged with #socialhacking.
- Create and document a social glitch involving technology, post it and tag it with #socialhacking.
####Week 2-3 (9/16): Social automation and APIs
- This week in hacks
- http://www.forbes.com/sites/kashmirhill/2013/09/12/e-zpasses-get-read-all-over-new-york-not-just-at-toll-booths/
- Instagram uploading (start thinking about this)
- Review work from past week
- One more related to social glitch - Crying to Dragon
- Creatively (mis)usings APIs and automation
- Custom API
- Mechanical Turk
- Foursquare
- Dating
- SMS
- Death
- Amazon
- Other automation
- Other rules and protocols
- Tools
- General
- www.programmableweb.com - giant list of APIs and resources
- Google scripting
- OAuth 1.0
- https://github.com/bakercp/ofxOAuth - an OF OAuth 1.0 system (via liboauth) with pin-less verification via a mini callback server Examples for Twitter, Tumblr, Vimeo, Fitbit, etc.
- Twitter - https://dev.twitter.com
- https://github.com/drewvergara/ofxTwitter - implementation of Twitter API with OF
- keytweeter source
- Processing examples with Twitter4J
- Facebook - https://developers.facebook.com/
- https://github.com/igiso/ofxFacebook - implementation of FB SDK 3.0 with OF
- 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
- IFTTT
- https://ifttt.com/channels
- https://github.com/cido/ifttt-channel-extensions - create custom IFTTT channels
- OkCupid
- https://github.com/trek/lonely_coder - ruby scraper interface
- https://github.com/shawn-simon/OkCupid - nodejs scraper / automated message sender interface
- Computer interaction
- RobotDemo source - using the java robot to type and move the mouse
- EmojiPaster source - using the java robot to paste text
- phantom.js
- General
- Assignment due 9/30:
- Create an HPI (human programming interface) that allows others to control some aspect of your life. By next week (9/23) you should have the system built and in place and ready for a one week trial / performance / experiment.
- Creatively misuse an existing API in order to reveal something about the service.
- By next week (9/23) read exerpt sent out, post a tweet inspired by it tagged #socialhacking.
####Week 3 (9/23): Social automation and APIs
- Dan Moore guest lecture
- HPI presentations and feedback
- Mechanical Turk Farm and discussion
- 20 minutes to make as much money as possible
- all the bounty goes to treats for next week
- Task Rabbit
- Gigwalk
- Automation-related: AirBnb, Craigslist
####Week 4 (9/30): extensions and customization
- Review HPI and misused API work
- Break
- Discussion: extension and customization
- Extensions change your experience transparently, instead of drawing our attention to the object itself. While an API is something that exposes specific ways of interacting with a system, shielding the system from direct manipulation, an extension is generally something that is integrated directly with a system.
- Remember the Goffman reading. How do these things fit together?
- Examples
- Making an invisible layer on top of normal social space, you have to know the code or have the extension to see it.
- Making the world appear to you the way you want it to be
- Helping you to fit in
- Providing a means of expression not normally possible (body/communication extension)
- Communicate / share your experience with others
- See self through different perspective
- Connecting people in a way they might not normally be connected
- instruction pieces
- Assignment and extension demo (0:30)
- Create an extension for someone else (a specific person).
- http://developer.chrome.com/extensions/getstarted.html
- chrome extension overview: http://developer.chrome.com/extensions/overview.html
- debugging tutorial: http://developer.chrome.com/extensions/tut_debugging.html
- more extension samples: http://developer.chrome.com/extensions/samples.html
- chrome APIs to interact with browser: http://developer.chrome.com/extensions/api_index.html
- other APIs: http://developer.chrome.com/extensions/api_other.html
- chrome extension developers’ guide: http://developer.chrome.com/extensions/devguide.html
- publishing your extension: https://developers.google.com/chrome/web-store/docs/publish
####Week 5 (10/7): extensions and customization
- Joanne McNeil guest lecture
- David Leonard guest lecture
####Week 6 (10/21): security, surveillance and privacy
-
What does it mean to be hacked? Can you hack yourself?
-
Social engineering, phishing, cross-site scripting, trolling, authenticity.
-
Michael Auger guest lecture
-
Intro
-
Early Work
- Seedbed
- Steve Mann
- Jill Magid
- Sophie Calle
- Surveillance Camera Players
-
Recent Work
-
Culture
- We Live In Public and trailer
- Quantified spouse movement
- Cloze
- Raytheon social media
- DDOS from Anonymous and as protest
-
Research
-
Assignment due 10/28: Do one or more of the following:
- Document (yourself or someone else)
- Share: public/private (share everything wrt one area/situation)
- Intercept
- Impersonate
- Anonymize (present something anonymously)
- Misinterpret/misrepresent (collect too much or curated information, use some of it to tell a fake story)
-
Discussion due 10/28: Each pair will prepare one of the following readings ~5 min presentation, 5 min class discussion leading.
- Social dark matter
- Quantified self - Tarana, Su
- Steve Mann - Andrés, Bill
- Living offline without being tracked - Tianyu, Harry
- What’s in a name? and http://www.youtube.com/watch?v=pbxaA6B8tfc - Ben, Mike
- Bruce Schneier security vs privacy and trading security for convenience
- Bruce Schneier privacy salience and social networking sites and privacy and control
- The flawed psychology of government mass surveillance
####Week 7 (10/28): security, surveillance and privacy
####Weeks 8-9 (11/4, 11/11): computer vision (face/body/eye tracking with openFrameworks)
- surveillance, privacy, warfare, video chat and mediated video-based interaction
####Weeks 10-12 (11/18, 11/25, 12/2): mobile platforms
- how do we find each other? how do we connect? how do we initially engage?
- how do we interact with each other in public social spaces? what are the patterns and rules and expectations? communication, conversation
- location awareness, social networking