Twitter Abuse Solution Sketches

Rilke used to say that no poet would mind going to gaol, since he would at least have time to explore the treasure house of his memory. In many respects Rilke was a prick. – Clive James

So a particularly nasty bout of threatening, possibly illegal, abuse against Caroline Criado-Perez triggered a petition asking for a report abuse button. Brooke Magnanti counters with examples of how this, and a twitter boycott, may be unproductive; its insightful in itself, and as former Belle Du Jour she does have an interesting angle on pseudonymity and publishing.
So this is society’s pathology, mediated by technology, and because Twitter is pretty neat, mediated in real time and connecting strangers at massive scale. It’s Larry Niven’s Flash Crowd of course, taken to its fastest immaterial instantiation. There are slow hard things to change about human society to make it less awful. The petition is right, though, in that technology got us into this specific version of the problem and there are surely smarter technical things to limit it, but it’s worth noting that right now no-one actually knows what they are. So here’s a few design assumptions and speculations, in the hope it sparks ideas in others.

Parameters / Assumptions
Manual abuse reporting is a deliberate usability choice. It makes you think about the accusation of abuse, and will place a premium on a coherent case. Abuse reporting is judicial and needs due process. It’s probably also rational laziness by Twitter: at small scales this is the cheapest solution to implement.
Adding structure is adding due process, but it’s also institutionalising abuse. At uni, I broke my right arm in a soccer game. I had a lecturer in rationality at the time who noted that soccer had incorporated a whole system of breaking the rules into the game itself, with yellow / red cards. That then motivates the entire diving substructure (pretending to be injured or fouled to get advantage). As in soccer, so in Twitter: all systems will be gamed, especially judicial ones. This effect manifests right down to the amount of structure you put on the report abuse form. Each element narrows the likely scope of human judgement; an abuse form also describes the sort of thing that might be considered abuse.
Human review is needed – with tools that scale. I don’t know any Twitter employees, so this is speculation, but it sounds like it is just reading emails and kicking individuals at this point.
The criminal justice system is needed, and shouldn’t be outsourced to a corporation. This part will be slow. Write to your government, but also keep in mind a certain slowness is a side effect of due process.

Use data visualization to analyse abuse events rapidly and at scale. Using new data views to augment human judgement is a digital humanities problem. Require one example tweet in form submission. The abuse support person needs to be able to rapidly see the extent and intensity of the abuse. To facilitate this, when they open an abuse ticket, they should be able to see the offending tweet, the conversation it happened in, and all of the user and reporters twitter network. This consists of followers, people followed, people replied to, people mentioned, people mentioning, people using the same hashtag. They can view much of this as a literal graph. All this can be pre-calculated and shown as soon as the ticket is open without any automated intervention in the tweets themselves. Show ngrams of word frequencies in reported tweets. In the recent example, they aren’t subtle. Allow filtering by time window.
Rank tickets in an automated way and relate to other abuse tickets. The time of the abuse team is limited, but the worst events are flash mobs. Make it easy to see when network-related abuse events are occurring by showing and linking abuse reports in the graph visualization above. Identify cliques implicated in abuse events, in the social and graph-theoretic senses. Probably once an abuse mechanism is established, there will be events where both sides are reporting abuse: make it easy to see that. And yes, show when identified users are involved – but don’t ditch pseudonymity as an account option.
Allow action on a subgraph, slowdowns and freezes. Up until now we have just described readonly tools. Through the same graphical view, identify subgraphs to be acted on. Allow operators to enforce slowdowns in tweeting – the tweet is still sent, but after a number of minutes or hours. The advantage of being able to set say one minute is it will be less obvious investigation is going on. A freeze is a halt on posting until further notice. The operator can choose to freeze or slowdown any dimension of the graph – eg a hashtag, or all people who posted on that tag, or all people in a clique replying to certain users with a certain word. This is similar to a stock exchange trading halt. This has to be a manual action because its based on human judgement and linguistic interpretation. Finally allow account deletion, but not as a mass action.
Capture and export all this data for use by a law enforcement agency you are willing to collaborate with.
Open the API and share at least some of the toolset source so people can get perspective on the shape of an attack when it happens. And of course, don’t do this at once – start with simple read only monitoring and iterate rapidly. Remember that the system will be gamed. Keep the poets out of gaol.

Link From Twitter

Twitter have damaged their phone app by adding a feature. This is a problem software is particularly prone to, so let’s sift through it.

I was surprised to find Twitter useful. It had originally seemed a concentration of the least interesting ingredients of online culture: celebrities wittering moments from their shadow lives in a medium where smalltalk was enforced by a strict character limit. That’s not wrong, but it is incomplete. Twitter can be rendered functional, for me, by following interesting people, who link in depth, and by dropping anyone who emits more than two dozen undirected tweets in a week. 

