Friday, September 14, 2007

Managing Twitter Preferences

I've now been using Twitter for over a year and I follow 314 people (to date), with sms notifications ON for the vast majority of them.

I like waking up in the mornings and finding a couple of hundred new messages in my phone's inbox. Reading those messages while lying in bed is, IMHO, the perfect way to transition from that bleary-eyed, just-awakened, half-catatonic state to being lucid and ready to get out of bed.

These past couple of weeks, however, I've been so busy and tired from working late that I've had to resort to turning off sms notifications entirely. I do this with extreme reluctance, because when things get busy, I'm all the more cut off from news of any kind -- I don't watch TV, pick up the paper, or even surf news sites.

The Idea: Saving Notification Preferences for People You Follow

After a couple of weeks of this, I've found myself wishing I could predefine a handful of "Profiles" for my Twitter account. I use the term "Profile" here in the same way that Nokia uses it on their phones -- as a user-defined collection of preferences or parameter settings. Unfortunately, Twitter already uses the term "Profile" to mean something else, so I will use the (more awkward) term "Preferences" instead.

For example, my "Normal" Preference would be:

  • SMS notifications: ON
  • IM notifications: OFF
  • My personal notification settings for each person I'm following
In contrast, my "Busy" Preference would be:
  • SMS notifications: ON
  • IM notifications: OFF
  • With notifications for all followees set to OFF except for those who happen to be:
    (a) Family
    (b) Close personal friends, or
    (c) Newsbots.
My "Online" Preference (meaning I'm actually sitting at a PC with a 'net connection) would be:
  • SMS notifications: Direct Messages Only
  • IM notifications: ON
  • Notifications for followers would be the same as my "Normal"Preference
Ideally, I'd be able to create and name several of these "Preference" settings so I can customize notifications to my heart's content.

So how would I use this? Well, for example, when I get to work, I'd only need to send something like "SetPreference Online" and all my Online settings (as defined above) are applied.

Just before stepping out of the office for lunch, I can then send "SetPreference Normal" or "SetPreference Busy" to switch from IM delivery to SMS delivery, and more importantly, have the customized notification settings applied for each person I'm following.

Of course, it's understood that I would have to define the notification settings for each "Preference," but I'm more than happy to invest the time if Twitter were to remember the specific combination of notification settings, and allowed me to easily switch back and forth between Preferences.

Right now, when I want to switch from one "Preference" to another, I'm forced to go through all these steps every time:
(a) set my IM preference,
(b) set my SMS preference, and
(c) set the notify setting for each person I'm following.

The thing is -- when I'm busy, I don't have time to change the notify setting for each person I follow. So I have no choice but to set SMS notifications to "Direct Messages Only"-- which cuts me off from tweets that I would have wanted to receive no matter what.

I doubt that this kind of request would make sense to folks who are following only a handful of people, so it's unlikely that I'll actually see this go into production on the Twitter site.

Maybe if I'm lucky, a third-party developer out there can put together a simple Twitter client that can store my "Preferences," and apply the changes to the settings as a 'batch' of API calls each time I set a new "Preference." That would be awesome.