Viewing tweets on delay

Last night, during that brief period after I started watching the Oscars and before I fell asleep, I had an idea:

Twitter clients need a “TiVo mode,” in which incoming tweets are delayed by an adjustable period to match how far behind real time you are.
  — Dr. Drang (@drdrang) Sun Feb 26 2012

Brilliant, right? I was soon informed by smorris76 that Daniel Jalkut tweeted the same idea 15-20 minutes earlier:

Twitter client idea: Time Shift™. Lets you view Twitter as if it it was, say, 20 minutes ago.
  — Daniel Jalkut (@danielpunkass) Sun Feb 26 2012

Oh, well. At least I’m in good company.

Tonight I took a quick look at the source code for Dr. Twoot to see what it would take to show tweets on some sort of time delay. Programming the filter isn’t all that hard, especially after I found this nice JavaScript library for dates and times that includes both the time arithmetic and the datetime string parsing I needed. I have a “tivo” branch running right now that’s giving me my home_timeline and mentions on a two-hour delay. Seems to be working fine.

The problem is figuring out a way to set the delay time without cluttering up the user interface. (To work out the filtering logic, I just set the delay in the source code, which obviously isn’t a permanent solution.) Recall that Dr. Twoot is basically a webapp that’s been turned into a standalone Mac application via Fluid—it doesn’t have all the options a native app would have.

I’ll give it some thought and try to come up with something that stays out of my way when I don’t need to see it. I have time; with the Super Bowl, the Grammys, and the Oscars done, I won’t be wanting delayed tweets until the NBA playoffs.1

I did manage to clean some clutter out of Dr. Twoot a few days ago. The buttons for replying, blocking, retweeting, etc. used to appear in the upper right corner of every tweet all the time. Now I have them act more like the buttons on the Twitter web site—appearing only when the mouse is over the tweet. Here’s a little screen recording showing how it and the user info popup windows work:

In my zeal to keep the file size of the video small, I overcompressed it, which is why you see artifacts left behind by the popups. Next time I make one of these, I’ll be less aggressive with the bit rate setting.

  1. By the way, if you’re wondering what I’m going to do with my tweets when I’m on delay, well, there’s really no way for me to tweet about an event while using this feature. I want it so I don’t see spoilers while watching an event behind real time on TiVo. It’s for reading, not writing.