Emil Sit

Twitter needs better message tracking options

Twitter is the hot messaging platform of choice
for many discerningtechnologists and
early adopters. (If you don’t know what Twitter is, check out the
CommonCraft intro video for a quick overview.)
In short, Twitter provides laconic insight into what people are doing,
with a diversity of client interfaces to satisfy (almost) every need.
While Twitter is nominally for providing ambient intimacy,
recent research shows that many are using Twitter as a
way to publish information—as an op-ed/news venue—and subsequent
discussion forum. This usage is mixed together with more “traditional” updates
of a personal nature. While personal updates provide insight into people’s
non-work activities, sometimes it may be more than desired. Twitter
would benefit from the ability to isolate such messages and subscribe
to updates more selectively.

I propose taking a lesson from the Zephyr instant messaging
system. In college, Zephyr was where ambient intimacy and information
publication/discussion occurred. Like Twitter, Zephyr was originally intended
for one purpose—notifying users of upcoming outages—but was co-opted for
another. In its heyday at MIT, Zephyr was the place to catch up with your
friends, chat with the community about the latest on current events, and get
help with esoteric technical problems (or homework) from the top people in the
community. Zephyr is still in use, though the community of users has declined
since the growth of AIM and ICQ.

Unlike Twitter, Zephyr provides an advanced subscription mechanism,
instead of forcing you to follow all messages of a given user.
Each Zephyr message has a class, an instance and a recipient.
The class acts as a namespace, typically used by different communities
to separate their messages from others. Instances act like tags,
marking the subject of conversation. For private messages, a specific
recipient can be specified as well. Subscriptions are required to
specify a class/namespace but can match any tag or any recipient
(though the system would only deliver messages to the intended recipient).

The result of this mechanism is tremendous flexibility in usage and community
isolation. Classes (namespaces) can be established to partition discussion
by student groups (e.g., -c sipb) or by function (-c help).
Discussions in those groups will not be delivered to anyone not
specifically subscribed to the class. Instances/tags further sub-divide
discussions—for example, SIPB members seeking dinner might
coordinate a food order over the food instance (-c sipb -i food).
A default class (called message) is provided for general simple
discussions, where users can subscribe to all instances/tags. Typically, discussions
about particular classes (e.g., -i 6.033 for the instance about the
intro computer systems class), news and politics (-i white-magic),
or local technical issues (-i network) are on this default class.
Zephyr’s default client also allows for customization of formatting
and placement of messages based on the <class,instance,recipient> tuple.

This sort of isolation and organization is difficult to achieve on Twitter
currently. Imagine how nice it would be if all Twitter messages about South by
Southwest were isolated to a sxsw class, with rich differentiation for those
present (e.g., <sxsw,zuckerberg,*>) and completely ignorable for those of
un-interested; at the same time, you could still get Scoble’s non-SXSW related
tweets.

The best proposal I am aware of uses hashtags, which look a
little like #channels from IRC, to tag tweets. Such tweets are indexed by
various services like hashtags.org or twemes.com. Unfortunately, these
proposals require embedding metadata in the Twitter message itself, which can
be aesthetically unappealing enough to warrant
removal. Further, it is difficult to track tags (or even @replies
from strangers) from within API clients, since the track command is limited
to IM and SMS, and appears to ignore punctuation.

There have been some demands for groups in the Twitter support
forums, so it does appear that a feature like this may be in our future. As a
simple start, if Twitter’s track command caused tracked tweets to appear in
your timeline (for the API) and also supported stemming (e.g. #sxsw.food), I
think I would be happy. However, even better would be to take recipient and
tagging information out of the tweet and make it explicitly metadata (much like
d is used for direct messages). Whatever is implemented, I hope it will
allow for Zephyr-like organization of discussions. Until then, #hashtags and
third-party extensions will have to do.