Toggle navigation sidebar
Toggle in-page Table of Contents
Social Media, Ethics, and Automation
Social Media, Ethics, and Automation
Authors and Acknowledgements
Perspectives and Biases
Book
1. Introduction
1.1. The case of Justine Sacco’s racist joke tweet
1.2. Kumail Nanjiani’s Reflections on Ethics in Tech
2. Definitions
2.1. Social Media
2.1.1. What is Social Media?
2.1.2. Social Media Platform Examples
2.1.3. Social Media and “Real Life”
2.2. Ethics
2.2.1. What is Ethics?
2.2.2. The “Golden Rule”
2.2.3. Ethics Frameworks
2.2.4. Practice Using Frameworks
2.3. Automation
2.3.1. Language Translation (Analogy)
2.3.2. Human Computers
2.3.3. Computers Speak Binary
2.3.4. First Programmers
2.3.5. Compilers and Programimng Languages
2.3.6. A program that makes one reddit post
2.3.7. Understanding the Reddit Bot Code
2.3.8. Demo: Try Running the Reddit Bot!
2.3.9. Reflections on the Reddit Bot
2.3.10. Automation in Social Media
2.4. Tying It Together
2.5. Learn more
3. Bots
3.1. Definition of a bot
3.2. Examples of Bots (or apps)
3.3. Anatomy of a Bot
3.3.1. Organizing a Computer Program
3.3.2. Demo: Statements, Variables, and Sleep
3.3.3. Practice: Statements and Variables
3.4. Bots and Responsibility
3.5. Activity: Find Lists of Bots
3.6. Learn more
4. Data
4.1. Anatomy of a Tweet
4.1.1. Data in a Tweet
4.1.2. Basic Data Types
4.1.3. Grouping data
4.1.4. Additional Data Types
4.1.5. Data Constraints
4.1.6. Reflection Questions
4.2. All data is a simplification of reality
4.3. Who does data fit?
4.4. How Data Informs Ethics
4.5. Data in Python and Reddit
4.5.1. Demo: Python Basic Data Types
4.5.2. Practice: Python Basic Data Types
4.5.3. Demo: Data from a Reddit Post
4.5.4. Design Activity: Data and Social media
4.6. Reflection: Ethics of Choosing Data Representation
4.7. Learn more
5. History of Social Media
5.1. Pre-Internet Social Media
5.2. Web 1.0 Social Media
5.3. Web 2.0 Social Media
5.4. Looping with Lists and Dictionaries in Social Media
5.4.1. Demo: Lists and Loops
5.4.2. Demo: Dictionaries
5.4.3. Practice: Looping through lists and dictionaries
5.5. Antisocial Media
5.6. Social Media Design
5.7. Reflection Activities: Actions on Social Media Designs
5.8. Learn More
6. Authenticity
6.1. Authenticity
6.2. Posting Sources
6.2.1. Example: Trump Tweet Sources
6.2.2. Demo & Practice: Author Info
6.3. Inauthenticity
6.4. Personas, Code Switching, Context Collapse
6.5. Parasocial Relationships
6.6. Authenticity and Anonymity
6.7. Example: Corporate Brand Authenticity
6.8. Design Analysis: Facebook Names Rules
6.9. Learn More
7. Trolling
7.1. What is trolling
7.2. Origins of trolling
7.3. Activity: Evaluating Trolling Examples
7.4. Responding to trolls?
7.5. Trolling a Reply Bot
7.5.1. Demo: Conditionals and String Manipulation
7.5.2. Practice: Conditionals and String Manipulation
7.5.3. Demo: Trolling a Reply Bot
7.6. Ethics and Trolling
7.7. Learn More
8. Data Mining
8.1. Sources of Social Media Data
8.2. Data From the Reddit API
8.3. Mining Social Media Data
8.4. How is this data used
8.5. Activity: What platforms think of you
8.6. Sentiment Analysis on Twitter
8.6.1. Demo: Sentiment Analysis and Loop Variables
8.6.2. Practice: Sentiment Analysis and Loop Variables
8.6.3. Demo: Sentiment Analysis on Reddit
8.7. Data Poisoning
8.8. Reflections on Data Mining
8.9. Learn More
9. Privacy and Security
9.1. Privacy
9.2. Security
9.3. Additional Privacy Violations
9.4. Tracking Use
9.4.1. Demo: Writing Functions
9.4.2. Practice: Functions
9.4.3. Demo: Track Use of Sentiment Analysis Code
9.5. Design Analysis: GDPR
9.6. Reflection Questions
9.7. Learn More
10. Accessibility
10.1. Disability
10.2. Accessible Design
10.3. Why It Matters Who Designs
10.4. Alt-text on Social Media
10.4.1. Alt-text
10.5. Design Analysis: Accessibility
11. Recommendation Algorithms
11.1. What Recommendation Algorithms Do
11.2. Ethical Analysis of Recommendation Algorithms
11.3. Individual Concerns with Recommendation Algorithms
11.4. Societal Concerns with Recommendation Algorithms
11.5. Recommendation Bot
11.5.1. Demo: Dictionary Counters
11.5.2. Practice: Dictionary Counters
11.5.3. Demo: Recommend a Subreddit
11.6. Design Activity
11.7. Learn More
12. Virality
12.1. Evolution and Memes
12.2. Pre-internet Virality Examples
12.3. Evolution in social media
12.4. Virality and Intention
12.5. Ethics of copying
12.6. The Experience of Going Viral
12.7. Activity: Value statements in what goes viral
12.8. Reflections
12.9. Learn More
13. Mental Health
13.1. Social Media Influence on Mental Health
13.2. Unhealthy Activities on Social Media
13.3. Healthy Activities on Social Media
13.4. Mental Health Detection
13.5. Demo: Only positive news
13.6. Design Analysis: Mental Health
13.7. Reflection questions on mental health
13.8. Learn more
14. Content Moderation
14.1. What Content Gets Moderated
14.2. Moderation Tools
14.3. Comparing Different Platforms
14.5. Moderation and Ethics
14.6. Activity and Reflections on Moderation
14.7. Viewing Tweets and Replies
14.7.1. Tree Structures
14.7.2. Demo: Navigating Trees (recursion)
14.7.3. Demo: Hide Some Comments
14.8. Learn More
15. Content Moderators
15.1. Types of Content Moderator Set-Ups
15.2. Example Moderator Set-ups
15.3. The Toll on Moderators
15.4. Learn More
16. Crowdsourcing
16.1. Crowdsourcing Definition
16.2. Planned Crowdsourcing Examples
16.3. Ad-hoc Crowdsourcing Examples
16.4. Power Users and Lurkers
16.5. Visualizing Networks
16.6. Reflection Questions
16.7. Learn More
17. Harassment
17.1. Individual harassment
17.2. Crowd Harassment
17.3. Who gets harassed?
17.4. Ethics and Harassment
17.5. Justifying Harassment
17.6. Stopping Harassment?
17.7. Design Example: Quoting
17.8. Reflection Questions
17.9. Learn More
18. Public Criticism and Public Shaming
18.1. Shame vs. Guilt in childhood development
18.2. Online Criticism and Shaming
18.3. Perspectives on the Ethics of Public Shaming
18.4. Repair and Reconciliation
18.5. Design a Retract Feature
18.6. Learn More
19. Capitalism
19.1. What is Capitalism?
19.2. Meta’s Capitalist Strategy
19.3. Responses to Meta’s Business Strategies
19.4. Meta vs. Users
19.5. Imagining Alternatives
19.6. Programming, Gender, Status, and Money
19.7. Learn More
20. Colonialism
20.1. What is Colonialism?
20.2. Colonialism in Tech
20.3. Colonialism in Programming
20.4. Mark Zuckerberg’s “Benevolent” Goals
20.5. Colonialism and Meta’s Strategy
20.6. Imagining Alternatives
20.7. Learn More
21. Conclusions
21.1. What We Covered
21.2. Ethics in Tech
21.3. Going Forward
21.3.1. As a Social Media User
21.3.2. As a Member of Society
21.3.3. As a Potential Tech Worker
21.4. Final Reflection Questions
21.5. More Resources
Appendix
Bot Account Set-Ups
Making a Reddit Bot Account
Making a Twitter Bot Account
Practice Solutions
Ch 3 Practice: Statements and Variables
Ch 4 Practice: Python Basic Data Types
Ch 5 Practice: Looping through lists and dictionaries
Ch 7 Practice: Conditionals and String Manipulation
Ch 8 Practice: Sentiment Analysis and Loop Variables
Ch 9 Practice: Functions
Ch 12 Solution: Dictionary Counters
Ch14 Demo: recursion with real tweets
Alternate Social Media APIs
Ch 2.3.6 A program that posts one tweet
Ch 2.3.7 Understanding the Twitter Bot Code
Ch 2.3.8 Demo: Try Running the Twitter Bot!
Ch 3.3.3 Practice: Statements and Variables (Twitter)
Ch 4.5.3 Demo: Data from a Tweet
Ch 5.4.2 Demo: Dictionaries (Twitter)
Ch 6.2.2 Demo & Practice: Tweet Sources
Demo: Trolling a Reply Bot
Data From the Twitter API
Demo: Sentiment Analysis on Twitter
Ch10.5.2: Demo: Extra Data From Twitter
Ch10.5.2: Demo: Alt-text From Twitter
Ch 11.4.3: Demo: Recommend a User to Follow
Demo: Only positive news
Practice Solutions (Twitter)
Ch 3 (Twitter) Practice: Statements and Variables
Ch 4 (Twitter) Practice: Python Basic Data Types
Ch 5 (Twitter) Practice: Looping through lists and dictionaries
Ch 7 (Twitter) Practice: Conditionals and String Manipulation
Ch 8 (Twitter) Practice: Sentiment Analysis and Loop Variables
Ch 9 (Twitter) Practice: Functions
Ch 12 Solution: Dictionary Counters
Ch14 Demo: recursion with real tweets
(Incomplete) Teaching With This Book
repository
open issue
.md
.pdf
Bots
3.
Bots
#
One kind of automation done on social media is what are called “bots.”
3.1. Definition of a bot
3.2. Examples of Bots (or apps)
3.3. Anatomy of a Bot
3.3.1. Organizing a Computer Program
3.3.2. Demo: Statements, Variables, and Sleep
3.3.3. Practice: Statements and Variables
3.4. Bots and Responsibility
3.5. Activity: Find Lists of Bots
3.6. Learn more