Confessions of a Social Tools Architect
27 Aug
There’s some very interesting discussion circling now about the use of channels in Twitter. Most every Twitter user is well aware that groups are a fundamentally lacking feature in the system - perhaps it’s a strength, not a weakness.
Chris Messina has prepared what can only be described a working specification for the implementation of Channels, a la IRC, in Twitter. There are some great observations, so I recommend reading the whole post. For the unwilling, here’s a few useful excerpts:
What I’ve realized is that this “channel” concept meets many of the aggregate desires expressed in various “Groups for Twitter” discussions while not inheriting a lot of the unnecessary management cruft that most group systems seem to suffer from, it is easily accessible adapting current Twitter syntax and convention, it’s easy to learn and lightweight, it’s very flexible and entirely folksonomic and works with people’s current behaviors, rather than forcing anyone to learn anything radically new. It also keeps the interface aspects to a minimum (as I’ll soon explain), invents little by borrowing from age old IRC conventions also adopted by an existing web application and, from what Britt said so far, actually works consistently on cell phones (whereas, for example, the star key does not).
[…]
Every time someone uses a channel tag to mark a status, not only do we know something specific about that status, but others can eavesdrop on the context of it and then join in the channel and contribute as well. Rather than trying to ping-pong discussion between one or more individuals with daisy-chained @replies, using a simple #reply means that people not in the @reply queue will be able to follow along, as people do with Flickr or Delicious tags. Furthermore, topics that enter into existing channels will become visible to those who have previously joined in the discussion. And, perhaps best of all, anyone can choose to leave or remove topics that don’t interest them.
Source: “Groups for Twitter; or A Proposal for Twitter Tag Channels”, Factory Joe
I’m quite keen on the notion of “metaprogramming” against the Twitter OS - largely related to the various hooks we’ve built for LittleGrams. Curious if Chris’ model could work, I attempted to setup an account to no avail. Chris’ approach relies on the # (pound) symbol as the marker that a channel tag is ahead. Unfortunately, there is an implicit meaning to the # in URI-based systems which could be a source of conflict going forward.
But wait! Twitter does allow us to register names that have the _ in them. To give this a try, I’ve registered _littlegrams on Twitter. I’ll attempt to use this as a channel for making announcements regarding the product - the actual littlegrams account is used for posting to the application. I am ok with the signal that an _ is meant to be channel as opposed to @ being direct.
That being said, I’m just not sure I want this in my stream in general. I see Stowe’s taken to using them in his tweets but I find the whole affair a bit messy. Twitter serves up too small a triscuit for any real meat - and that’s a strength, not a weakness. In fact, what I would prefer to see is some pre-processing happen on messages. Let me explain using LittleGrams as an example.
For our system, we wanted more robust messaging via Twitter, however, for a number of reasons (efficiency, security, etc) we opted to work via direct messages. To this end, you could say that we setup a Channel Director. With our app, you send a message to the director like so:
d littlegrams word bye-bye
Our system polls for the commands and then is able to parse that into two distinct things: an instruction on what to publish and a notification back out to the network. If we were to adopt this to the current problem set, I might be able to do this:
d _channel #barcamp #chris+messina Can’t wait to get to the Block!
As we’re doing, a processor for _channel could be setup (or Twitter could offer one) that was able to make the channel descriptors into metadata instead of direct data. The message that would be broadcast out to those individuals following either of these channels would be a short, cruft-free message:
Can’t wait to get to the Block!
The other thing I like about this approach is that it quarantines someone’s accounting work. While tagging is a great thing that continues to subvert systems everywhere, I think it is still largely personal. That may fit well with the nature of most Tweets today, but is that the future?
I think that all the other mechanisms Chris has are awesome and could easily see them working out well, especially if the fine folks at Twitter can make the dream into a reality.
That’s my 20 cents. For some more background, check out Stowe and Brian’s posts.
Technorati Tags: brian solis, channels, chris messina, groupings, littlegrams, stowe boyd, twitter
8 Responses for "Twitter Channels, Hmm…"
Hey Greg, good feedback. I think you provide an implementation for private groups that Twitter is currently considering (AFAIK). That is, using some kind of “g groupname message” nomenclature, you could post to private (and/or public) groups that have been set up webside. In that case, give the “g” directive, the groupname could be removed from the update and you’d get, as you said, a cruft-free message.
While it’s a sound proposal, I have two issues with that.
First, it requires learning something kind of new — and remembering groupnames that might not be all the intuitive for those using IM or SMS to participate in Twitter. Whereas I will *learn* people’s usernames on Twitter because I’m constantly seeing them in updates, will group messages that arrive via SMS or IM prepend the groupname AND the member name?
i.e.: _barcamp gregarious: Can’t wait to get to the Block!
or gregarious: [barcamp] Can’t wait to get to the Block!
or_barcamp Can’t wait to get to the Block!
In other words, if you strip the groupname out, how do I, a recipient via SMS or IM, infer context? If, for example, you say something like “Wow, totally great sessions today!” and you sent it to “g sxsw Wow, totally great sessions today!” you have context that the recipients don’t… making your update even *less* meaty than before.
In contrast, using my public syntax (just like @replies that give you a sense for directional communication), if you said “Wow, totally great sessions today at #sxsw!” I’d both have your context, and others not following you would get to see the update in the general #sxsw channel. By removing the group context from the message, you actually *lose* meaning.
Now, the only way that groups could work without the context/channel tag is if you somehow already know that you’re receiving messages in the context of a group — just like when you’re browsing a topic thread in a forum on the web or looking at folders in your email. While there is a larger universe, it’s clear that you’re only seeing a subset of that universe; it’s also fairly trivial to navigate up and down that tree because the interface affords you that ability natively.
When you’re living on the Twitter command line and you have no “ls” command, all of a sudden you’re in an unfamiliar forest in the dead of the night, with branches and trees coming at you from all directions, completely distorting your sense of place and sensemaking.
I should add one more point, especially w/r/t LittleGrams. I got Larry to set up the Ma.gnolia user on Twitter last fall — and I believe that his was the first company posting company updates on the site… While I think that there is still some merit to maintaining separate channels for companies, in some ways I think that Larry would be better off posting Ma.gnolia updates using the #ma.gnolia tag… That’s one less account to maintain, one less password to remember and one less set of replies and direct messages to monitor. It also means that other people can post to that channel and it’s not monopolized with one way communications. As well, if Larry’s friends don’t care about his Ma.gnolia updates, they can easily unsuscribe:
leave lhalff#ma.gnolia
And, if people don’t care about Larry’s stuff but want the Ma.gnolia updates, the reverse is simple as well:
follow lhalff#ma.gnolia
Similarly, I could do this:
follow #littlegrams or follow gregarious#littlegrams
instead of having you maintain multiple Twitter accounts. That connects me to a real person behind the service (yay for humanizing faceless corporations!) and also means less work for you.
Whaddya think?
Chris,
Thanks for chiming in.. I was actually just writing you…
I think you raise some good points.. let me see if I can address some of them:
“First, it requires learning something kind of new — and remembering groupnames that might not be all the intuitive for those using IM or SMS to participate in Twitter.”
I totally agree, I think learning something is always a slightly difficult proposition. I’d probably counter, of course, that loads of twitter functionality is toggled by people who have taken, or been instructed, to do so. Certainly I would love something backed in, but it seems we still end on a convention of best practice.
As for remembering usernames, I actually have a harder time with that than anything else. Twitter on my contact list collapses a universe of individuals. I generally direct message just a few people who I’ve committed to memory or can easily find in my stream of previous messages.
On the other hand, topics are something easy and could likely be managed webside as you noted they are considering. It’s somewhat easy for me to know I’m interested in “motorcycles” and decide to follow that channel. Doesn’t seem that far off from how the majority of people use the address bar in their browser.. they type the word they’re looking for.
“In other words, if you strip the groupname out, how do I, a recipient via SMS or IM, infer context?”
This is a really good point and something I glossed over. I think the convention of mailing lists is a good example. Seems that a 2 part identifier would be required - say gregarious@barcampnyc. I think the context is indeed important and wouldn’t want a case where it didn’t get passed along.
I think this example you give…
“Wow, totally great sessions today at #sxsw!”
… is really well conceived. I think that the channel designation reads well. I’m just more curious, or troubled, by the situation where it’s more like (from stowe):
“I support the hash tag convention: http://tinyurl.com/2qttlb #hashtag #factoryjoe #twitter”
While this leaves the context, it does strike me as odd looking. Of course, this could also seem sort of strange to me if it were:
“Just to #SF, heading to #BarcampBlock to meet #ChrisMessina”
Your last point on password shrinkage, I totally am with you on that. I don’t really want more than one account on Twitter, but current system doesn’t offer me much choice.. in the LittleGrams instance, I actually could use just one (and that’s the likely case) but for the sake of experimentation I’m willing to play it out to see how it would work.
Great discussion here.
A couple responses.
What I like about the hash convention is that it’s flexible — it can be used either to tag content on a personal basis or to give a sense of shared context or place (like [Twitter developer] Britt’s favorite example where wants to tell people that he’s going to #dolorespark — whether they’re following him or not). Or, as Stowe suggested, it can be used for personal recognizance or content tagging, as he did recently using the #travels tag.
While I agree that it looks funny so far, that’s because it’s raw and no interface adjustments have been made to accommodate this new convention. In the Twitter UI, it’d be easy to turn these into links to the channel pages — or to expose a tag cloud, as I did in my mockup. What’s cool about this convention (rather than groups) is that the more people use it, the more it adds to understanding both what people are individually talking about and what topics are hot across Twitter. Simply trying to count the preeminence of each word uttered on Twitter leads to somewhat interesting trendmaps, but doesn’t really give us a look into the long tail of actual topics that people are interested in.
You mentioned using mailing list convention for marking context… do you mean using something like [barcamp] (brackets)? Not to be too nit-pickey, but that adds an additional character and could be confused for words actually intended as supporting text whereas the hash prefix will (I think) be rarely confused for anything else (besides phone numbers).
And, as for your final example, I’d reformulate it like this: “Just to #SF, heading to #BarcampBlock to meet @factoryjoe”. That’s how people address people as it is — so that wouldn’t change when referring to other Twitter users. You might also not even need the #sf tag if that felt like overkill; the use of #barcampblock would be enough to establish context and location that it actually wouldn’t end up being that much different from your current updates.
Chris,
I actually think the hash convention is good - just that it wrinkles the web version a bit when accessing channels - but probably not in too difficult a mechanism - since your goal was twitter.com/#channel
I think both use cases for how those tags can be used are totally out there and in play now. I don’t think I meant to suggest the channel director concept away from there. I don’t see private memberships, per se. I think the idea is much the same in spirit.
“While I agree that it looks funny so far, that’s because it’s raw and no interface adjustments have been made to accommodate this new convention.”
Without a doubt this can improve the web version - but it doesn’t help me with the IM/SMS incarnations. My own personal habit is to generally be alerted via IM. I use the web interface minimally. I’m sure the web usage is still significant, but not sure how much of the spectrum is accounted for via that medium.
“What’s cool about this convention (rather than groups) is that the more people use it, the more it adds to understanding both what people are individually talking about and what topics are hot across Twitter.”
I agree.. Just to re-iterate, my suggestion was not to create groups, though that seems like an potential, organic offshoot of putting people with expressed similar interests together. My alignment is much more with the traditional sense of tags as we know them now - a tag (and often collection of tags) provides the context for understanding the associated object. One aspect we’ve not talked about is that we also know where there’s interest - even if a stream is not associated with that interest yet.
“You mentioned using mailing list convention for marking context… do you mean using something like [barcamp] (brackets)?”
I meant more in terms of the dual identifier. I would suggest that it should be as you’ve outlined: user#channel
“And, as for your final example, I’d reformulate it like this”
I know there’s a number of ways to refactor this into some syntax, however, it won’t prevent people from generating spam either. While we can hope that #people #won’t #hash #every #word, if there are blank canvases out there the you-know-whos will find it.
[…] Read “Twitter Channels, Hmm…”. […]
You\’re right about the spam issue — but it\’s no different than tag spam on delicious, magnolia or flickr. In which case, you can simply block those users. It\’s inevitable as a system grows. Fortunately you can also control what you see — whether you scope it to friends, friends of friends or everyone.
Oh, and as for the URL thing… IRC URLs already work that way (I realize that hash is used as a fragment identifier) so Twitter could simply intercept these requests and process them into a full URL:
http://twitter.com/tag/barcamp
or http://twitter.com/channel/barcamp (a la Jaiku)
Indeed.. spam is not a problem that will go away and no matter what the solution, an open environment will breed it.
Yeah the URL thing seems like a small issue to me as well. I am sure that if they wanted they could even dynamically parse the fragment identifier into a fully-formed URL while maintaining the appearance.
So what can we do now :)
Well, I know that TwitBox is working on implementing this idea, so we’ll have to see what comes of that.
In the meantime, I guess it just takes using hashtags… and getting a feel for using them in practice.
I’ve pinged Jack from Twitter and his response was along the lines of “every word in a tweet is a tag, so we’ll use natural language processing” but that kind of ignores what this idea is all about… which is adding intent and a nomenclature outside of normal language (i.e. #barcampblock). I should add that I don’t think everyone will (or has to) adopt the hashtag convention for it to work. But it seems like something in the meantime that gets us some data to then see what we can do with it.
Leave a reply