/Microaggression_bingo

Facebook's 2019 Developer Circle Challenge. HTML5 bingo board.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Microaggresion_Bingo πŸ’œ

"Winner Winner Privilege Dinner" / "We All Belong" πŸ‡¨πŸ‡¦

Status GitHub Issues GitHub Pull Requests License

Picture

Image. User triggers the win state by matching five boxes in a row. The popup "Winner Winner Privilege Dinner" appears and win.mp3 audio is played.


Table_of_Contents πŸ’œ


Game_Intro πŸ’œ

A HTML5 bingo board mobile application exploring social justice and privilege for Facebook's 2019 Developer Circle Challenge. Participate in a fun, safe, and inclusive bingo game that welcomes players of diverse backgrounds! Watch the video submission here: https://www.youtube.com/watch?v=WhfnhcWPI3U&feature=youtu.be HTML5 games are games that users can play on the web, across devices. JavaScript can be used to create immersive gaming experiences that are accessible to anyone and can be integrated to platforms like Facebook Instant Games or Wechat.

Let's play the privilege game? Click here!


Social_Justice_Motivation πŸ’œ

Patriarchy

  • "A cultural construct in which old, rich, white, straight, cisgender, able-bodied, christian men are valued more than minority groups."
  • "Special rights, advantages, or immunity granted or available only to a particular person or group."

Microaggression

  • "Daily verbal, behavioural, or environmental indignities, whether intentional or unintentional, that communicate hostile, derogatory, or negative prejudicial slights and insults toward any group."

Explain Privilege To Those Who Do Not See It

  • Teacher tells students they are having a race and the winner recieves a prize. However, some students get a head start on this race:

    Video to provoke discussion and understanding

    (Video. ”Every statement I’ve made has nothing to do with anything any of you have done. We all know these people up here have a better opportunity to win this $100 bill.”)


Bingo_Categories_[Config in bingo.options] πŸ’œ

  • Basic bingo board

    • Pink background jpeg
  • Configurations

    • Gender
    • Race
    • Age
    • Class
    • LGBT
    • Religion
    • Disabilities
  • Intersectionality

    • Dangers of One Sided Story
    • Echo Chambers

Technical_How_it_works πŸ’œ

  • HTML5 + CSS3

    • Game transitions and animations
    • Audio mp3s for bingo sounds
    • Female voice intro "Let's play the privilege game?"
  • Javascript + jQuery

    • Game reads customized .json square microagression data from data.js file
    • Content randomizes reload for new game each time
    • Win state checks data attributes for winning bingo conditions
    • End game at "Winner Winner Privilege Dinner" popup

Technical_Facebook_Developer_Product_Integration πŸ’œ

  • HTML5 Games

    • Multi-platform devices for accessible gaming experience
    • Integrates into new platforms like FB instant Games, or Wechat
    • Disadvantages: Graphical fidelity + Performance not as good as native + Battery life may suffer
  • Facebook Instant Games

    • Web Instant Games bundle configuration in fbapp-config.json
    • Easily publishes game to app store for users around the world
  • Facebook Login

    • Two-tap account creation using Facebook-Profile
    • Asynchronously loads login in game, does not block loading other elements
    • Integrates with Facebook Analytics - requires {your-app-id} and {api-version}
    • Refer to documentation page from Facebook for Developers below:

    John

    Image. Screenshot of the Facebook's "Continue as {Name} Button". The {Name} and image of Facebook profile is suprisingly WHILE MALE NAMED JOHN AND CHILD. One can deduce he has "loving husband, father" on his Twitter bio. THIS IS BAD BECAUSE IT FURTHER REINFORCES THE PATRIARCHY. Refer to social justice motivation definition above.


Technical_User_Privacy_Considerations πŸ’œ

  • HTML5 Local Storage Data

    • Bingo cache stores data on user's local device
    • Data.js information is removed when user clears cache
    • Storage.setItem( 'game_state', JSON.stringify(gameState));
  • User.js File

    • User.js file added for user privacy
    • Template for configuring privacy and security
    • Reduce tracking from web analytics, tracking, finger-printing, or shoulder surfers
    • Harden browser settings against data disclosure or code execution vulnerabilities

Challenges_I_Ran_Into πŸ’œ

  • Game was super boring with a "fixed"/"hard-coded" bingo board
    • Decided to make game configurable with json data so that user can choose tile names and it also randomizes with each refresh.
  • Uploading the raw code to Facebook's HTML5 Instant Game platform was quite a process. Had to read through documentation to integrate facebook login, fbapp-config.json, analytics, and the continue as {Name} button.
  • Accounting for user privacy
    • In a bingo board game when the bingo cache stores data on user's local device
    • Decided that data.js information be removed when user clears cache

Books_to_Read_for_White_Males_Named_J0hn πŸ’œ

  • Algorithms of Oppression: How Search Engines Reinforce Racism
  • Automating Inequality: How High-Tech Tools Profile, Police, and Punish the Poor
  • Programmed Inequality: How Britain Discarded Women Technologists and Lost Its Edge in Computing
  • Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy <3
  • Dark Matters
  • Race After Technology: Abolitionist Tools for the New Jim Code
  • The Age of Surveillance Capitalism: The Fight for a Human Future at the New Frontier of Power
  • Artificial Unintelligence: How Computers Misunderstand the World
  • Through Google-Colored Glass
  • Invisble Women: Data Bias in a World Designed for Men <3
  • You Look Like a Thing and I Love You
  • The Intersectional Internet: Race, Sex, Class, and Culture Online
  • Brotopia: Breaking Up the Boys' Club of Silicon Valley
  • Behind the Screen: Content Moderation in the Shadows of Social Media
  • Technically Wrong: Sexist Apps, Biased Algorithms, and Other Threats of Toxic Tech
  • Recoding Gender: Women's Changing Participation in Computing
  • Cyber Racism
  • Digital Diaspora, Anna Everett
  • Ghost Work: How to Stop Silicon Valley from Building a New Global Underclass,
  • Surveillance as Social Sorting: Privacy, Risk and Automated Discrimination
  • When Biometrics Fail: Gender, Race, and the Technology of Identity
  • Black Software: The Internet & Racial Justice, from the AfroNet to Black Lives Matter
  • Race after the Internet
  • Heartificial Intelligence: Embracing Our Humanity to Maximize Our Machines
  • Do Babies Matter? Gender and Family in the Ivory Tower

What's_next_for_Microaggression_Bingo πŸ’œ

  • More FB product integration since it's already on the platform. Ship it via Instant Games

References πŸ’œ