Supporting diversity with a new approach to software - single-page view

From Open Source Bridge Wiki
Jump to: navigation, search

References for the 2016 session Supporting diversity with a new approach to software.

Techniques:

Setting intention

Who needs it the most? Teams that want to build software for people or communities who are usually marginalized

Who else benefits? Any team that wants to build better software

It won’t just happen. If creating software that works better for everybody is something you want to do, make it an explicit goal - and commit to it publicly.

High-level recommendations

  • State your commitment publicly with a Diversity Statement or an equivalent. (See links below for examples)
  • Code of conduct (for the development team and for the community) and process for reporting and dealing with issues
  • Approach it in an intersectional way
  • Recruit a team that’s diverse in multiple dimensions
  • Foster an culture of inclusion and equity
  • Seek out and recruit diverse users, community leaders, and beta testers
  • Work to improve diversity and inclusion in technology and society (not just your project)
  • Be aware of how existing societal power vectors affect software - and look for ways to counter them

Open Source Bridge Sessions

Opening Up The Current Open Source Blueprint, Stephanie Morillo (2015)

Building mentoring into an open source community that welcomes and values new contributors, Cathy Theys (2015)

From the Inside Out: How Self-Talk Affects Your Community, Kat Toomajian (2015)

Catalyzing Diversity: Practical Advice for Navigating Minority STEM Communities to Open Up Open Source, Alberto Roca and Shauna Gordon-McKeon (2015)

Explicit Invitations: Passion is Not Enough for True Diversity, Lukas Blakk (2014)

Badging and Beyond: Rubrics and Building a Culture of Recognition as Community Building Strategies, Larissa Shapiro (2014)

Links

Diversity statements: Dreamwidth and Django (although see this HBR article on Unintended Consequences of Diversity Statements as a caveat)

Codes of conduct (for the development team and community) and process for reporting and dealing with issues: Citizen Code of Conduct from the Stumptown Syndicate, the Contributor Covenant, Python, Geek Feminism, Annalee Flower Horne's sample for Slack, oulipo.social's social contract and https://toot.cat/about/more toot.cat] on Mastodon ], WeAllJS (which also has a Culture and Process page). See also Christie Koehler's Adopting a code of conduct is an adaptive challenge not a technical one.

5 tips every open source project manager should consider, Safia Abdalla on opensource.com

Disrupting the Startup Brogrammer Culture, Lynne d. Johnson, Shireen Mitchell, Nicole Sanchez, and Amy Vernon at Women Who Tech telesummit

Geek Feminism’s HOW TO recruit and retain women in tech workplaces for best practices on this front.

Being an Effective Ally to Women and Non-Binary People, Toria Gibbs and Ian Malpass of Etsy

Facilitating for Diversity and Inclusion on the Digital Library Foundation's wiki

Racial Equity Tools has a wealth of resources supporting individuals and groups working to achieve racial equity

List of Resources for Recruiting and Retaining Women in Tech, Chaya Cooper

Project Include has recommendations on culture, “employee lifecycle” (which could be adapted for open source projects), metrics, and more.

Imagining Radical Queer Futures through Tech by Morgen Bromfell (at SF Alterconf 2016) discusses the need for the radical imagination in the context of the survival of marginalized communities

Choose language intentionally

Who needs it the most? People who are constantly dealing with microagressions; people who understand language very literally.

Who else benefits? People who don’t want reinforce racist / sexist / ablist / etc. patterns of domination.

High-level recommendations

  • Ensure team members are familiar with the concept of microagression
  • Understand what people mean by terms like privilege, intersectionality, heteronormativity, cognitive diversity, structural racism (and structural sexism, ablism, ...)
  • Avoid using language with associations that are racist (e.g., "master/slave"), ablist ("lame"), sexist, homophobic, transphobic, ageist, ...
  • Use automated tools like Alex to complement code and documentation reviews in finding problematic language

Links

University of Missouri handout on Microagressions in Everyday Life

libuv gendered pronouns

