YoruFukurou (Night Owl) is my indispensable Mac OS X twitter client. It's the only client I've found that supports tweet filtering, not just simply muting of tweets so that tweets I might not to see now can still be read at a convenient time later.

It also happens to be a very good client for someone who likes to keep track of which tweets have or haven't been read, which is useful if you choose to (eventually) read every tweet in your timeline. As long as the application doesn't restart, it can hold tens of thousands of unread tweets, all nicely organized into various tabs. If I wanted to, I could leave Yoru Fukurou running at home on a computer, go out of town for a week, and everything would be there when I got home! This is a tall ask of an Android Twitter client, but as someone who does try to manage unread tweets, I wanted to see how close I could get.

Like any other twitter client, Yoru Fukurou is restricted to fetching the most recent 800 tweets at a time upon checking for new tweets. But, if it already has older, unread tweets, it can keep them. So in addition to all the highly configurable tabs I can create, I can be pretty confident that I'm also catching all the tweets I want to read.

Until recently, I hadn't found a mobile client that worked well for keeping up when I was behind on unread tweets. Mobile apps appear to work the same way the Mac OS client does: upon startup, they can fetch the most recent 800 (or so) tweets. I suspect the difference is that while a desktop/laptop application can sit open and running, and therefore not "start up" every time you choose to bring it to the foreground, a mobile app will eventually "close" if it hasn't been used for a while. So, while Yoru Fukurou keeps previously-fetched tweets as long as it remains open, mobile apps simply haven't been able to stay open in the background long enough to function effectively in the same way.

One of the full-featured, customizable Android Twitter clients I've used for a while is TwitPane. It can post multiple images in a tweet, can play inline video and various other little niceties. However, it's really only convenient to use when I'm already more or less "caught up" on Twitter. Like the other clients, I can refresh to get the next 200 or so unread tweets. I can do this four times to get approximately up to 800 tweets, if necessary. When I have read all of these, I can then refresh again to get the next batch of 200 tweets, and again, do this up to four times.

My Twitter timeline in Twitpane.

The problem with relying only on this method for unread tweets is that I can never get more than 800 tweets behind in my timeline. Since, contrary to popular belief, I don't actually live on Twitter, this is a situation in which I can often find myself. Especially given how frequently we travel, a full day of flights and trains without wifi will cause my timeline to pile up. And of course, when we're traveling, we often want to, you know, go out and enjoy the places we're traveling to! Again, a busy day of sight seeing or urban exploring (with a laptop locked up in a hotel safe, not sitting collecting unread tweets) can present a challenge when you're trying to (eventually) read every tweet.

In Twitpane, if I refresh my twitter timeline, the app automatically jumps to the position of the newest tweet of that batch of (at most) 200 tweets just retrieved. So, I can't hit refresh until I've actually caught up within the app itself, or else I have just whizzed by all the "previously fetched but currently unread" tweets. The app takes me immediately to the "just now fetched, but currently unread" position. To Twitpane's credit, it will hold the older tweets, so I can refresh, then manually scroll (and scroll and scroll...) to figure out where I was before I hit refresh. And yes, I'm not above doing this, but it does mean looking at the timestamp on the tweet I'm currently on so I know where to scroll back to. So, while Twitpane is a very nice client to use in the moment, and is in fact the app I'll often use to tweet photos while I'm out and about, it's not a "Twitter solution" like Yoru Fukurou. It does require a little more manual work to figure out which tweets have or haven't been read. But, it does seem like it will hold a LOT of tweets (the stated option is 2000), just not in an easy-to-navigate-other-than-scrolling-ALL-the-time fashion.

Enter another Twitter client: Tweecha. It's equivalently full-featured (though sometimes frustratingly, not the exact same features) and customizable (though not the exact same customization options). Same but different. Choosing between the two will really boil down to matters of preference, as I find them both to be quite good clients. However, Tweecha is the only client I've found with a particular refresh behavior: when you hit refresh in Tweecha, you can grab the next (at most) 200 tweets without losing your current position in your timeline.

My Twitter timeline in Tweecha, showing 932 unread tweets

If you care about managing unread tweets, then this is a game changer. This means that I can be 200 or 400 or 923 tweets behind on my timeline, hit refresh and I can still grab the next (at most) 200 tweets to add on to the nowhere-near-visible end of my timeline. This comes closest to operating the way Yoru Fukurou does on my Mac. It's not perfect, but it opens the door to potentially using Android as a primary unread tweet manager. In fact, I could rely solely on Android for unread tweets, with the two following provisions:

  1. As long as I don't "back out" of Tweecha, it appears to still be "open" on my phone, and therefore won't be subject to only fetching the last 800 tweets that occurs on restarting the app. To switch to a different app, I have to remember to either hit the home button or use the recent apps soft key to switch apps.

  2. In order for this to work best, I do have to manually refresh Tweecha before 200 more tweets have accumulated on my timeline. During "peak Twitter" hours, my timeline may rack up 200 tweets in about an hour, and the rest of the time, the volume is lower. So, it's generally safe for me to refresh every hour and be confident I'm not missing tweets. Conveniently, as long as I haven't "backed out" of Tweecha, it still appears to be capable of holding my position and unread tweets for at least an hour, often much longer. So, in theory, as long as I remember every hour to go into Tweecha and hit refresh (no matter where I am in my timeline, and even if I don't read any further), I can still rack up the unread tweets.

