Stowe Boyd

a postfuturist at large in the present

popular now: The Social Operating System: A Reader

Stowe Boyd

Scroll to Top

Twitter URLs: Are Microformats The Answer To A Real Problem?

Somehow I turned my head, and while I was focusing on other things (like social business, 301works.org, and a long list of other topics) Microsyntax is breaking out everywhere.

A few weeks ago, I was pinged by Andy Mabbett about this idea of his, a new protocol for Twitter links: Twitter: A Microformat In Lieu Of A Protocol. In that post, he referred back to an earlier post, where he outlined the problem, which has to do with the fact that many Twitter clients create alternative URLs for tweets and user profiles:

[via Twitter: canonical URLs and Protocols]

On Twitter, I’m twitter.com/pigsonthewing, but in my preferred twitter client, Dabr, I’m dabr.co.uk/user/pigsonthewing. We might refer to the former as the “canonical” URL.

There are a number of other web-based Twitter clients, too, and people using them can find my twitter stream, variously, at:


  • m.twitter.com/pigsonthewing

  • accessibletwitter.com/app/user.php?uid=pigsonthewing

  • m.slandr.net/user?id=pigsonthewing

  • tweetree.com/pigsonthewing

  • m.tweete.net/pigsonthewing

  • hahlo.com/user_timeline.php?user=pigsonthewing

  • www.twitstat.com/m/index.php?userid=pigsonthewing


[…]

Anyone using one of those services, and who wants to link to my profile
or one of my tweets will either post the URL as it appears in their
service, which isn’t much use to people not using that service, or
expend time and effort translating the URL into the generic, canonical,
Twitter format — which even ten may not be of much use to someone using something else.

Before digging into Andy’s solution for this, I wondered if it is a real problem: do users actually encounter this problem? For most power users, they are in fact using clients, but usually clients like Tweetdeck or Tweetie, which run as apps on user’s PCs or mobile devices, not web clients. The great majority of folks using web clients use Twitter, which is the ‘canonical’ URL creator, which again, poses no problems.

I have an account at Tweetree, and yes, it is possible to get a URL that points to a Tweetree version of a tweet, like http://tweetree.com/posts/6672240035. But the great proportion of UX around URLs — even in a web client like Tweetree — is mediated by the social channels of RT and @mention. In those cases, Tweetree and the other web clients have to convert the user’s actions into API calls, so that Twitter can do the right thing.

That only leaves one tiny use case to worry about: the differentiation of the URL at Tweetree, when someone might want the client’s version of a page — for example, I might have a more elaborate profile page in Tweetree — as opposed to the base Twitter page. But Tweetree already provides me those URLs.

It seems to me that the solution to this problem is the one taken by Tweetree: offer the option of getting the original, ‘canonical’ URL from any page where it makes sense. That doesn’t seem to satisfy Andy, though:

The answer (in the short term) is to use a microformat (or a
microformat-like “poshsformat”, if you prefer to call it that) for each
case. Let’s say we use the classes twitter-user & twitter-status.

User-agents (that’s jargon for browsers) could then employ a script
(such as those used by GreaseMonkey, or a Firefox extension) to ignore
the encoded URL and substitute the equivalent for the user’s preferred
Twitter client instead.

For links to user profiles:

<a

href="http://twitter.com/pigsonthewing">

Andy Mabbett

</a>

would become:

<a

class="twitter-user"

href= "http://twitter.com/pigsonthewing">

Andy Mabbett

</a>

and:

<a

href="http://accessibletwitter.com/app/user.php?uid=pigsonthewing">

Andy Mabbett</a>

would become:

<a

class="twitter-user"

href=" http://accessibletwitter.com/app/user.php?uid=pigsonthewing">

Andy Mabbett</a>

Likewise, for individual statuses:

<a

href="twitter.com/pigsonthewing/status/1828036334">

something witty</a>

would become:

<a

class="twitter-status"

href="twitter.com/pigsonthewing/status/1828036334">

something wittyg<a>

and:

<a

href="accessibletwitter.com/app/status.php?1828036334">

something witty<a>

would become:

<a

class="twitter-status"

href="accessibletwitter.com/app/status.php?1828036334">

something witty<a>

and:

<a

href="m.slandr.net/single.php?id=1828036334"

something witty</a>

would become:

<a

class="twitter-status"

href="m.slandr.net/single.php?id=1828036334">

something witty</a>

To simplify matters, the rules for extracting the user ID or the status update could be the same in both cases:


  1. Parse the value of the href attribute of the element to which the class applies.

  2. If there is a question mark, use everything after that.

  3. Otherwise, if there is an equals sign, use everything after that.

  4. Otherwise, use everything after the last slash.


That would deal with all the examples in my earlier post.

So, if you’re using a user-agent which is aware of this microformat, and find on a page:

<a

class="twitter-user"

href="http://twitter.com/pigsonthewing">

Andy Mabbett<a>

said

<a

class="twitter-status"

href="m.slandr.net/single.php?id=1828036334">

something witty<a>

but your preferred Twitter client is Dabr (one I recommend, BTW!) then your browser would treat (and possibly render) that as:

<a

href="dabr.co.uk/user/pigsonthewing">

Andy Mabbett<a>

said

<a

class="twitter-status"

href="dabr.co.uk/status/1828036334">

something witty<a>

Simples!

Oh yes, Simple.

To say the least, this is way overkill for a small problem. And it’s a microformat solution, which is about how things are represented in the underlying HTML created by and interpreted by the apps.

A microsyntax approach would be something visible in the stream, like including a prefix in front of an @mention or retweet to denote original or desired client:

dabr@pigsonthewing Nice profile!

Here, the implication is that I am referring to Andy’s profile on the Dabr client.

Anyway, I won’t elaborate that example, since I think the original problem is too limited to matter to most people.

Posted by Stowe Boyd
December 14, 2009
Comments

Share
http://tmblr.co/ZHrZFymY6HA
blog comments powered by Disqus

< Previous post Next post >

 

Theme by Pixel Union

  • Profile
  • Pages
  • Likes

About me

Social anthropologist, clairvoyant, postfuturist.

My work is social tools and their impact on media, business, and society.

I am made greater by the sum of my connections, and so are my connections.


Connect with me

  • Twitter
  • RSS
  • Archive
  • Ask me anything

Pages:

  • About Stowe Boyd
  • Underpaid Genius
  • Popular Posts
  • Work Talk Research
  • Work Talk Reports
  • Speaking

Stuff I Like

  • Photo via everythingisacasestudy
    Photo via everythingisacasestudy
  • Photoset via considertheaesthetic

    Only in my wildest dreams would I actually own one of these beauties. At a astonishing $3650, this...

    Photoset via considertheaesthetic
  • Photo via andrewgreene

    LOL

    Photo via andrewgreene
  • Photo via creativemornings

    Prototyping is like thinking with your hands.

    Manuel Großmann and Martin Jordan,...

    Photo via creativemornings
  • Post via newschallenge
    Expand the Unconsumption Project

    1. What do you propose to do? [20 words]

    Expand Unconsumption’s capacity to serve as a resource for sharing stories and ideas about creative reuse and mindful consumption.

    Post via newschallenge