Django primary/replica

Replace ‘suicide’ as a verb, nodejs issue and discussion

Accessibility

Who needs it the most? People with disabilities

Who else benefits? People who prefer keyboard-first or audio-first interaction, older users, people who don’t like flashing and blinking or noisy experiences, software testers

High-level recommendations

  • design for people with disabilities from the beginning, which includes supporting screen readers and other assistive technologies, keyboard-only navigation, color vision impairment, limited vision or blindness, hard of hearing or deaf, seizure disorders.
  • include accessibility in test suites (and leverage accessibility functionality for test automation)
  • developers, testers, tech writers, product managers, and beta users regularly use the software in accessibility modes
  • all developers, testers, tech writers, and product managers have basic accessibility training and see themselves as responsible for the product’s accessibility

As with so many things in software, it’s a lot easier if you pay attention to it from the beginning; but very few teams do.

OS Bridge sessions

The Ability to Disable: Who Did You Forget When You Designed Your UI?, Rebecca Jennings, 2016

Accessible By Default, Kendra Skeene, 2016

Universal Web Design: How to create an awesome experience for *every* user, David Newton (2015)

Links

The W3C’s Web Accessibility Initiative has an Introduction to Web Accessibility, tips on Designing, Writing, and Developing for web accessibility, a summary of the Web Content Accessibility Guidelines as well as the full spec, Authoring Practices, and a lot more info.

The A11y project: a community-driven effort to make web accessibility easier. Digestible, up-to-date, and forgiving.

Web accessibility basics by Marco Zehe packs a lot of information into a 50-minute video.

The Teach Access Tutorial provides basic training for developers and designers on best practices for making accessible mobile and web apps. Teach Access is a collective of leading tech companies, academic institutions and advocacy organizations working together to embed accessibility into higher education and learning experiences for students of technology.

Making Awesome Things Accessible is a presentation by Heather Migliorisi from OSCON 2016. The accompaning Accessibility Resources has links to testing tools, development tools, articles, community, people, companies, and more.

