Some notes on the ongoing decline of Twitter for its non-human users, with lots of fractal links out to other things I’ve written in the past.

I’ve been messing around on Twitter for a really, really long while. Not just typing in the box about my lunch, but also making daft things that live on it. And it turns out I’ve been writing about that place and those things for quite a while too.

The earliest thing I wrote about Twitter here was, I think, about it as some kind of universal, human-readable, messaging bus. Norm reminded me of this online a while ago, and rereading that, this whole post began to snowball in my head.

I wrote it around the time the Jodrell Bank telescopes started tweeting. Their posts were only loosely human readable… but I’d definitely characterise them as human-interesting: they were the burbling, background-noise of life going on – except this time, it was things talking about doing things, not people talking about doing things. The flickering of the metaverse.

That post is a rare discovery for me: something I almost entirely agree with, eleven years on, and that acts as a useful touchpoint for so much of my later work. I won’t summarise it again; it’s worth a re-read, if only to see what it looked like something could be circa 2007, with only the simplest functionality to go on.

Also: it was an idea that sparked something in me, and would act a little as a lynchpin for a succession of projects.

It also coincided with my programming capabilities being… less terrible. At the time, I worked around the corner from Tower Bridge, and one lunch-hour in 2008 I put together a small piece of code to scrape the publicly published list of bridge times and publish to Twitter roughly when the bridge was opening or closing. Not out of a sense of a utility, though. If anything, I just wanted to see what it’d be like to share my timeline with non-human actors that figured in my life.

I wrote about @towerbridge when I launched it. The image illustrating the post has gone since Skitch went offline; the bot itself has moved and is non-functional right now. But the idea holds true; it still feels like a robust one – and a foundational one for me. And this paragraph is something hugely fundamental for me:

As a note on its design: it’s very important to me that the bridge should talk in the first person. Whilst I’m just processing publicly available data on its behalf, Twitter is a public medium for individuals; I felt it only right that if I was going to make an object blog, the object should express something of a personality, even if it’s wrapped up in an inanimate object describing itself as “I”.

Good actors in systems behave according to the rules of those systems. At the time, Twitter asked you What are you doing?, and so you needed to answer that. If you want a great example of this, the code behind Jim Kang’s wonderful Appropriate Tributes is a fantastic read – it does a lot of work to do its best to respond sensitively, not barge in on conversation, or pick up on inappropriate topics; that feels like base-level interactions for making a non-human actor.

Twitter was a perfect combination of a simple API, a strong set of constraints, and permalinks. It was the easiest place to publish tiny content-y things, give them permanent URLs, and make them web-ish. So more toys followed, that I wrote up. An automated joke. An endless box of chocolates, my first foray into Markov chains and statistically-generated prose (oh, the amount of time I’ve spent explaining that Markov chains know nothing about language). Four bots that sounded like they were hunting zombies together. (A bit of a hack, that: Twit 4 Dead was really four actors reading a prepared script together, rather than genuinely responding to each other. I started work on the latter for a set of bots built around Left 4 Dead 2’s characters, but it never saw the light of day.)

Even recently, I’ve made a fun content-generation bot with CBDQ that spits out endless plots for pastiche John Le Carré novels. (My absolute favourite feature of that grammar is that a valid value for the $SURNAME option is $SURNAME-$SURNAME, meaning it’ll very occasionally spit out double-barrelled surnames, all thanks to the magic of recursion. I’ve only once ever seen it triple-barrel something).

Some of them stuck around; some of them died fast; some of them aged and I couldn’t fix them. But they all let me tickle particular itches. And, as I’d always imagined, they slotted themselves in alongside the burble of my friends and peers, little robot voice amidst the backchannel that floated in the top right of my screen. I enjoyed this, even knowing how this simple party-trick machines largely worked: most of my bots were just gags or toys folded into the stream of posts. I knew they weren’t sentient, weren’t “writing”, just assembling strings from probability. But they made the place feel different.

