You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
4.2 KiB
60 lines
4.2 KiB
4 years ago
|
Title: Materiality of Bots
|
||
|
Slug: 02-s6-step-2
|
||
|
Date: 2020-11-01 12:01
|
||
4 years ago
|
Summary: Code, APIs and background processes.
|
||
4 years ago
|
|
||
4 years ago
|
In order to imagine in what kind of ways bots can intervene in an infrastructure, we will study the materiality of bots.
|
||
4 years ago
|
|
||
4 years ago
|
Their materiality can be unpacked through three technical ingredients of a bot making process:
|
||
4 years ago
|
|
||
|
1. **code**
|
||
4 years ago
|
2. **APIs**
|
||
4 years ago
|
3. **background processes**
|
||
4 years ago
|
|
||
4 years ago
|
### Code
|
||
|
|
||
4 years ago
|
The first ingredient will not come as a surprise: **code**.
|
||
4 years ago
|
|
||
4 years ago
|
A bot is a script: an executable file that sits on your computer or on a server. Code is used to describe *how* the bot makes a connection, *what* functions it has and *when* it comes into action.
|
||
4 years ago
|
|
||
4 years ago
|
There are a whole range of programming languages that a bot maker can use to make a bot. The choice for a specific language is often based on the preference of the programmer. However, the choice for a programming language can also be based on the availability of a so called *library*: a friendly wrapper that enables a programmer to interact with an API.
|
||
4 years ago
|
|
||
4 years ago
|
### APIs {#APIs}
|
||
4 years ago
|
|
||
4 years ago
|
If we talk about the relationship between communication infrastructures and bots, we cannot escape talking about the **API**.
|
||
4 years ago
|
|
||
4 years ago
|
The term API is an acronym for Application Programming Interface. It is an code-based interface either between multiple applications or between the programmer and a platform, such as Wikipedia, Reddit, Whatsapp, Twitter or Mastodon. Not all communication infrastructures have an API, it is a decision of the owner of the infrastructure to make one. Having access to an infrastructure through a programming interface is not a default. Also, every API is different and each one comes with its own rules and constraints.
|
||
4 years ago
|
|
||
4 years ago
|
Taina Bucher[^bucher] defines an API as an infrastructural device that is shaped (and shaping) many different elements:
|
||
4 years ago
|
|
||
4 years ago
|
> Among other things, web APIs encompass: a physicality in terms of the corporeal landscape of infrastructure and technology, through to the economic logics at work (i.e. business models, ownership, licencing of the APIs), functions and services (i.e. access to data), practices of users (i.e. forms of labor, play and collaboration), discursive formations (i.e. statements, knowledge, ideas), rules and norms (i.e. design principles, terms of service, technical standards), as well as social imaginaries and desires.
|
||
4 years ago
|
|
||
4 years ago
|
When looking at APIs from a technical perspective, we see a set of rules that applications use to communicate with each other. This apparently neutral conception is in reality a very complex conglomerate of imaginaries, whether technological, economical or societal.
|
||
4 years ago
|
|
||
4 years ago
|
Essentially the API determines how the platform developers imagine it will be used by other developers, revealing a relationship of imbalanced power. It welcomes interventions as an opportunity to expand the functionalities beyond what the original developers might have imagined. On centralized infrastructures this often results into generating more economical value in the end.
|
||
4 years ago
|
|
||
4 years ago
|
To sum up: a bot is written in **code** and uses an **API** to interact with an infrastructure.
|
||
4 years ago
|
|
||
4 years ago
|
### Background processes
|
||
|
|
||
4 years ago
|
To run the bot, we need one last ingredient: a so called **background process**.
|
||
4 years ago
|
|
||
4 years ago
|
A computational *process* is nothing more then a running script. In the simplest version, this can be done from your own computer. In a more complex version, you could upload your script to a server and run it from there continuously as a **background process**.
|
||
4 years ago
|
|
||
|
Why would you run a bot continuously?
|
||
|
|
||
4 years ago
|
As bots usually operate over a long period of time, you might not want to run them from your own computer, as this means that you need to keep your computer on all this time (imagine you want to keep a bot running for a year!).
|
||
4 years ago
|
|
||
4 years ago
|
Instead, bot makers often run their bots from a server as a *background process*, which allows them to be continuously active without any further intervention from the programmer.
|
||
4 years ago
|
|
||
4 years ago
|
These three ingredients—*code*, *APIs* and *background processes*—provide insight into the technical materiality of bots.
|
||
4 years ago
|
|
||
4 years ago
|
In the next page we will zoom into the features and constraints of *programming logic*.
|
||
4 years ago
|
|
||
|
<br>
|
||
|
|
||
|
## Footnotes
|
||
|
|
||
4 years ago
|
[^bucher]: Bucher, Taina. "Objects of Intense Feeling: The Case of the Twitter API" *Computational Culture 3* (2013) <http://computationalculture.net/objects-of-intense-feeling-the-case-of-the-twitter-api/>
|
||
|
|