Fringe Accessibility Techniques (That Probably Shouldn't Be), a presentation by Adrian Roselli for London Web Standards, has a lot of useful techniques.

Dreamwidth’s Accessibility Testing page gives an idea of the kinds of things that are needed in practice.

Making the Firefox developer tools accessible discusses how to approach it when you haven’t thought about accessibility up front: “The majority of the tools are currently a very mouse-driven environment, and our goal is to make them equally accessible for keyboard users and those using assistive technologies such as screen readers.”

Color Design for the Color Vision Impaired discusses the most common forms of color vision impairment and techniques (including color combinations and alternative visual presentations) for creating graphics that work well for people with color vision impairment. Color Oracle is software that simulates several forms of color vision impairment.

Web Accessibility’s Best Practices page has a list of specific recommendations (for example “Ensure complex data table's implicit row header cells define scope or use th”)

CSUN’s annual International Technology and Persons With Disabilities conference has a wealth of material on all kinds of different topics. The Great Big List on Curb Cut has links to the various presentations.

David Clark’s Building an Open Source React Component describes building an accessible menu bar, following the W3C’s WAI Design Patterns recommendations. "try to build something sufficiently complex with JS interactivity, and (unless your experience is dramatically different from mine) your research will lead you into a baffling hodgepodge of incomplete, contradictory, insufficiently exemplified, inadequately verified, usually outdated material."

Building Accessibility Culture, David Peter, on Model View Culture

Internationalization and multilingual support

Human-computer interaction: Gender HCI, Feminist HCI, Sustainable HCI, ...

HCI, for human-computer interaction, is the field of studying how people interact with computers. Several subdisciplines of HCI are particularly relevant to creating software that works better for everybody

  • Gender HCI: focuses on the differences in how different genders interact with computers
  • Feminist HCI is concerned with the design and evaluation of interactive systems that are imbued with sensitivity to the central commitments of feminism—agency, fulfillment, identity and the self, equity, empowerment, diversity, and social justice.
  • Post-colonial HCI centers on the questions of power, authority, legitimacy, participation, and intelligibility in the contexts of cultural encounter, particularly in the context of contemporary globalization.
  • Human-Computer Interaction for Development (HCI4D) focuses on understanding how people and computers interact in developing regions, and on designing systems and products specifically for these contexts
  • Humanistic HCI is a term used by Jeffrey and Shaowen Bardzell “to refer to any HCI research or practice that deploys humanistic epistemologies (e.g., theories and conceptual systems) and methodologies (e.g., critical analysis of designs, processes, and implementations; historical genealogies; conceptual analysis; emancipatory criticism) in service of HCI processes, theories, methods, agenda setting, and practices


Gender HCI

Who needs it the most? People who process new information comprehensively (gathering fairly complete information before proceeding, as opposed to “selective” styles of following the first promising information, then backtracking if needed) are risk-averse, have low self-efficacy, prefer not to tinker, and/or don’t like technology for its own sake. (At least in the US, these have a strong correlation to gender.)

Who else benefits? Everybody.

Gender HCI is a subfield of human-computer interaction (HCI) that focuses on the differences in how different genders interact with computers. Work to date has focused primarily on the differences between males and females in problem-solving software, and has identified differences in several “facets”: motivation, information-processing style, computer self-efficacy, risk aversion, and tinkering. The GenderMag method is a structured approach for using personas in a walkthrough to identify issues.

High-level recommendations

  • Consider gender difference throughout the process - including design, usability testing, and other feedback mechanisms
  • Leverage existing gender HCI materials such as GenderMag profiles
  • Introduce all developers, testers, tech writers, and product managers to gender HCI basics, including facets and examples of making software more gender-inclusive
  • Remember that gender isn't just male and female, so support flexible and optional self-identification of gender)

Links

GenderMag, A Method for Evaluating Software’s Gender Inclusiveness, Margaret Burnett et. al. “The users who tend to be best supported by problem-solving software tend to be those best represented in software development teams (e.g. relatively young, able-bodied, males), with other users’ perspectives often over-looked.”

Is your software gender inclusive? A talk by Margaret Burnett

Finding Gender-Inclusiveness Software Issues with GenderMag: A Field Investigation, Margaret Burnett et. al

Are you sure your software is gender-inclusive?, Gayna WIlliams, ACM

And lots more. See the publications list near the bottom of the EUSES Gender HCI page, and their older bibliography.

Baking Gender Into Social Media Design: How Platforms Shape Categories for Users and Advertiser, Rena Bivens and Oliver Haimson.

HCI as heterodoxy: Technologies of identity and the queering of interaction with computer, A. Light

Machine Translation: Analyzing Gender, from Stanford’s Gendered Innovations project. "State-of-the-art translation systems like Google Translate or Systran massively overuse masculine pronouns (he, him) even where the text specifically refers to a woman (Minkov et al., 2007)"

Feminist HCI

Feminist HCI looks at interactive systems "that are imbued with sensitivity to the central commitments of feminism — agency, fulfillment, identity and the self, equity, empowerment, diversity, and social justice" and "entails critical perspectives that could help reveal unspoken values within HCI’s dominant research and design paradigms and underpin the development of new approaches, methods and design variations" (Bardzell, 2010)

Open Source Bridge presentations

Feminist Point of View: Lessons From Running the Geek Feminism Wiki, Alex Bayley (2014)

Links

Feminist HCI: Taking Stock and Outlining an Agenda for Design, Shaowen Bardzell

An Archive of Their Own: A Case Study of Feminist HCI and Values in Design, Fiesler, Morrison, and Bruckman, CHI 2016. Here’s an overview from Casey Fiesler.

Feminist HCI for Real: Designing Technology in Support of a Social Movement, Jill Dimond (Ph.D Thesis, looking at Hollaback)

A theoretical agenda for feminist HCI, Jennifer A. Rode, 2011

Feminist HCI Meets Facebook: Performativity and Social Networking Sites, Nancy van House, Interacting with Computers", 2010

Towards Trans Inclusion in Feminist HCI, Haimson and Hayes, 2014

Lauren Klein, “Feminist Data Visualization: Rethinking the Archive, Reshaping the Field”, Dave DeCamp's summary of Lauren's talk

Software Design, a deconstructive feminist approach, Doris Althusser, 2012. Althusser's Mind Scripting: a Method for Deconstructive Design describes a method for analyzing processes of the co-materialization of gender and technology as a tool to support cooperative, reflective work practices. Anchored in critical design approaches

Storytelling as a nexus of change in the relationship between gender and technology: a feminist approach to software design, Justine Cassell (1998) suggests principles of a feminist approach to software design

  • Transfer design authority to the user
  • Value subjective and experiential knowledge in the context of computer use
  • Allow use by many different kinds of users in different contexts
  • Give the user a tool to express her voice and the truth of her existence
  • Encourage collaboration among users

Post-colonial Computing

Links

Post-Colonial Computing: a Lens on Design and Development, Lilly Irani et al, CHI 2010. After looking in detail at several case studies The authors propose an alternate formulation of design work – engagement, articulation, and translation - that broadens notions of what counts as design work and suggests an alternate sensibility for evaluating such work

Post-Colonial Computing: A Tactical Survey, Kavita Philip, Lilly Irani, and Paul Dourish, Science Technology and Human Values

Postcolonial language and culture theory for HCI4D, Samantha Merritt and Shaowen Bardzell, CHI 2011


Sustainable HCI

Links

Sustainable Interaction Design: Invention & Disposal, Renewal & Reuse, Eli Blevis, CHI 2007

Environmental sustainability and interaction, Jennifer C. Mankoff et. al., CHI 2007

Mapping the Landscape of Sustainable HCI, Carl DiSalvo, Phoebe Sengers, and Hrönn Brynjarsdóttir, CHI 2010

Next steps for sustainable HCI, M Six Silberman et. al., ACM Interactions, 2014

Don’t pretend algorithms are "objective"

Open Source Bridge sessions

The Consequences of an Insightful Algorithm, Carina C. Zona, Open Source Bridge 2015

Links

Big Risks, Big Opportunities: the Intersection of Big Data and Civil Rights: The latest White House report on Big Data charts pathways for fairness and opportunity but also cautions against re-encoding bias and discrimination into algorithmic systems. "The algorithmic systems that turn data into information are not infallible—they rely on the imperfect inputs, logic, probability, and people who design them."

Pro Publica's Machine Bias series, by Julia Angwin et. al., was a Pulitzer Prize finalist. The first article in the series Machine Bias has a pithy summary: "There’s software used across the country to predict future criminals. And it’s biased against blacks."

Artificial intelligence: How to avoid racist algorithms, by Zoe Kleinman on BBC News, is a good overview, with perspectives from World White Web designer Johanna Burai, Algorithmic Justice League (AJL) creator Joy Buolamwini, and Suresh Venkatasubramanian of the University of Utah.

What does it mean for an algorithm to be fair?, Jeremy Kun

Big Data, Machine Learning, and the Social Sciences: Fairness, Accountability, and Transparency. Hanna Wallach

Critical Algorithm Studies: a Reading List, from the Social Media Collective at Microsoft: the literature on algorithms as social processes.

Fairness in Machine learning, a slide deck from Delip Rao, includes a short reading list

Three Black Teenagers Google search sparks outrage, USA Today

Can computers be racist? Big data, inequality, and discrimination, Ford Foundation, based on a series of presentations by Latanya Sweeney and Alvaro Bedoya.

Discrimination and Opacity in Online Behavioral Advertising, Datta et. al, 'Proceedings on Privacy Enhancing Technologies, 2015

Google’s autocompletion: algorithms, stereotypes, and accountability, Anna Jobin, Postcolonial Digital Humanities= Pseudonymity and Multiple personas =


Who needs it the most? People who are targets of abuse and harassment; people whose names subject them to discrimination; activists; people speaking about sexual activities; people with employers who restrict their speech; people with different professional and personal personas; and many more -- see Geek Feminism’s Who is harmed by a real names policy.

Who else benefits? People who want to explore new personas. Writers, artists, performers, or others who use a “professional” name.

Pseudonymity is a great example of where it already is simpler to implement a diversity-friendly solution: let people choose whatever names they want without trying to enforce restrictions. There are still hard problems (impersonation; trolls, harassers, spammers, politicians creating sock puppets) but trying to ban pseudonyms doesn’t actually help.

High-level recommendations

  • let people choose whatever names they want without trying to enforce restrictions
  • allow multiple personas
  • Have explicit policies about whether multiple personas of the same person can participate in a single discussion (or “like” each other’s posts, etc.)

OS Bridge sessions

Hello, my name is __________. (2015)

Links

Geek Feminism’s Who is harmed by a real names policy

The Real Name Fallacy, by J. Nathan Mathias on the Coral Project's blog

Digital Social Norm Enforcement: Online Firestorms in Social Media, Katja Rost, Lea Stahel, Bruno S. Frey, PLOS One; summarized in Internet trolls are even more hostile when they’re using their real names, a study finds, Michael J. Coren, Quartz

Nymwars, on Liminal States, has links to perspectives from Kathy Sierra ("keep the pseudonyms, lose the assholes"), s.e. smith of Tiger Beatdown, Denise Paolucci of Dreamwidth, Latoya Peterson of Racialicious, Caterina Fake of flickr, danah body of Microsoft Research, Kaliya (aka Identity Woman), and more

Flexible self-identification of gender, race,and pronouns

Who needs it the most? Trans and gender-diverse people, anybody who doesn’t fit into male/female binary, multiracial people

Who else benefits? People who don’t want to unintentionally use the wrong pronouns for somebody

High-level recommendations

  • Allow arbitrary text (rather than restricting people to a fixed list) for gender, race, and other information
  • Allow multiple choices; e.g., somebody who’s multiracial may be white, black
  • Allow people to decline to answer, or to limit the visibility of their response
  • Consider collecting pronouns instead of gender
  • Be careful about your terminology
    • If there are easier ways to select from a short list of more-common choices, do not use the word “other” as a way of getting to the more flexible specification.
    • Avoid the term "preferred name" (or "preferred pronouns").

OS Bridge sessions

More Than Binary: Inclusive Gender Collection and You, Anne DeCusatis (2016)

Male/Female/Othered: Implementing Gender-Inclusiveness in User Data Collection, Finn Harker and Jonathan Ellis (2015)

Links

Best Practices for Collecting Names, Gender and Pronouns, by TJ Warfield, from TRANSform Tech, is a very good short overview.

Web Forms: When Someone's Gender is Your Business, Jennifer Zhu, OS Feels 2016, looks at situations like insurance where you do have to collect gender information

5 Simple Steps for Trans-Inclusive Data, Avory Faucette, AlterConf DC 2016

Open Gender Project, creating a simple API and library.

Disalienation: Why Gender is a Text Field on Diaspora, Sarah Mei, 2010

Genders and Drop-down Menus (2008) and Designing a Better Drop-Down Menu for Gender (2009), Sarah Dopp on Dopp Juice.

Why sharing gender pronouns at work matters, by Alexis Croswell on the Culture Amp blog, is a good overview and FAQ.

Muting, blocking, reporting, and content filtering

Who needs it the most? Targets of harassment; people who would be triggered by certain kinds of images and videos

Who else benefits? People who prefer to avoid certain kinds of images and videos


Links

Another Six Weeks: Muting vs. Blocking and the Wolf Whistles of the Internet, Leigh Honeywell, Model View Culture

Twitter Won’t Stop Harassment on Its Platform, So Users are Stepping In, Amanda Hess, Slate (2014): discusses Flaminga, BlockBot, and Block Together. Since then Twitter has implemented shared block lists but they don’t appear to have learned from the earlier implementation - see Vijith Assar’s The Glaring Hole In Twitter’s New Shared Blocking Feature in Wired for a critique.

Learning from Twitter’s mistakes, Eugen Rochko on Medium, describes Mastodon's muting and blocking model. "Harassment and tools to deal with it have always been lacking on Twitter’s end. I reached out to people who have been affected by it to collect ideas."

Curbing Online Abuse Isn’t Impossible: Here’s Where we Start, Laura Hudson, Wired, looks at steps Riot Games took to reduce harassment in League of Legends

Putting out the Twitter trashfire, Randi Lee Harper, and What I Want Out of Twitter, John Scalzi: suggestions for giving Twitter users control over their timelines; also useful for people designing mechanisms for other systems

Herring, Susan et al. ‘Searching for Safety Online: Managing ‘Trolling’ in a Feminist Forum’ The Information Society 18 (2002): 371–384. A classic!

Still ‘Searching for Safety Online’: collective strategies and discursive resistance to trolling and harassment in a feminist network, Frances Shaw, Fibreculture Journal

7 ways Facebook’s reporting system is failing its community standards, and its users and How to Redesign Facebook’s Reporting System in 7 Steps, Anna Williams, Medium

Possible routes for distributed anti-abuse systems, by Christopher Allan Webber on DustyCloud, looks at various potential strategies. = User rights


Who needs it the most? Users of the software

Being explicit about what rights the users of a system have -- and having processes in place in support of those rights -- is an important way of protecting people. One approach to this is to adopt a "bill of rights" or some other statement of user rights, as a complement to the Terms of Service (which typically describes user responsibilities and restrictions). The Computers, Freedom, and Privacy Social Network Users' Bill of Rights model document includes the following elements

  1. Honesty: Honor your privacy policy and terms of service
  2. Clarity: Make sure that policies, terms of service, and settings are easy to find and understand
  3. Freedom of speech: Do not delete or modify my data without a clear policy and justification
  4. Empowerment : Support assistive technologies and universal accessibility
  5. Self-protection: Support privacy-enhancing technologies
  6. Data minimization: Minimize the information I am required to provide and share with others
  7. Control: Let me control my data, and don’t facilitate sharing it unless I agree first
  8. Predictability: Obtain my prior consent before significantly changing who can see my data.
  9. Data portability: Make it easy for me to obtain a copy of my data
  10. Protection: Treat my data as securely as your own confidential data unless I choose to share it, and notify me if it is compromised
  11. Right to know: Show me how you are using my data and allow me to see who and what has access to it.
  12. Right to self-define: Let me create more than one identity and use pseudonyms. Do not link them without my permission.
  13. Right to appeal: Allow me to appeal punitive actions
  14. Right to withdraw: Allow me to delete my account, and remove my data

Links

Development tools, languages, environments

Links

Gender Differences and Programming Environments: Across Programming Populations, Margaret Burnett, Gina Venolia,Mary Czerwinski, et. al.

Can Feature Design Reduce the Gender Gap in End-User Software Development Environments? Valentina Grigoreanu et. al, 2008

How Git shows the patriarchal nature of the software industry

Theory in the machine; or, a feminist in a software lab, notes from a talk by Tara McPherson.

Frequent Asked Questions (FAQ) on programming by voice, by Mark with help from the voice coders mailing list

Programming Languages

Some of the first computer languages, including COBOL, were heavily influenced by Dr. Grace Hopper and her belief “that programs should be written in a language that was close to English”. Since then, popular programming languages have been primarily by guys, and for the most part driven by American or Western Europeans (Ruby, designed by Yukihiro Matsumoto, is one of the rare exceptions). Possible directions looking forward:

Feminist programming languages: see Ari Schleisinger's Feminist Code (a followup to her earlier Feminism and programming langauges)

Queer programming languages and anti-language: transCoder

قلب, a programming language written entirely in Arabic

Virtual reality

Template:Virtual reality