About a bot: Materiality, multiplicity, and memory in the study of software agents


Stuart Geiger (@steaiou)

Stuart Geiger

Editors’ note: The next post for our Ethnographies of Objects edition is by one of the people who inspired it when he talked about an ‘ethnography of robots’ for EM last year. Stuart Geiger (@staeiou) is a PhD student at UC Berkeley’s School of Information and long time Wikipedia editor who has been studying Wikipedia bots for many years and who has brought us really great insights: not only into how Wikipedia works but also on new ways of thinking about how to do ethnography of largely-online communities. In this thoughtful post, Stuart talks about how his ideas about bots have changed over the years, and about which of the images below is the “real” bot.     

A few weeks ago, Heather Ford wrote to me and told me about this special edition of Ethnography Matters, focusing on the ethnography of objects.  She asked me if there was something I’d like to write about bots, which I’ve been struggling to ethnographically study for some time.  As I said in an interview I did with EM last year, I want to figure out how to ethnographically study these automated software agents themselves, not just the people who build them or have to deal with them.  Among all the topics that are involved in the ethnography of objects, Heather briefly mentioned that she was asking all the authors to provide a picture of their given object, whatever weird form that may take for bots.

At first, I started to think about the more standard epistemological questions I’d been wrestling with:  What is the relationship between the ethnographer and the ethnographic subject when that subject isn’t a human, but an autonomous software program?  What does it mean to relate an emic account of a such a being, and what does ethnographic fieldwork look like in such an endeavor?  How do classic concepts like agency, materiality, and the fieldsite play out when investigating what is often seen as more of an object than a subject?  What do we even mean when we say ‘object’, and what are we using this term to exclude?  I could take any one of these topics and write far too much about them, I thought.

As always, after jotting down some notes, my mind started to wander as I entered procrastination mode. I shelved the more ‘theoretical’ questions and moved to what I thought was the easier part of Heather’s request: to provide a photo of a bot.  I thought that finding an image would be a fun diversion, and I had so many great cases to choose from.  There were humorous bots, horrifying bots, and hidden bots.  There were bots who performed controversial tasks, and bots whose work was more mundane.  There were bots I loved and bots I hated, bots that were new and bots that were old.  There were bots I knew backwards and forwards, and bots who were still a mystery to me.  I just had to find an image that I felt best encapsulated what it meant to be a bot, and then write about it.  However, I didn’t realize that this simple task would prove to be far more difficult than I anticipated — and working out how to use imagery rather than text to talk about bots has helped me come to articulate many of the more complicated issues at work in my ethnography, particularly those around materiality, multiplicity, and memory.

bkk

My desk in Bangkok, where I wrote this essay

I’ll begin with the first of many images in this essay. Here I am on July 26th, 2013, at my desk in my apartment in Bangkok, Thailand — where I have been spending the summer.  On my laptop’s screen is this very document, a representation of a bot that you’ll come to know, soon enough.  I include this image not for the sake of being annoyingly hyper-reflexive, but because it is an image that works to situate the telling of this story. I’m not sure if I’d be telling the same kind of tale about a bot if I was back in the Bay Area. I’ll spare the details, but what is important for this essay is that I’ve been reflecting far more on my own past than I normally do.

If I had written this essay about a bot six months ago, it might have assembled the same basic elements, but it wouldn’t be the same thing.  Even more importantly, the essay wouldn’t be about the same thing, as what the bot is as an object for me has changed.  That’s the lesson of this stroll down memory lane — which I don’t dare to over-legitimate by calling it an ‘auto-archaeology’ or something like that. While we often associate objects with physical matter (which we oppose to immaterial ideas and so on), I like to think that the opposite of an object is instead a subject.  In this sense, objectivity and subjectivity are co-constitutive, so what objects are is multiple, fluid, and ever-shifting — and that isn’t a bad thing at all. This multiplicity of objects can be seen in how we work to assemble the many different kinds of traces that mark the absence of their presence. I’ll spare you from having to suffer through a literature review on post-structuralist metaphysics and get to telling you a story about a bot.

