Abstract/TL;DR
I describe a potential web application for coordinating boycotts of corporations sponsoring potential US legislation. Avoiding domains owned by these corporations, who are often large media conglomerates, will result in lost advertising revenue. The application is a browser plugin that warns the user when she tries to visit a domain owned by these corporations, and posts to Twitter when she does not visit the domain.
Introduction
In my last post I described potential ways in which web apps could enable successful boycotts. To re-cap, I described a system which
- “crowdsources” information of objectionable things (such as SOPA or animal cruelty) and the corporations that support them;
- builds a base of users that can register as boycotting supporters of, for example, SOPA;
- provides software to users to aid their purchasing decisions using their boycotts as a guide;
- provides corporations with estimates of their losses.
There was some discussion on Reddit about it.
Existing sites
Reddit users helped me find some incipient sites that are trying to organize boycotts. Among these are:
- tribetree.org: a discussion board focussing on boycotts. Reaching out to the communities of sites like this may be important for volunteers.
- boycottspot.com. Users can create boycotts and sign up to them.
- buyorboycott.com: apparently developing mobile apps to aid boycotts. ~1700 followers on Twitter.
- boycottwall.com: very similar to BoycottSpot in functionality. ~1200 followers on Twitter.
Apart from BuyorBoycott, which is a single-page static site at the moment, these sites are discussion boards, with some ability to join boycotts, and some ability to post to Twitter.
Changes since last post
In light of these, I’ve been trying to identify an MVP (Minimum Viable Product) that satisfies my USP (Unique Selling Point). /marketingjargon
What would this minimal product look like? Contemplating this, my initial plans have changed a bit:
- “Objectionable things” is too general to be of use; we currently should concentrate on a specific subcategory of this. For me, this subcategory is potential legislation; specifically, US bills.
- Crowdsourcing is unnecessary for this category: lists of corporate sponsors of bills are at least semi-official. If these can’t be automatically gathered, we could use vetted volunteers.
- We don’t have to track purchasing decisions, because I’ve thought of another thing: people can boycott domains. SOPA was supported by, among many others, News Corporation and Viacom; these corporations profit from advertising and they own many, many websites. Coordinated efforts not to use them are a form of boycott.
- We create a browser plugin that warns the user when they try to visit a domain owned by a corporation they are boycotting. This should be simple.
- We don’t have to build a real user base, or social communication tools, or the tools to provide corporations with estimated losses, because there’s a single tool out there that can do all of this: Twitter. Users should log in with their Twitter accounts via OAuth. With each domain visit that the user declines, we send a tweet saying so. This has three effects:
- we recruit new users
- we create bad publicity for the corporation
- we provide the corporation with real-time information on how their endorsement is affecting their business.
Implementation
What work is required to implement this?
A knowledge database
A knowledge-database schema containing:
- All US bills.
- All corporations, and their parent corporations.
- Links between bills and supporting corporations.
- Links between domains and corporations.
Data sources
Population of those tables automatically or semi-automatically:
- US bills. OpenCongress can provide this.
- US corporations. OpenData should be able to provide this, too.
- Official endorsers of bills. OpenSecrets provides this and more.
- Domains and their owners: we should just need a WHOIS database.
An API to the database
A web service allowing queries of the form: given opposed bills Bs and domain D, is D part of a boycott of a bill in Bs? The implementation is simple: this asks if there exist corporations C and P and a bill B such that:
- bill B ∈ bills Bs
- corporation P endorses bill B
- corporation C is a subsidiary of corporation P (or equal to corporation P)
- corporation C owns domain D
A browser plugin
A Firefox or Chrome plugin. The user provides it with a list of opposed bills, Bs, and optionally their Twitter details. Every time the browser attempts to visit some domain D, the plugin queries the web service, is D part of boycotts of Bs?, then
- if no: allow page load.
- if yes (returning the specific bill B and corporations P and C): tell the user, D is part of your boycott of X supporters; cancel this page visit?
- if no: allow page load.
- if yes: cancel page load, and post a tweet: “I’m not visiting D because #ImBoycottingX“
A web front-end
A web app that Twitter users can log into using OAuth. A front-end to the website with
- plugin downloads
- stats on the latest boycotting activity on Twitter (based on a search for tweets of the form “I’m not visiting D because #ImBoycottingX“)
- a smart brand
I can certainly get started on this. I’m looking for volunteers to help out. Any takers?
Edit 1: links to OpenCongress and OpenSecrets. Thanks, rasori!
I’m not a great programmer (esp. for web) but I can make the following suggestions for some of your data sources:
* OpenSecrets.org’s OpenData for determining which companies sponsor which bills (check the lobbying data here: http://www.opensecrets.org/resources/create/data_doc.php).
* OpenCongress.org’s API for gathering a list of bills, and also to gather useful information such as “hot bills” and “commonly opposed bills,” among others (check out this page: http://www.opencongress.org/api to see some of the cool things that can do). OpenCongress supports users selecting bills they support and oppose, it would be cool if you could tie into that so that a user is automatically associated with the bills they’ve already identified, but the API doesn’t seem to support it from what I’ve seen so far.
That covers two of the four data sources you said you’d need. You might be able to get enough information from OpenData to get rid of the Corporation database, as it looks like OpenData includes info on parent corporations, though you could be more thorough if you found a better source for that.