Saturday, December 12, 2009

Introducing Moralist

I love Twitter lists. Really. I think they’re one of the most important features Twitter has rolled out in the past year, even more than geotweets.

First off, I think they’ll slowly be the end of Follow Friday. Why plug people one day a week when you can have a list of people you suggest all the time? Even better, you can have multiple lists, organized by topic.

More importantly, though, lists mean I can have multiple timelines. I have my main timeline of people I follow all the time. When they say something, I want to see it. (I haven’t completely cleaned up my following list yet, but I dropped more than 100 people when I started using lists.) There are a lot of the people who are funny, but I don’t need to see every tweet from them. They’re on my @ivey/funny-people list, and I read them when I have time.

The problem is, not only do I have my list of funny people, but I also follow a few other people’s lists of funny people, like @Favstar/rising-stars and @Favstar/top-50-funny. There’s a lot of overlap between these lists, which means I see the same tweets 2 or 3 times. That bugs me.

So I fixed it. First, I made a little library called, creatively, twitter-lists. It uses the twitter gem to do some set-based operations on Twitter lists, mainly Union and Intersection. It’s not fully fleshed out yet, but it’s usable. Patches welcome.

Then, I made an app that uses it: Moralist. Moralist makes it easy to combine lists in interesting ways. I’m using it to merge @Favstar/rising-stars, @Favstar/top-50-funny, and @ivey/funny-people into a single list, @ivey/hah. This is the list I read when I have a few minutes and need a chuckle (although Favstar’s Favit iPhone app is replacing it, but that’s another story.)

Anyway, try it out. It refreshes once a day, it crashes sometimes, and it comes with no warranty. If people find it useful, I might bump it up to a paid Heroku plan, but for now it meets my needs so I’m leaving it alone.

PS: here’s a snippet from Moralist to make a twitter-auth app able to use the twitter gem using the same set of keys:


Follow me on Twitter. I don't have comments enabled, because I remember when we didn't have blog comments, and we did just fine, thank you very much.