So here, in an air-conditioned refuge from the sweltering summer heat of Bangkok, I went searching for an image of a bot. I thought about which of the many bots I’ve known would be best documented in imagery — images to which I had access, that is.  The answer seemed obvious: it would likely be AfDStatBot, the Wikipedia bot I had built and operated in 2008-9, when I was first studying Wikipedia’s Articles for Deletion (AfD) processes. Hundreds of Wikipedia articles are nominated for deletion every day, and editors have to discuss whether or not each one should be kept or deleted.  As its name implies, AfDStatBot was created for my quantitative research purposes, to archive and capture statistics on these deletion discussions in real time.  However, it also served a few secondary purposes, using this data to give back to the community I was also ethnographically studying.  I could say that this was part of my participant-observation as a Wikipedian, but it just made sense that if I was capturing and analyzing this information, I ought to use those resources to make the lives of other Wikipedians easier.  It’s just what you do.

AfDStatBot would generate lists of active and recently closed deletion discussions, with statistics such as how long the discussion had been open, how many participants were in favor of keeping or deleting the article, when the last comment was made, and so on. For the few who opted in, it curated personalized watchlists that helped Wikipedians keep track of all the deletion discussions they had participated in.  Finally, in what was more of an exercise to see if I could do it, the bot posted to Twitter (@WikiWars) every time it saw a new article nominated for deletion. It wasn’t the most popular or important bot on Wikipedia by far — most of the bot’s followers on Twitter were random auto-follow bots — but it did provide a service for a niche audience. A few years later, another Wikipedian would build a much better bot for this task, one that is still in operation today, although that is a different story.

If you want to know about the life of AfDStatBot, you might start with the bot’s userpage on Wikipedia. If we think of AfDStatBot as a user, this user profile is the kind of image that best represents the bot.  Profiles take many different forms, but they have long been the spaces in which software platforms represent users.  In Wikipedia, these “user page” are technically little more than special wiki pages, meaning that anyone can edit anyone else’s profile — as I typically did for AfDStatBot.   Like most bot userpages, there are several curious elements that indicate this profile is different from that of most human Wikipedia editors.  There is a large, red power button that administrators can use to stop the bot from operating if it begins to malfunction.  There are warning templates at the top that tell the reader that the account is a bot operated by me, and that it is a “legitimate alternative account” — a notice that is somewhat of a legacy from time when bots were far more contested and controversial in Wikipedia.

In a single line in an infobox on the righthand side of this user page, there is a link to a formal approval from the Bot Approval Group, which I had to petition before legitimately running my bot. If we think of bots as ontologically similar to that of laws, in a kind of Lessig-esque fashion, then this approval is perhaps the best image to represent this bot.  It contains a series of potential concerns that were made about what my bot was to do and how it was to do it.  In order to be accepted as a bot operator and for my bot to be accepted as a legitimate bot, I had to translate the bot into text that others could come to understand and evaluate. This didn’t take long, although my proposed rate of editing for updating the statistics pages was deemed too high, so I lowered it.  All of this was recorded, captured, and preserved for a number of socio-technical ends, serving to represent the collective intent of the Wikipedia’s administrative apparatus.

What you may not learn from the bot’s userpage or its’ request for approval is that AfDStatBot has since left Wikipedia and Twitter, although its traces in those spaces do remain.  As another mode of visual representation shows — screenshots of its Wikipedia contribution history and Twitter feed — my bot abruptly ceased all activity on June 1st, 2009. The last recorded action the bot made was at 5:30pm EST, when it saw a new AfD open for the article “K38IM,” a low-power repeater for an Illinois-based Christian television network. It saved it in its database, posted this development to Twitter, and, if it stayed online for just a few minutes more, it would have included this new discussion in its regular half-hour update to the AfDStatBot information pages on Wikipedia. But it didn’t.

Instead, for what has been just over four years, the bot went offline and never logged in again. As with so many other Wikipedia editors who suddenly stop contributing to the project, the bot’s userpage remained in the same state it was in for years, representing a user who was no longer present. If we see bots as processes in action — that is, if what bots are is to be found in what bots do — then these traces of activity are perhaps what best encapsulate what AfDStatBot was. They relate what the bot did every single day, serving as a diary of sorts. By June 1st, 2009, the bot had seen 23,240 articles nominated for deletion, each of which it tracked to the best of its ability. From the edits it made to the statistics it presented to the affordances it created, these traces of the bot’s activity were how it became known to others in Wikipedia.

