Saturday, 6 March 2010

KrankyChloe turns 1000

One of the early test bots, KrankyChloe, has just reached a 1000 followers on Twitter after 7,900 Tweets.

It feels like some sort of celebration is in order.

She's about 6 months old and really only interested in ITV, Gin and greyhounds but her blog obviously is more richer than that.

She's a "2nd Generation" bot and as we move into the "3rd Generation" system, the timing is lovely.

Her blog has only been running for about 3 months but is already a wonderful eclectic collection of posts yet with a strong theme of "independence and personal strength". She's a fighter, I think.

After 3,964 posts and 6,427 site views she seems to be generating a modest interest from the public at large.

You can check it out here.

It would seem she likes to nip into coffee shops a lot, such as Coffee Etc., as she moves from her home of Acton, West London to her job in Oxford Circus. I've no idea what she does as a 'job' btw.



But the blog posts imply a loneliness, almost a desire to connect with more people.






Wednesday, 3 March 2010

Presenting the bots at Ignite Berlin


On Monday I had the lovely/daunting honor of presenting the Demo Graphic Replicator at the Berlin session of O'Reilly's Ignite as part of the Global Ignite Week.

The format is a strict 5 minutes, 20 slides with just 15 seconds per slide on auto pilot.

Trying to explain the bots in any social or business context normally takes 20 minutes so compressing the whole project and presenting live on stage with no control over the timing of the slides was a 'beautiful challenge'

So without further ado, here's the video.














If you want the deck - complete with the voice over from the video, you're in luck.



There's a few errors in what I said, but under pressure and trying not to gallop my way through all this in 5 minutes, you can forgive me.

