I’ve been seeing more and more mentions of Twitter recently. I joined up a few months ago after the SF Tech Session on mobile communities, but I just put the badge up on my page today after seeing it pop up a few other places. Also at the tech session was TextMarks, who have a widget interface to their SMS keyword service. I like the remixability of the whole thing. I wonder if services like these are going to be able to keep going given the intentions of the carriers to try to determine what the boundaries between one service and another are, but I certainly hope they will.
In particular I like the Twitter feature where I can get updates via IM when I’m logged in, and switch to the phone when I’m away. I haven’t actually used it yet mind you, but I like the idea. I’ve been fooling around with some messaging services on my own, setting up my server so that it sends me an IM when I get emails and streaming other significant events to me. And if I’m not on IM it picks an important subset of that stuff and sends me an SMS instead.
Some people recoil in horror as soon as I mention anything of the sort, equating notifications to the ultimate evolution of the “always on” shackle where you can’t escape work no matter how hard you try. Like the crackberry addiction, but pulling from more than just email. That’s not what I’m talking about however. The Blackberry issue is normally a constant interruption and manual filtering by a real live human.
I want intelligence amplification (IA). And yes, you can think of IA as pretty much the inverse of artificial intelligence (AI). It’s just an application of the same ideas as machines in general (taking rote repetitive tasks and automating them) and applying it to some level of event handling. In order to keep on top of my daily job I have a bunch of stuff I need to pay attention to - there are machines that need to be up and running and responding to requests quickly, network connections that need to be in order, customer support requests, questions from other developers, trouble tickets, subversion checkins, emails from partners and service providers, and actual person to person emails from the folks I work with. And while all that is going on I need to figure out how to interview potential recruits, design new features, code them up, and test them.
The design/code/test stuff is particularly hard to deal with, cause interruptions have a much greater effect than simply the direct loss of time. Once you get pulled off track it takes you a while to get back to where you were. However I can’t ignore the servers just cause I have a feature to get out. Fortunately the rules about what to send to me while I’m coding and what to keep quiet about are pretty simple (anything from Nagios, the local monitoring service, or our hosting provider let through, everything else leave in the queue but don’t alert me about). I just want to be able to migrate the filtering thread from my head to my server, where it gets a much more fair share of resources anyway.
Right now “the system” just a mishmash of maildrop scripts, regular expressions, XMPP requests, a few HTTP request loops, some RSS, and modest gobs of Ruby to pull it all together. I’m sure there’s a better way to represent all the stuff, a way that might actually benefit and make some sense to someone besides myself. I’ve been meaning to setup a SVN repository for exactly this kind of hackery, which tends to move around from one system to another faster than I can remember where I put it. Is there existing stuff out there that I should be looking at before I dump a bunch of time into my own monstrosity?