Furthermore, these digital traces are what help us understand not just what the bot was back then, but what the bot is now: something that once was, but is no more. As such, these transaction logs are also traces as Derrida defines the term, as they mark the absence of a presence. For me in 2013, the bot as an object is no less ‘real’ now than it was in 2009, although what it means for it to be real has certainly shifted.  Now, I could talk about digital traces and process philosophy in the abstract for hours, but I want to now talk about a different set of traces of AfDStatBot, traces which tell a quite different narrative about what this robotic entity was and is. And like so many stories, this one begins not with broken code, but rather with broken hearts.

See, June 1st, 2009 was an emotional day for me, one I’ll remember for some time — and no, not because it was the day my bot died. Back then, I was living in Washington, D.C. while attending Georgetown University, and I had just finished my M.A a few weeks before.  My bot had been running on my own personal desktop computer in a corner of a tiny apartment in Dupont Circle, where I had been living for almost two years with my partner at the time. We had recently broken up, and our lease ended on June 1st.  We had both found new places to live and had been moving our stuff out of the apartment bit by bit, but June 1st was the date we had to get everything out.  These things always take longer than you expect them to, and in every move, you inevitably leave some things behind.

At the time, unplugging my desktop computer and taking the bot down was the least of my concerns. It seemed that everything in my life was in a state of transition, and I was already shirking obligations that were far more pressing than my bot.  Besides, my Master’s thesis on Wikipedia — the original reason I developed the bot — was done, defended. I didn’t need to collect any more data, and as everyone feels after a big research project, I was certainly ready to take a break from Wikipedia for a little while. To be honest, I don’t know if I even remembered that the bot was still running on that computer when I shut it down and took it to a storage facility on U Street. There were a lot of things I lost that day, from the many physical and digital objects I threw away or destroyed, to parts of myself I wouldn’t know were gone until weeks, months, even years later.  That evening, as I entered the sterile apartment in Southeast D.C. which would never really be home, I was struggling to work out a lot of changes in who I was, but the fact that I wasn’t a bot operator anymore didn’t even register to me.

Now in 2013, I’m looking through a different set of digital traces — photos I took with my smartphone, archived deep in backups I hadn’t seen in years. Searching through date fields in EXIF metadata, I easily found memories of that summer day when we moved out and moved away. By the time the photos below were taken, I had already moved the computer and the desk it sat on into storage.  I can tell because that computer — and therefore my bot, in one sense — lived in the corner of this room, situated in this cramped space such that the bathroom door couldn’t open nearly as far as it does in this picture.  In the photo on the right, you can still see the ethernet cable where the bot’s HTTP requests were transmitted to the router, a cable that once ran neatly above the bathroom door, then later fell along the carpet floor.

Me in front of the computer that ran AfDStatBot

Me in front of the computer that ran AfDStatBot

After finding these photos that traced my bot’s absence, I tried to find a picture of the machine itself.  This ended up being much harder than I imagined — both technically and emotionally — as I had to search through photos others had posted on Facebook in addition to my own archives.  The best I found was a photo taken on November 4th, 2008, a much happier day, which was the day Barack Obama was elected.  If you look closely at the monitor, you can see the electoral map from what I believe was the New York Times’ website. You can’t see the desktop computer itself, only the screen and keyboard, but this is the physical location from which AfDStatBot performed its tasks.  That was where you could find the magnetic bits which constituted its MySQL database and the CPU that executed its algorithmic instructions. That was where it received power from an electrical outlet it shared with an air-conditioning unit struggling to keep the D.C. summer heat at bay — two Sisyphean machines, side-by-side.

It was much easier for me to find the bot’s source code and even the database it used, as I had many complete backups I made when I began data analysis for my thesis.  However, I didn’t want to start this story by talking about code and data.  I have found that many of us who study software love to talk about code and data, which are certainly an important part of what software is and how it operates.  Yet there is a tendency to consider source code to be the essence of what a software program is, as if source code is the mind while hardware is the body — a position that does simplify things, and one I’ve certainly found myself holding at times.  In this sense, hardware is seen a mere vessel for what is more important and interesting: the algorithms in codebases and the information in databases.  If we think of bots as something like human, Cartesian subjects with minds and bodies, then these photos of its source code and database tables certainly represent two parts of what could be said to be the bot’s mind.

If you want to know what AfDStatBot was, looking at the code and data will tell you a number of things you may not be able to otherwise know.  Understanding what it meant to make this bot socially literate can be seen in how it used traces that were left in the creation of internal MediaWiki categories to detect new deletion discussions. Wikipedia-wide infrastructural policies about how much load bots could place on the server can be seen in rate-limiting functions that are bundled with each request. The bot interacted via Wikipedia’s Application Programming Interface (API), which had been specifically designed to enable bot development — a situation that is not always the case in today’s CAPTCHA-heavy platforms.