Despite my faddish embrace of the medium du jour, two of the best discussion groups I am a part of are still closed mailing lists of mutual friends. It is also easy, with mail, to copy other random people that might care. This electronic mail thing really seems to have a future. Someone should look into that.

With this use pattern, and the primacy of the smartphone in a busy life, a fair proportion of the times I find something cool on twitter involves mailing a link.

Until recently, the email composed by twitter consisted of a link, my default signature, and an empty subject. This wasn’t great. Typing a subject, like typing anything on the phone, is a bit of a pain. Blankness is lousy microcontent, a terrible breach of information etiquette for a platform focused on short semantic bursts. Feedly – heck even Safari, dog that it is – at least has the sense to use the title of the web page in question.

Twitter fixed this bug. The latest version of the app sets email subjects to “Link from Twitter” and, as well as the link, adds a note to “Download the official Twitter app here. The fix of course is worse than the bug. Not having a subject just looks careless, like leaving your fly undone. “Link from Twitter” looks like somebody paid you €5 to tattoo an advertisement on your arse and then moon out car windows.

The time spent to delete that guff and replace it with something more meaningful is time wasted. Pretty much anything would be more meaningful to most recipients, who care about what was sent, not how it was sent. The empty subject is better. The subject “lol” would even be better, as at least it tells the audience about the content instead of whether it was sent by carrier pigeon or whichever. This is true even if you drink from the twitter firehouse; then you waste even more time.

If Twitter really thought it was important to squeeze some self-promotion into my email, they would find a way that added to my user experience. Why are people using the tool in the first place? It’s for snippets of content in a social network context. I don’t care that something came from Twitter, but I might care that it came from a particular user on Twitter. Maybe quote the tweet the link originated from, or mention the @user. Maybe link back to that tweet. Maybe I followed a few onward links, and am mailing that, so provide a breadcrumb trail of that history with a chain of vias. Do neat things that bring people into your conversation. Don’t make my email look like a spam. And don’t waste my time.

VIII.9 Made to follow a path

子日,民可使由之,不可使知之。– 论语 八:九

The Master said, ‘The common people can be made to follow a path but not to understand it.’ — Analects VIII.9 (Lau)

The Analects is addressed to students of government from an aristocratic class (君子, gentlemen). Confucian Software is addressed to software developers, and the fundamental analogy is that the audience is the same: Confucius instructing software developers on becoming gentlemen and sages.

So the differences between gentlemen and the common people are important. We should distinguish the gentleman (who is educated) from the people (who are not) and the small man (小人) who has no understanding or respect. (See Analects XVI:1.)

At first glance this passage is Confucius at his most snobbish and feudal. The people, or the common people (民), can only be driven down a path and are devoid of thought and understanding. This is the same word now used in the People’s Republic of China (中华人民共和国), the word democracy (民主) or all of Sun Yat-sen’s (孙中山) three principles of the people (三民主义). So it can be rather off putting for we moderns.

Indeed, it sounds more like the brutally effective carrot and stick of Lord Shang (商鞅) and the Legalists (法家) than gentle old teacher Kongzi. Passages like this show how the Han dynasty could create the political philosophy of Imperial Confucianism (as John King Fairbank terms it) – the fusion of a Confucian public morality with the real-politikal techniques of Legalism to run the sausage factory of government. The Legalists found just how far you could push realpolitik without public morality when the common people revolted and overthrew the short-lived Qin dynasty (秦朝), which established the Chinese empire, but could not make it endure.

The relationship of the developer to her users via code is that of the scholar official to the people via the bureaucracy. It is also isomorphic to the GUI model view controller pattern.

People Scholar Bureaucracy - Model View Controller

Users walk a path laid out by the code, and beyond a certain point, can take no other.

The code too can be made to follow a path, when we constrain and verify that a path is followed. This is the purpose of testing, to ensure deterministic repeatability. Without testing, there is no engineered path. There is just walking.

When we anthropomorphize software by describing it as thinking, it means we do not have sufficient control on its internals and environment. (By calling the people code we are automatomorphising people as much as we are anthropomorphizing code.) Code cannot think. Once thinking creatures are built on code we should no longer deal with them as code.

Can users be made to think (know, understand)? Ah, you laugh! Feudalism is not so dead after all.

Code certainly cannot be made to think. Nothing can be made to think. And this is also the more generous interpretation of Confucius’ intent. You cannot make the common people  understand a path, you can only lead them to understanding. The meaning of a software system is generated by this interaction.