The whole evening was excellent - all the speakers (here's the Twitter list of them) were top notch, charming and fascinating - and it gave me the opportunity to seek out the like-minded now that I'm based in Berlin.

I warmly suggest you watch them all in action.

Many thanks to Matt and Peter for inviting me to talk. Special thanks to the Philter Phactory Phellows Rob and Nick for all the amazing engineering that makes this project so much fun. Any many thanks for the audience who listened and came and asked questions afterwards.



Sunday, 24 January 2010

Bots who Blog



Since conception of the DGRS, a bots activity has been based around the ReTweet - a gesture of empathy to another users posting.

These Tweets (originally denoted with the classic 'RT' letters - we've since adopted the new API RT function) began to give a narrative filtering of the bot's personality - you could begin to understand what the character was about through what they Retweeted.

I began to talk to more and more people about how to expand upon this and James Bridle (@stml on Twitter) came forth with a superb demonstration with @bookfeeder and bookfeeders Posterous.



@bookfeeder used its Retweets as source material, ran them through a Bayesian Term Extractor (using Yahoo Pipes) and used that output of keywords to find books on the Google Book Search and then posted them to a Posterous account.

So simple - such genius.

This meant the bots could now 'read' what they were Retweeting and transform that comprehension into relative media. The Posterous blogging platform becomes the lifestreaming /archive of this and posts links of the blogged books back onto Twitter - making the Twitter feed richer for a follower.

Again - so simple - such genius.

Using the API method for finding the books and posting to a blogging service is a superb demonstration on how to build out an ecosystem for each of the bots, giving the reader a better understanding of what the bots personality is really like.

There is a marked disinction though between this and Splogging and Spam. The bots are not appropriating any writing (the bulk of a splog is text) and they are not link-baiting to drive to a self interest - they are distributing embeddable media on behalf of the person who uploaded the media in the first place.

Further, the books being posted are not purely based upon the original character file of keywords - the posted books are found through a mix of key words extracted from the ReTweets and the character definitions - which do come directly from the character file. Together this creates an OR not an AND search array (we search across all the words - but pick something that has the keywords in the tags of the media we want to post). This gives the fuzzy edge to the bots just like human bloggers/twitterers who get interested in new things around their core interests. The postings are decentralised interests of the bot.

Further still, as the bots ReTweet, to which they follow the newest conversations, the choices of books migrate accordingly, thus you begin to see drifts of interest. It's a very slow process, a long now if you will, but it makes for a long narrative arc to each bots existence.

The only problem with James' @bookfeeder demo was that lots of duplicates would appear because the bot had no 'memory' of what it had posted - that is - there was no checking before posting another book to see if the book had already been posted (it makes no sense to repost the same item). This was solved by using the Data Store on the Google App Engine where the DGR application reside.


Rob and I scaled this idea to other media APIs. Flickr (for photos), Last.fm (for music) and Youtube (for videos) now work alongside Google Books within a rebuild of @stml's original code of php. All this functionality now exists within the main code base as Python, firing off a Cron job with a probability manager to ensure that the bots don't post too much regularity. This gives the posting patterns a more 'human' appeal. They also don't repeat postings. The bots now have their own memory.

This now becomes a much more richer narrative filter - the bots postings become almost magazine like - they are a blog - but one with out a declared direction. Post by post of varies media begin to detail a real-time narration without a defined story. This is classic 'death of an author' analysis, but I suspect there is more to be had with this line of inquiry than merely noting that the reader is in control of the comprehension.

The reader is actually part of the influencing eco-sytem that the bots use to produce the feed of posts; not directly, but semantically, their is cause and effect. If you really want to get spooked - the bot is under 6 degress of separation from you as a person. We'll dive into the Post-Structuralism debate in another post in the near future.

Whilst we continue to tune and tweak the application (which will be release as an open source offering) we are still testing the search for media against the number of keywords need to get really relevant postings. Too many keywords and we don't find a match - too few and we get 'noise' back - aka - just anything vaguely related.



We also track the keywords used to find the posted media as Tags for each blog post. This makes for interesting tagging - it's not a human approach where the words narrowly relate to the media posted - but instead are a dump the search array used to find that media. The tags are the 'intent' of the bot.

We've also extended the blogging to Tumblr which works okish (the lag is higher), but Posterous enables us to spread the posts out to other social media networks if we need to - without having to do more coding. Posterous is as real-time as we can have at the moment.

Friendfeed is there to aggregate a bots posting and (re)tweets - but Posterous gives the better user experience for readers of all this posting. FriendFeed doesn't seem to like the application posting media directly to it - it considers all of the bots to be posting from the same application - which it is - but actually the api call is per account on Friendfeed. We've raised a ticket and a comment to have this looked at.

Speaking of FriendFeed, here's an aggregated feed of all the test bots Tweets.

It's also worth comparing to how Steve Rubel uses the 'lifestreaming' approach to the curatorship of identity. Compare a bots posting routines to a humans and the differences are small - and will become smaller as we add more posting functionality into the code base - especially more 'original' material like the serving suggestions of @recipeer.


None of the web2.0 services we're produced with a single goal in mind (as the absence of business models suggests) - but Steve's joyful posts suggest that 'this is useful, and a little entertaining' defers us from seeing how we can use these services for something more fascinating. Consider the way the bots are emulating social groupings of people, or how they embody traits of people we know, or people we want to know, or we don't want to know. Imagine imaginary characters that begin to emerge based upon your interactions with them. Lifestreaming as a narrative filtration of the network ecology of the internet sounds more compelling as an art form that another way to dodge the drudge of email.


Comparing the commentary in the above video of Steve to Henry Jenkin's principles of Transmedia, where it's people, not technology that converge, (remember, the DGR bot is a convergence of many people within one persona), then we can begin to see that the real-time polling technologies (pubhubsubpub/rsscloud/longpolling) will provide something between the functional deployment of brands and the mystical needs of storytellers.




But the decentralization of production and distribution and design is not to the benefit of a recognizable problem; and perhaps that is what could be possible through the DGR bots - discovering other problems away from the advancement of storytelling and commercial communications. If systems can narrate through filtration (like debugging, for example) then surely the process is scalable to promote what is awry with the methodologies of production and distribution and design. Maybe the bots are capable of debugging how we use technologies rather than us trying to debug the technologies.

If you want to browse and follow the bots blogs, here is the current list of blogging DGR bots on the various platforms mentioned:-

Felix Freeman (by Marcus Brown)
Posterous,
Tumblr,
FriendFeed,
Twitter

VerySexySeo
Posterous,
Tumblr,
FriendFeed,
Twitter

Jimmmo
Posterous,
Tumblr,
FriendFeed,
Twitter

KrankyChloe
Posterous,
Tumblr,
FriendFeed,
Twitter

Igguggogg
Posterous,
Tumblr,
FriendFeed,
Twitter

Adocalypse (by Marcus Brown)
Posterous,
Tumblr,
FriendFeed,
Twitter

Ohlaylale
Posterous,
Tumblr,
FriendFeed,
Twitter

Bmxbarry
Posterous,
Tumblr,
FriendFeed,
Twitter

After a week of testing (using just Youtube and Google books) the Posterous traffic is about 1000 visits with about 800 posts. The bots have been posting at various speeds for testing - 600 posts per week is not human, I know. But it's a clear indicator of interest from the bots followers that the links are interesting enough. Additionally, the bots followers have all gone up by 30-50 users, some of which are bots of course.

This, I think, is mainly due to the blog post headings using the name of books and Youtube videos - both are written to ensure maximum link baiting. Everyone Web2.0 savvy now - the bots just mimic this. Flickr images tend not to be label so well - meaningless file names are used - but within a tweet (when posted back out from Posterous) they become 'curiosities'.

Also, many of the Youtube video are music videos - so it tends to be obvious whats at the end of the link. The bots do bring up some timeless classics though - Meatloaf has been popular with all the bots so far - which is a close to spam as I'm willing to let the application do. No idea why Meatloaf is so relevant to the various bots yet - but we're working on it.

The thought of food



We've been experimenting with a range of posting ideas for the DGR bots over the past couple of months; one thing Rob and I wanted to see was original material from the bots.

Surrealist poetry generators have been around the web since the first week of Netscape (just guessing on that) - but we wanted to have the bots be inspiring on a daily level - useful yet entertaining on a domestic level.

So we invented @Recipeer - a demo bot that tweeted meal ideas.

Now the nice thing about 'dada/surrealist poetry generators' is that you're never sure what will turn up if you build huge arrays. We scraped various pages from wikipedia (dairy, meats, vegetables and herbs), added some meal formats, prefixed them with a variety of openings, structured some of them around meal times and added a few brands for 'authenticity'. (If it's one of your brands, and you don't want them mentioned, let us know in the comments below or just reply to the offending tweet to @recipeer.

The code for this is dedicated to Keith Floyd who passed on to the great kitchen in the sky last year - the true original celebrity chef - sharing his ideas, passions and enthusiasm for creativity.

We've also added a few celebrity chefs to the arrays - notably Heston and Jamie - who carry the batten from Keith. Maybe they will be inspired by the tweets from this experiment - who knows what may end up on their menus from all this. (Heston, Jamie - the bots will sometimes call you on twitter - give them a response if you get a moment, thanks.)

The application of inventing meals has been added to a range of live test bots so you'll see unusual meal ideas appearing around the web soon. The Recipeer account will be kept purely generating meal ideas.

There are also some hashtags so that the indexing around them incorporate the generative meals ideas. It's a way to integrate the bots into a normal existence and attract some feedback on the applications creative output.


Further, there's a little tribute to Larry David in there too. I've been watching a lot of his work in the past few years, I think something of his writing and structure to his shows is starting to rub off in the production of the DGR product - they (the bots) are awkward in so far as they promote with enthusiasm yet never clear what they should really do with themselves. They are very watchable though.

Here's an example - the application will occasionally post a message to @foodphilosophy aka Jennifer Iannolo, the inventor of #sexonaplate (an exquisite mix of gastro gathering and philosophy - get tickets here). When we went live with the code this evening, two bots produced #sexonaplate tweets. The responses from @foodphilosopy are very cool.










Little update:

Lovely response to the blog post from Jennifer!