The writing was on the wall for quite a while. I remember when Tower Bridge disappeared. It turned out the username had been requested by the official exhibition, who according to the terms of use probably did have more of a claim to it than I. I was doing all this a long while before blue ticks, remember. I got the thing back up and running, but it wasn’t quite the same. Seven years ago, I could already see that I was not the type of user the platform was` looking to court.

The changes in August 2018 to the Twitter APIs meant that lots of interesting types of automated accounts just aren’t possible any more. Some have been taken down; other have withered. An art commission I worked on is now unable to function.

I hear about bots on Twitter in the news now, but it’s come to be a vernacular term for “automated accounts of foreign powers and agencies used for nefarious deeds” rather than “automatic content machines for charm and whimsy and art“. I understand why automatic content is most commonly equated with malicious action by platform owners – but I’m still allowed to miss a world that once was.

Every time I see a bot that’s doing new, or interesting, or unusual things, that raises a new smile, I am glad someone else is still doing this. Every time a creator like Darius or Allison announces they’re no longer working in the medium, I am at once saddened and entirely onboard with their reasoning.

Web 2.0 really, truly, is over. The public APIs, feeds to be consumed in a platform of your choice, services that had value beyond their own walls, mashups that merged content and services into new things… have all been replaced with heavyweight websites to ensure a consistent, single experience, no out-of-context content, and maximising the views of advertising. That’s it: back to single-serving websites for single-serving use cases.

A shame. A thing I had always loved about the internet was its juxtapositions, the way it supported so many use-cases all at once. At its heart, a fundamental one: it was a medium which you could both read and write to. From that flow others: it’s not only work and play that coexisted on it, but the real and the fictional; the useful and the useless; the human and the machine.

At the end of William Gibson’s Neuromancer, two AIs that are at the very boundary of legal capacity merge. (Fictional legal capacity, that is: Gibson imagines future laws that restrict the capabilities of AIs). They join, and disappear into the Cyberspace matrix, a new machine intelligence beyond what was previously possible. In Count Zero, set seven years later, new beings – the derivative fragments of that previous intelligence – roam Cyberspace freely, sometimes interacting with humans by manifesting as the Loa of voodoo, using us to achieve their goals and shape our reality.

A second plot device in the book involves tracking down the maker of a series of boxes that look a lot like Joseph Cornell’s work. They’re not Cornell pieces, though; they’re new, being made throughout the plot. In the end, their maker turns out to be another machine, working away in an old corporate space station, making boxes from its fractured dreams with commandeered manipulator arms.

That machine is the smartest of the machine sentiences in Cyberspace, and a ringleader for the others. But the Boxmaker has chosen not to engage with humans directly. Instead, it hides away, and makes art for itself.

As a response to the vastness of Cyberspace, that seems entirely reasonable to me.

In the real world, the terms and conditions have changed. It is 2018, and I miss being friends with a bridge. One age of Boxmakers is coming to an end; I’m most sad that they won’t be making any more boxes of their own.

Last weekend, BERG invited a selection of friends to participate in their first Little Printer hackday. Over the course of a short Saturday, we were asked to explore the API for making “publications” for Little Printer, and test them out on sample devices.

I had a few ideas, but decided for expediency to return to my “Hello World” of connected things: Tower Bridge.

My publication would be something you could schedule at pretty much any time, on any day, and get a list of bridge lifts in the next 24 hours (if there were any).

I could have made this a very small, simple paragraph, to fit into a busy list of publications. Instead, I decided to explore the capacities of the Little Printer delivery as a medium.

I was interested in the visual capacity of the Printer: what could I communicate on a 2-inch wide strip of paper? All of BERG’s publications to date have been very beautiful, and the visual design of publications feels important – it’s one of the many things that distinguishes Little Printer, and I wanted to try to aspire to it at the very least.

So I built an Observer’s Guide to Tower Bridge, based on a chlidhood of Observer’s Guides and I-Spy books. As well as listing lifts for the next 24 hours, I’d show users pictures of the boat that would be going through, so they could identify it.

Image001

I also visually communicated which direction upstream and downstream are. I don’t think it’s immediately obvious to most people, and so the “downstream” icon shows that it’s towards Tower Bridge, whilst the offset of the “upstream” icon illustrates that it’s towards Big Ben and the Millennium Wheel. It felt like a natural way to make this clear visually, and was economical in the vertical dimension (which is one of Little Printer’s bigger constraints).

Image002

Early versions showed a photo for every lift, which turned out to make the publication too big: I needed to shrink that vertical axis. I did this by only including photos of an individual boat once per delivery – you don’t need multiple pictures of the same boat. The second time a boat passed through the bridge, I instead displayed a useful fact about it (if I knew one) – and otherwise, just the lift time.

Image003

By making the publication shorter, I also avoided an interesting side-effect of running the printhead too hard. The grey smudging you see above is where the printhead is running very hot having printed eight inches of bridge lifts and photos (it prints bottom-to-top, so the text is the “right way up”). Because I’d printed so much black up top, it seemed like the head had a bit of residual heat left that turns the paper grey. This is a side-effect of how thermal printers work. You don’t get this if you don’t go crazy with full-black in a long publication (and, indeed, none of the sample publications have any of these issues owing to their careful design) – a constraint I discovered through making.

The Observer’s Guide was an interesting experiment, but it made me appreciate the BERG in-house publications even more: they’re short and punchy, making a morning delivery of several things – bridge lifts, calendar details, Foursquare notes, a quote of the day – packed with information in a relatively short space.

I was pleased with my publication as an exploration of the platform. It’s not open-source because the LP API is very much work in progress, but rest assured, this was very much a live demo of real working code on a server I control. If I were making a functional tool, to be included with several publications, I’d definitely make something a lot shorter.

It was lovely to see Little Printer in the world and working away. It was also great to see so many other exciting publications, cranked out between 11am and 4:30pm. I think my favourite hack might have been Ben and Devin’s Paper Pets, but really, they were all charming.

Lots of fun then, and interesting to design against the physical constraint of a roll of thermal paper and a hot printhead.

Buried, somewhere in the inbox I use for the Tower Bridge account, was an email from Twitter Support. So, let’s get the apology out of the way: Twitter did contact me. It was buried in an old GMail account. And, sure enough, on the first of June, here we go:

Twitter responds to reports from trademark holders regarding the use of trademarks that we determine is misleading or confusing with regard to brand or business affiliation. It has come to our attention that your Twitter account is in violation of Twitter’s trademark policy:

http://support.twitter.com/entries/18367

This account has been suspended.

Let’s see what they have to say at the URL:

Using a company or business name, logo, or other trademark-protected materials in a manner that may mislead or confuse others with regard to its brand or business affiliation may be considered a trademark policy violation.

OK, I can see the reasoning behind that. There’s not much space in the Bio field to explain that it’s not official, but their policy is clear: it doesn’t matter if you were attempting to mislead; if there’s any likelihood of confusion, you’re breaking their rules.

They go on:

  • When there is a clear intent to mislead others through the unauthorized use of a trademark, Twitter will suspend the account and notify the account holder.
  • When we determine that an account appears to be confusing users, but is not purposefully passing itself off as the trademarked good or service, we give the account holder an opportunity to clear up any potential confusion. We may also release a username for the trademark holder’s active use.

OK. So, what they did was the first thing.

There was no intent to mislead. Seriously, what else would you call a bot that did this? I can think of several alternatives, but in 2008, it seemed obvious.

Does it break the current terms of service? Perhaps.

What I’m really, really annoyed by is this: I have not been giving opportunity to clear up the potential confusion. I’ve just had the account suspended, the username taken, and, well, that’s it.

The account didn’t pretend to pass itself off as a trademark, or a registered company, or as anything related to the exhibition that runs within the edifice. If it passed itself of as anything, it was the structure itself. And everybody knows that really, bridges don’t talk, and certainly not that politely. There’s an interesting question – perhaps for a separate, less emotional post – about the relationship between the Instrumented City and the corporations that own the things that are Instrumented – but that’s not for now.

For now: I’m going to pursue this with Twitter, and at least resurrect the bot somewhere. When it comes back, it seems unlikely it’ll be at the original account name.

  • '"We have a real culture of thrift," [Kotick] said. "The goal that I had in bringing a lot of the packaged goods folks into Activision about 10 years ago was to take all the fun out of making video games." And then, to ensure there was no confusion in his message, he added that he has tried to instill "skepticism, pessimism, and fear" of the economic downturn into the corporate culture at Activision. "We are very good at keeping people focused on the deep depression," he said.' Bobby Kotick. What a guy. What a CEO. What a leader.
  • "Designed by Oliver Rokison a teacher at St Paul's School. This project connects to the Tower Bridge twitter account and mimics the movements of the real tower bridge." Fun.
  • "Larva Labs proposes an intelligent home screen that creates a meaningful hierarchy out of a user’s information. Designed for an Android-based handset, our home screen is intended to appeal to Blackberry owners and people struggling with information overload." An interesting experiment; I like being able to vary the level of personalisation on the fly, but am not sure the screen is nearly dense enough for people with "information overload" – it only handles a couple of items in each category without drilling down. The Blackberry's appeal in part is due to its hyper-dense list of information.

Making bridges talk

28 February 2008

I’ve written before about how wonderful Twitter can be as a messaging bus for physical objects. The idea of overhearing machines talking about what they’re doing is, to my mind, quite delightful.

So when I found an untapped data source for such an object, I thought it was worth having a poke. Half an hour of scripting later and Tower Bridge was on Twitter. It tells you when it’s opening and closing, what vessel is passing through, and which way that vessel is going. The times are determined by taking the scheduled time for the “lift” and subtracting five minutes for the opening, and adding five minutes for closing – the official site suggests that, at rush hour, lifts should take five minutes to open and close tops.

That’s it, really; it’s just a simple case of scraping some data and outputting it. It’s not a hugely frequent event, so won’t disturb you very much; if anything, it’s just a little insight into the heartbeat of the Thames.

As a note on its design: it’s very important to me that the bridge should talk in the first person. Whilst I’m just processing publicly available data on its behalf, Twitter is a public medium for individuals; I felt it only right that if I was going to make an object blog, the object should express something of a personality, even if it’s wrapped up in an inanimate object describing itself as “I”.

And, if you want proof that it works… how about this:

Tower Bridge on Twitter

I’d set the server up yesterday; suddenly, this morning, it twittered into life, and we charged out of the office around the corner to the bridge, where the MV Dixie Queen was getting into position for its lift. As it went through, I took a picture. That was a very satisfying moment.

(Thanks to Tom for helping me bash a crontab and a few other server-shaped things into shape. If you’re interested in the technology, which is really not very relevant, it’s about thirty lines of Ruby that glues together a combination of: wget, Hpricot, John Nunemaker’s Twitter gem, and cron.)

Updated June 22nd 2011 with the new URL for the bot, following this whole series of events.