Goodnight Sweet Tweets

Zzzz (a.k.a. Bonne nuit les Tweets, a.k.a. Goodnight Sweet Tweets, …) is a Twitter visualizer built in Processing that tracks Twitterers as they count their electric sheep. It grabs the latest tweets that use “zzz” or “zzzz” and animates them with some simple vector-based graphics. It’s as simple as that.

One of the more obvious things about Twitter is its’ whole zeitgeist vibe. I’m currently fascinated along with everyone else about the evolving nature of this latest fad beast. Twitter is not just one thing, as our recent 140 character sketches hopefully made clear. People are using it as a chat service, I used it last summer as my own private AP wire, it’s used as a link-sharer, a help-wanted system, a job-hunting system, well-wishing, hate-mongering, and so on. Again, this is all the obvious stuff.

Zzzz Screenshot

One of the knee-jerk reactions to Twitter concerns its’ narcissistic tendencies, à la Flutter — in other words the whole vanity of it all. And sure, this is indeed one aspect of it, as was the case when blogging came along. But as it is an emerging phenonomenon (although perhaps just a fad), I’ve found it interesting to follow pricisely this narcissistic aspect, and noticed as part of this reading the charming human touch of people saying good night not only to their peers, but to the equivalent of the stars, the world-at-large — a kind of mini bottle-to-the-sea. That is indeed pure vanity, vanitas, or vanité from vanus, a.k.a. « empty, void of meaning »; I am going to sleep, I am turning off my communications medium and I am communicating this fact to you. I have nothing to say but merely, goodnight, which is a structural communication or perhaps a close cousin to the speech act: herein ends our ability to communicate. But again, this speech closure ritual has a certain poetic quality in that it is addressed at once to one’s peers, but also in a public medium to a public at-large, as a form of address to ones-not-known. I suppose there are many blogs out there that say “I’m too tired to blog”, and literature is filled with examples of writers on the edge of sleep. But once I’d noticed this trope on Twitter, it was amazing to see how consistent it is, even across languages that do not even share the “Zzzz” form: all day long, people are saying goodnight, and in many different countries. If I had done a map visualizer along the line of Smule’s Ocarina, one would probably be witnessing a steady progression around the globe.

I actually started work on this a few weekends ago, but I didn’t have the time to finish it as Eniarof came around (more on that later) and took all my time. I know the graphics are a little hokey, but I actually like it that way. I originally tried something more sophisticated, but while doodling in a vector graphics program I came up with this idea and it stuck.

Oh, before I forget, I should also mention that there is a stripped-down TwitterSearch code example over at the Happy Code Farm on getting Twitter searches into Processing. It deals with the whole applet sandbox problem which Daniel Shiffman discusses over at Learning Processing. You can start from there in order to make your own Twitter zeitgeist visualizer. If you want something more complex with the possibility of digging into profiles and getting specific tweets, there are some Java objects out there (Twitter4J and Java-Twitter), and Brenda Moon went even so far as to send me an in-progress version of a romeFeeder example she’s working on (thanks Brenda!). But in the end, my needs were far simpler and getting search xml off of Twitter is amazingly easy (despite the fact that I lost a good 24 hours trying to figure it out, RTFM!). It took little more than a simple thread and the type of xml code we worked with in the Programmation Web workshop in February.

And finally, although this visualizer should work with the current Twitter API restrictions, there is no guarentee that I won’t hit my quota since everything is streaming through abstractmachine.net because of the sandbox issue. I’ve tried applying for an API bandwidth increase, but couldn’t figure out the form. It says input IP’s as CSV (Comma-Separated Values?) but something as simple as that of course needs an example for dopes like me. I’ve sent out a request to Twitter, but if someone could explain to me what a CSV is supposed to look like, the comments section is open.

Oh, and for anyone who has not had the pleasure of meeting The Sandman (Ulysse), Gros Ours, Nicolas and Pimprenelle, here is a special accordian-themed « Bonne nuit les petits ». Faites de beaux rêves !