In Another brick in the cloud Dave Winer asked "how do you manage the global namespace in a loosely-coupled 140-character message network"?
Problem : Twitter users use the "@username" notation when they talk to or about another Twitter user. If we want to build a loosely-coupled microblog network, which notation can we use to reference any user on any plateforme ?
I tried several notations, and here is the one i think is usable and practical :
@[URL OF THE PROFILE PAGE, with http:// optional]
For example : @twitter.com/jy , @identi.ca/jy.
Here is an example microblog message from example.com:
This is an example using @twitter.com/jy and @identi.ca/jy and @jy.
This is how the message is stored at example.com.
When example.com shows the user his timeline, you can use this HTML:
This is an example using @<a href="http://twitter.com/jy">jy</a> and @<a href="http://identi.ca/jy">jy</a> and @<a href="http://example.com/jy">jy</a>.
That will show like:
It's totally optional, but it reduces visual clutter, and in practice you won't have often the same username from different systems in the same message.
Now, when another microblog system like anotherexample.com gets this message (via RSS, XMPP, snailmail, whatever), before storing it in his database, it should properly transform the usernames to make them global:
- transform @jy to @example.com/jy
- transform @anotherexample.com/jy to @jy (it's optional, anotherexample.com may decide to store @anotherexample.com/jy as-is, having all usernames stored in their global form)
Same for when you're cross-posting from example.com to anotherexample.com, you need to make all usernames global beforehand.
Note that the great advantage of this solution is that it's compatible with Twitter.com (as long as you have short tweets :-) , see later).
The previous example message would be transformed and cross-posted to twitter.com (via it's API) as :
This is an example using @jy and @identi.ca/jy and @example.com/jy.
Available 140 chars size aside, this form is even better :
This is an example using @jy and @http://identi.ca/jy and @http://example.com/jy.
because Twitter.com will properly highlight the links, and you can directly go to these profile pages at identi.ca and example.com
(otherwise Twitter.com will highlight "identi" and "example")
http://twitter.com/jy/status/6802008396
I think @example.com/jy is short enough that, when you have to type it by hand, it stays simple enough. But in most parts, you don't have to type those by hand, you microblog website or microblog client will write them for you, when you do a reply, an RT, or select the name in a contacts list.
The only problem attached to this solution is the size these URLs take. That's not a problem when you don't take Twitter.com into account and its 140 chars limit. (i think a global microblog system should not restrict itself to 140 chars, it's up to you to show 140 chars only in your software if you which).
The compatibility with twitter.com is essential, so i see a few solutions to the size problem :
- Do like SMS, break your message into 140 chars parts, and cross-post more than one tweet to twitter :-) (I'd say 2 will be the most common)
- Shorten your message before cross posting, and include a link back to the original message at the end of the tweet.
One last thing, as you have the person profile URL (http://twitter.com/jy) , you can fetch the profile page, and auto-discover it's RSS feed, to subscribe to it or get his last messages or whatever.
I think this solution can fly, what do you think?
Why don't you just use @user@application like I previously discussed at http://unfoldingtheweb.com/2009/12/15/re-twitter-urls-are-microformats-the-answer-to-a-real-problem/
It's short, compatible with twitter and it won't be hard to implement an expansion mechanism for all other applications.
Rédigé par : Bruno Pedro | 21.12.2009 à 19:14
What about using url shortening for the username in other networks then yours. If the URL shortening should work properly then the same url should get only one recycled short url. I don't like short urls but they seem to be here for the long run and I say join the party.
Rédigé par : Dudu Mimran | 21.12.2009 à 19:22
Bruno: Using two @'s is confusing, and can lead to side effects, i.e. @user1@user2.
Rédigé par : rvr | 22.12.2009 à 00:16
that syntax "@twitter.com/jy" is the one I suggested to Evan Prodromou and Zach Copley at Bearhug Camp 2008
the client could make the ".com" or "itter.com" optional: "@tw/jy" or "@fb/brianjesse"
e-mail-style makes sense [email protected] or [email protected] but the Twitter @nickname style is very easy to compose, you can't ask Twitter users to type [email protected] or [email protected]
Rédigé par : www.facebook.com/profile.php?id=1421801327 | 22.12.2009 à 01:56
This article is excellent, JY, and I love this process of building an uncentralized web.
Moreover ,your proposition is really well thought and could "easily" be implemented, but I have to admit that I also like the idea of Brian to use the email address format, which is a much more accepted way to point out someone. It could be a good way to broaden the audience of these services / ways to express yourself on the internet.
The idea is always to create technologies that people will adopt. So, just think about someone closed to you who is not used to Twitter, and try to explain him/her your way of communicating. I think s/he will feel much more comfortable saying :
"I wanna speak to [email protected]"
which means something like "I wanna speak to jy from twitter.com".
Now, just consider your profile on Google : "I wanna speak to [email protected]". Thus, you point out in the same time, one person, and many ways to contact him/her...
The only ones who will have to readapt a little bit are people used to Twitter, but it won't be such a big deal.
Anyway, I love to hear you speak about this kind of topics.
Rédigé par : Account Deleted | 22.12.2009 à 11:08
Romain: Problem is the automatic link generation. The engine cannot guess whether it is mailto:[email protected] or http://domain.com/user.
Rédigé par : rvr | 22.12.2009 à 15:01
Mmm...
You're right. We could imagine to add a special char before of after the string to differentiate both situations, but we will loose the ease of use for non-enlightened people...
Rédigé par : Account Deleted | 23.12.2009 à 14:19
The e-mail address format looks nice but it is very limited. I'm @stephane on Twitter so let's say my global username is [email protected]. It will work perfectly on all decentralized microblogs since these systems understand this convention. But let's jy tweets "I have to admit [email protected] is so amazing" and this tweet is printed or whatever. This tweet pushed outside the decentralized microblogs area has not anymore the same meaning, [email protected] is now an e-mail address and it has nothing to do with me on Twitter. Even worth, it could be another person (it could exists someone at Twitter - the company, not the social network - having [email protected] as e-mail address).
JY's idea looks like a relevant and easy to implement solution.
Rédigé par : Stéphane Rangaya | 18.09.2010 à 00:06