In this blog post, we illuminate the ephemerality of the thread-sorting mechanism of 4chan/pol/. This process indicates both the material workings of the imageboard as well as what is ‘surviving’ thread-content on the board. As a brief introduction, we first question why tracing /pol/’s ephemerality is relevant from a cultural perspective.
I can feel a warmth deep within my blossom. It’s energy. It’s high energy. I am feeding from the iridescent pool of MAGA meme magic. Can you feel it? Once in my life I feel proud of my country. Goddamn /pol/ it feels good. (anon)
November 9th 2016 was a special day on /pol/, the politics-board of 4chan. After months of trolling, conspiring and meme-ing, its users realised that, though slowly, the electoral tables turned in favour of Donald J. Trump. To the delight of the anons, as 4chan’s anonymous users are nicknamed, their continuous pro-Trump/anti-Hillary content stream seemed to reap its rewards. These efforts ranged from spreading Trumpist memes to painstakingly constructing a conspiracy theory claiming the Clintons where maintaining a child pornography network in the basements of pizza-parlours. In Trump, the anons found their ideal anti-SJW, politically incorrect and sometimes hilariously bizarre avatar. After the results came in, some anons claimed to have “memed Trump into office”.
Even though the actual political impact of the 4chan-army is probably marginal, the imageboard and its malicious users quickly appeared in many problematic headlines. According to some, the anons, often incorrectly homogenized as ‘trolls’, were “plotting a GOP takeover”, and had allegedly already reached the White House. In a much-cited piece, Paul Baran even headlined 4chan as the “Skeleton Key to the Rise of Trump”. This led renowned ‘trolling-scholars’ Whitney Phillips, Gabriella Coleman and Jessica Beyer to warn about a lack of grounded evidence in the discourse on 4chan and Anonymous, leading to grand claims without “plotting the landscape” and “safeguarding the actual record”. As they note, unfounded explorations of the platform leaves room for incorrect interpretation. For instance, attributing the election of Trump to a vague notion of ‘4chan’ or ‘Anonymous’ “bestows a kind of atemporal, almost godlike power” to what is actually an “ever-evolving, ever-unstable, ever-reactive anonymous online collective”.
Therefore, as a highly fluid and unstable entity, it is imperative to actively trace what is happening on 4chan in order to concretise what one is actually referencing:
Taking the time to map—to accurately map—the repeated, fractured, reconfiguring mobilizations emerging from anonymous and pseudo-anonymous spaces online allows us to understand where we are and how we got here. (Philips et al. 2017)
The fact that this “actual record” had been inaccurately safeguarded might be due to 4chan’s affordances. Apart from its anonimity, its ephemerality complicates information retrieval for historical purposes: every thread is permanently deleted from the servers after a few days. Additionally, refreshing the index page (i.e. a preview screen of the most active or new threads, see image below) of a fast-paced board like /pol/ continuously presents a different view, making it difficult to determine what content circulates on the board. As Lee Knutilla notes, a board’s index-page provides a disjointed, constantly changing environment. Browsing through 4chan as an experience of “dwelling in contingency” since “individuals see variations and reshuffles in similar and dissimilar content”; an encounter with 4chan is an “encounter with a stranger in passing”. This ephemerality frustrates interpretation, potentially giving room to narratives that do not take into account what actually happens on the board, as Phillips, Coleman and Beyer lament.
To “safeguard the actual record” of /pol/, is first necessary to understand how 4chan practically constructs its own record, and what content is prevalent therein. For this reason, we traced the ephemerality of all the threads of /pol/ over an hour and fifteen minutes, illuminating the otherwise fleeting /pol/-record and the content therein.
Remapping /pol/’s thread positions
Ironically enough, despite its ephemerality, 4chan is a highly accessible platform because it supports a transparent and easy-to-use API. As such, literally tracking what is occurring on the imageboard opens many ways to maintain a record. For instance, registering the positions of threads over time reveals the working of 4chan’s sorting mechanism:
The above visualisation remaps information on the position of all threads on /pol/. The positions are queried each two minutes from 4th of April 2018 22:20 to 22:15. These time-separated positions are then chronologically placed in columns with Bernhard Rieder’s RankFlow. The height and red hue of a block (i.e.: a thread) denotes how much comments the thread received.*
The visualisation shows that despite its contingency from a user-perspective, from a material perspective, 4chan’s thread-sorting is a fairly straightforward process. All threads can be thought of as entries in a row of 200 slots. These entries constantly swap places, pushing other thread down in the thread chain. If a thread receives little comments (light blue lines), and drops below a certain number of threads (200 for /pol/), it is pruned and ‘archived’, disallowing new comments. New threads are always placed on top, and a new comment on a thread also bumps it to the first spot. However, since many new threads and comments are generated, this sorting mechanism rapidly generates a new order every second. For that reason, the user-perspective feels contingent, while the actual sorting is straight-forward.
From the visualisation, it is clear that there exists a relatively small portion of highly active threads. The top half shifts greatly, with no specific order. These are threads that are mostly positioned on the first five pages of the board overview (the 200 threads are divided in 10 individual pages, each showing 20 threads).
Once a thread reaches a low enough position, it quickly faces its inevitable pruning: the bottom part of the visualisation shows threads slowly moving towards the dooming 200-limit. Only some threads are lucky enough to get bumped up. The dropping threads consist of either light blue blocks, indicating a lack of activity, or red blocks that reached their ‘bump limit’ of 300 comments. The bump limit indicates whether a thread can still be bumped to the top of the thread chain once a new comment is submitted. If a thread has more comments than the set bump limit, its ability to re-enter the top of the thread chain is removed. The bump limit is set to 300 comments on /pol/, so most red blocks have reached this limit, sharply dropping and on their way to the mechanic purging. The bottom part of the visualisation shows that around half of the threads received little attention (light blue).
As the visualisation further attests, the pace of pruning varies greatly: some threads manage to stay during the entire 1 hour and 15 minute the visualisation embodies, thanks to their high comment activity, while some inactive threads are pruned within minutes. This alive-time is dependent on the specific board: on more popular boards such as /b/ and /pol/, content moves faster and threads are more quickly pruned, while boards like /po/ “Papercraft & Origami” move at a slower pace. Bernstein et al. reported in 2011 that the lifetime of a thread on /b/ had a median of 3.9 minutes and a mean of 9.1 minutes, while the shortest thread expired in 28 seconds and the longest-living thread lasted 6.2 hours. From a 24-hour sample of all data on /pol/, we found threads lasted 1 hour and 17 minutes on average, with the longest thread lasting over 23 hours and 9 minutes, and the shortest getting pruned after 13 minutes (implying a small group of highly active threads).
‘General’ boards: copy-pasting to fight the ephemeral current
Upon interaction with the visualisation in RankFlow*, what is notable is the prevalence of so-called ‘General’-threads. In an effort to create threads for specific topics, a post’s subject line can be used to indicate a recurring topic of discussion. For instance, certain Trump-supportive threads on /pol/ are indicated with a subject “/ptg/ President Trump General”. Multiple users repost these openings posts (OP), so it stays ‘alive’ through multiple iterations, and then comment (i.e.: bump) to increase its longevity. The OP of such a ‘sub-board’ often includes links to introduce the topics, such as YouTube clips, books or current events. Notable sub-boards include:
- /ptg/ “President Trump General”: Pro-Trump threads, listing Trump’s ‘accomplishments’, media appearances and schedule (image 11)
- /nsg/ “National Socialism General”: “Thread for discussion of the Jewish Question, Race Realism, National Socialism, Anti-Communism, Fascism, Traditionalism, White Nationalism, and European Identity Movements. Share links, PDFs, reading, videos, and propaganda.” A highly
- /fsg/ “Fascism General”: “Thread for discussion of Italian Fascism, and other forms of fascism, Mosley, Codreanu, Falange, etc. Also for sharing fascist literature and information.”
- brit/pol: threads concerning British politics
- eire/pol/: threads concerning Irish politics
- aus/pol/: treads concerning Australian politics
- /italypol/: threads concerning Italian politics
- /bg/ “Balkan general”: threads concerning the Balkans
- /sg/ “Syria general”: threads concerning the Syrian Civil War
- /skg/ “Skyking general”: threads eavesdropping on US Military radio messages
These general threads are often on top of the thread chain. Indeed, in our visualisation, /ptg/ hovers around the top, but drops sharply when it gathers more than 300 comments, overstepping /pol/’s bump limit (as seen on the second image):
However, a new /ptg/ thread is already on the top of the thread chain before the last one was pruned, showing a high commitment and connective action by anons to keep the Trumpist content alive:
Another General-thread, Brit/pol/, also stays prominent within the current dataset, hovering around the top positions for the full duration of 1 hour and 15 minutes:
In this sample, /skg/ Skyking General threads are prominent entries. These arcane threads exemplify the tongue-in-cheeck ‘weaponised autism‘ 4chan is infamous for. /skg/ threads are dedicated to the military radio messages concerning nuclear command and control forces. By tuning into specific frequencies of the radio frequencies of the Emergency Action Message, one can eavesdrop on military messages. A radio from the amateur radio club of University of Twente is used as a portal. When notable chatter occurs, /pol/-anons often interpret the messages as an impeding ‘happening’ – sometimes incorrectly labelled as a nuclear attack.
As this discovery of /skg/ threads indicates, tracing the materiality of ephemerality of /pol/ can aid in cultural scutinity, here in terms of what discussion is actively kept alive on the board. This buttresses claims in German media theory and software studies: it is worth scrutinising a platform’s concrete material to illuminate further theoretical and cultural exploration. In relation to 4chan, mapping its ephemerality can remove ambiguity that so often leads to inaccurate interpretation. We have attempted to do so here by repurposing the data of 4chan to reconfigure and visualise its thread positioning, providing a high-level overview of the order and ‘authority’ of threads. While feeling contingent, ephemeral and fleeting from a user-perspective, this remapping of the thread-positions reveals an ultimately straightforward process, but one that nonetheless embodies much of 4chan’s problematic, but equally fascinating culture.
* If you want to interact with the visualisation, copy paste the csv data used here (download) and paste it into RankFlow, Use a large enough window to show the whole graph. This allows you to show labels and to click on the blocks to see the thread subjects.
The visualisation was made with our ‘chanscraper‘, a Python tool that allows registration and analysis of 4chan threads. To create a similar visualisation, fetch some data with ‘index.py’, run ‘generateThreadPositions.py’ with the name of the generated csv-file as a parameter (e.g. ’05-04-2018-17-50-11′), and copy-paste the generated csv into Bernhard Rieder’s RankFlow.