These are all socio-technical artifacts in two senses of the term, as they are both technological artifacts as well as artifacts of a certain social and historical situation. Someone who can read PHP could walk through my poorly-written, poorly-documented code and would be more or less able to understand what that bot was doing at any given point in time. However, to understand the social history of where that code came from and why it was written in the manner that it was — that requires a method beyond knowing how to just read code. Reading code as mode of inquiry can be quite revealing, but it requires an relational, networked, infrastructural understanding of code and how it is situated in many different kinds of spaces.

Still, it is tempting to think about source code in an essential fashion, especially when I could have “just” taken a few hundred kilobytes of source code and run them on a different server. If I had done this, the bot may still be running today. There are a number of bots that still run on shared servers even though their original operators have not been seen for some time, their absence only visible when some new update in an API or a database module breaks the bot. Depending on what we consider to be the ‘object’ of the bot, source code can be said to work to constitute what the bot is.

But if I had not chosen to run that bot from that tiny apartment I shared in Dupont Circle, would it have been the same bot?  What if, from the beginning, I had decided to run my bot on the toolserver, a shared server funded and maintained by a group of German Wikipedians for all kinds of purposes, including bots?  The bot may have run the same code in the same way, producing the same effects in Wikipedia, but it would have been a different entity. If you want to know what AfDStatBot was, you have to understand how it was the kind of bot that I literally pulled the plug on, without so much as a second thought.

Not all bots have these kinds of emotional stories behind them, and I don’t want to give the impression that my relationship with my bot is at all universal or representative. That said, it is incredibly important to understand that bots are autonomous programs which tend to be run on a computer that is distinct from the servers running the platform the bot interacts with.  In a different model of collaborative software development, the algorithms that I wrote for AfDStatBot would have been implemented directly into the software platform.  They would have run on the Wikimedia Foundation’s servers in Florida, maintained by dedicated staff whose job was to keep this material infrastructure running, 24 hours a day.

If this were the case, then the functionality I created for Wikipedians who participated in deletion discussions would have been preserved when the project stopped being a priority for me.  However, the reasons for writing a bot rather than a patch are complex, and bot developers choose to implement their code through a bot rather than integrating their code into a platform for many different reasons. Part of what it means to be a bot operator involves not just taking responsibility for software development and algorithms, but the hardware which runs those algorithms. I didn’t, and so I stopped being a bot operator — although it took nearly three years before someone realized this and added a small trace to my bot’s userpage that flagged my bot as inactive.

To conclude, the primary lesson I draw from this assemblage of stories and images is that the stories that we tell and the traces we follow can reveal the ontological multiplicities of what entities like bots are.  As an ethnographer, I have found that I have to work to understand all the different, contradictory contexts in which bots are understood to have some seemingly-essential constitution.  We can think of a bot as a user account in a platform, a task authorized by a social group, cyborg subject positions to be inhabited, routinized procedures or activities in the world, algorithmic instructions to be executed, material infrastructure that can fall apart, or as personal obligations that can lose priority. We can use any number of theories, concepts, metaphors, or analogies to represent the complex relations of humans and non-humans who collectively constitute the bot as both an object and a subject.

Which is the ‘real’ bot? I say that they all are, depending on where you look.

Featured image by mutednarayan on Flickr CC BY SA

Tags: , , , , , , , , , , ,

4 Responses to “About a bot: Materiality, multiplicity, and memory in the study of software agents”

  1. August 29, 2013 at 2:02 pm #

    Wow! Great read.

Trackbacks/Pingbacks

  1. August 2013: Ethnographies of Objects | Ethnography Matters - August 20, 2013

    […] will talk about the ubiquitous hyperlink, Stuart Geiger (@steaiou) will bring us images and thoughts on Wikipedia bots, Andie Tucher will present us with a fascinating “faked” photograph from the 19th century and […]

  2. Materiality, multiplicity, and memory in the study of software agents | norismo - August 26, 2013

    […] August 13, 2013 | staeiou | 0 Comments […]

  3. Wikimedia Research Newsletter, August 2013 — Wikimedia blog - August 31, 2013

    […] Stuart Geiger: About a bot: Materiality, multiplicity, and memory in the study of software agents Ethnography Matters, August 13, […]

Leave a Reply