Is this a replacement for Yoru Fukurou? Ultimately, this app still requires a little too much "babysitting" to use the way I use Yoru Fukurou. (On its own, it's fabulous. It's just difficult to expect it to do what a constantly-running desktop app can do.) I can reproduce the unread tweet management features, but only with user-input, and a distinct lack of user-error... and as dedicated a Twitter user I am, I'm just not that reliable of a twitter user! :P

Other noteworthy thoughts:

  • The app can fetch up to the last 800, but only 200 in one refresh. Both Twitpane and Tweecha give a "read more" option if there are more than 200 tweets to refresh. However, this "read more" option is visible only at the position of the first recently-fetched tweet. So, if I'm not at the top of my timeline, I won't see this option until I get there. If I'm very far behind, then by the time I've scrolled to that position, I may be unable to refresh that missing section of the timeline.

  • Given that I have an embarrassingly expensive and restrictive Canadian cell phone plan, I have my Twitter clients set only to "refresh manually" rather than stream or retrieve every few minutes. For instant notifications, I have enabled email/SMS notification on Twitter's website, so I don't need any of my Android clients to communicate with me urgently. I also do this to conserve battery life. What would be an interesting idea would be to see whether I (and by that, I mean Joe!) could write a script to automate manually refreshing Tweecha's timeline every hour. Another option is to send myself hourly reminders through ToDoist or Google Calendar to refresh my timeline, although this is still somewhat of a manual solution and I may not always be somewhere I have access to data or wifi. I haven't yet done this for an extended time, so I haven't pushed Tweecha to the limits of how many unread tweets can be held in my timeline. That is my project for today.

My Twitter timeline in Tweecha, showing more than 3000 unread tweets

UPDATE: After about 36 hours, and about 3600 tweets, I'm pretty confident that Tweecha can handle a LARGE number of unread tweets. (I might have experimented longer, but I awoke this morning to software update that wanted to install. I put it off for a while, then gave in and was forced to declare unread tweet bankruptcy on Tweecha.)

  • Um, what about lists, Sarah? Yeah, that's still not the answer to my problem. Firstly, as great as Yoru Fukurou is with respect to your timeline (and perhaps because Yoru Fukurou is so great with respect to your timeline) it sucks for list support. In theory, you can have tabs that are lists, but these are limited to approximately the most recent 20 tweets. So, I just never got into lists in the first place because they don't mesh with my Mac workflow. Secondly, you don't see tweets directed at people you don't follow, nor can you (generally) send/receive direct messages without following. So, following is pretty important, in the grand scheme of things, for cultivating a good twitter experience. Not to mention that following can let another person know you're there, and can help others decide (based on whom YOU follow) whether you share common interests and are worth following. So, lists are really not a good substitute for following people, both for you and for others. Therefore, I'm determined to find (or hack) a solution that allows me to follow all the people I want to see tweets from.

  • Even in the course of writing this post, while fetching screenshots from the phone I accidentally "backed out" of Tweecha and am back to only about 800 unread tweets. (It's very early back home, as I write in Eastern Europe, so I was only up to about 944 tweets anyway.) This demonstrates that even though I'm acutely aware of the babysitting I need to do with this app to make it work, I'm going to mess up from time to time. So it's really no where near being a fool-proof system yet.

  • Yes, I know what I really want is RSS for the individual streams of each twitter person I follow!!! I have put more thought and experimentation into that than you know. The issues there are many, not the least of which is that Twitter decided they didn't want people turning streams into RSS, so the methods for setting up just one individual RSS feed are complicated and tedious, and some methods just randomly stop working. The concept of a timeline, even a filtered one, is close to being something I could set up on my own. (By default, you'd be reading each individual person, one at a time.) I can do it by users, grouping people into folders of RSS, thereby creating a stream of tweets from a subset of users that can then be read in chronological order. I wouldn't have my Yoru Fukurou filtering, but given that we're only addressing the unread management issue, I think an RSS-based solution to this problem could work... if it weren't such a production just to get ONE SINGLE user's feed.

  • If I have and like Yoru Fukurou, why do I care about an Android app? My Mac is getting a little old and finicky, and I'm already running into issues where two beloved programs simply won't run if I upgrade to the latest current version of Mac OS (so I'm an OS behind right now)... and one of them can't display properly on a retina display! And that's my photo management/editing software, so the visuals are kind of important there. I'm not sure how much longer I can keep "living in the past" on old hardware and software to accommodate the old-but-good applications I continue use. That's why I've been extensively experimenting in Android, and even researching Chromebooks, to see just how far I could take the platform and whether, when the time comes, I can live entirely in that ecosystem.

App Links:

-- YoruFukurou (Night Owl)

-- TwitPane

-- Tweecha