Tagspeak-examples

From microformats.org mirror
Jump to: navigation, search

tagspeak examples

tagspeak is the way in which ordinary people construct tags.

The Problem

As tags have grown in popularity and usage they are increasingly called upon to undertake additional tasks besides categorization such as-

  • As directives to route content, associate tags to a group tag or associate with a broader consensus tag
  • Provide additional attributes such as username, genre etc. for a tag

Currently, these additional tag attributes are being marked up in an ad-hoc fashion as decided by individuals, consensus groups and/or tag services.

Formulating a standard for tagspeak would

  • assist taggers - who could use the same formulation across multiple services
  • assist tagservices - who could build support for the range of tagspeak instead of one-of and ad-hoc development.
  • assist tag processors - who could build parsers for tagspeak

Participants

Real-World Examples

Everyday users construct tags in two ways

  • with links: using the rel-tag formulation
  • in plain text: on taggable services such as flickr, delcious etc.

Link examples

The primary example of this is the rel-tag formulation, which although works quite well, could be broadened to assist everyday bloggers as this study indicates.

Technorati and rel-tag formulations

 <a href="http://technorati.com/<tag>" rel="tag">any text</a>
  

gada.be formulation

Uses the first word in the url as the tag. This has the benefit of making it very easy to remember, and is especially useful for mobile customers.

 <a href="http://<tag>.gada.be">any text</a>
  

Proposed formulations - blogspeak.org & inames

These are not currently in real-world implementations but are examples of some thinking that in effect combines the above two approaches blogspeak.org/tagspeak.html

 <a href="http://TAGSPACE.someservice.com/../PAR/AME/TERS/<tag>"  rel="tag">any text</a>
  

itags

<a href='http://xri.itags.net/=mary/(+blog)/napsterization*
         (=mary/(+tag)/(+dog))*(=mary/(+blog.post)/41)/dog'>dog</a>
  

Plain text examples

delicious :colon

The use of colon : as a separator

  for:username - when a bookmark is tagged thus it is routed to the specified users's space 
                 within delicious
  groupname:tag - This type formulation is rumored+ to be released soon.
  

+source of rumor

shadows.com & jots.com :&

The use of @ to denote a group

  @tag denotes a group tag
  

delicious & technorati :+

The use of + to denote an intersection

  tag1+tag2 denotes an intersection of tags when used to search
  

inames

inames use an 'equal to' = sign to prepend the iname

Foxylicious :.

The use of . (or other characters) to denote a hierarchy of tags

  tag1.tag2 denotes that tag2 is only relevant in the context of tag1
  

HonorTags & Tagback(1) - The use of a standard prefix

HonorTags

     HonorTagJournalism
     HonorTagProfessional
     HonorTagAdvocate
     HonorTagPersonal
     HonorTagFiction
     HonorTagUnTag 

Tagback(1)

Strip spaces from the title and add a prefix such as bb to the begining
Title: Introducing tagback
tag: bbintroducingtagback


Proposed formulations

These are not in real world use but are proposed and use a combination of : & =iname

tag attributes separated by colons appended with an optional iname

  • Open Tags & Tagback (2) - The use of a fragment

Open Tags & Tagback(2) Instead of the last segment of the url being the tag, having the fragment be the tag and this fragment points to a position on the page which would show a list of trackback like tagback pings from the various tag-processors who have picked the tag up.

<a href=
  "http://www.corante.com/getreal/archives/2005/07/24/name_of_post.php#tag_thai" rel="tag">thai</a>

Existing Practices

Here are a couple of thoughts on existing practices

  • plain-text: The punctuations in use are either used as a separator or as a qualifier. The separator currently in use is the colon as adopted by delicious. @ and = are used as qualifiers for a group and iname respectively. This nuanced distinction is useful as it could allow for constructs such as @group:tag or =iname:tag
  • links: Explicit tagging wherein bloggers place rel="tag" attributes has ramped up from 0% in 2005 January 1 (before rel-tag was introduced) to 35% as of 2005 November 1. This rapid ramp has demonstrated that visible rel-tags are quickly being adopted, both by individual bloggers and blogging tools, and also displacing invisible RSS Category or invisible DC:Subject keywords.

Proposal

  • Link: Allow tags to be any one of the following
    • The last fragment in a url
    • The first word in a url where no words exist beyond the TLD
    • The last word in a url if no fragment is present (This is the current rel-tag standard)
      • Where the last word or last fragment is the tag, the optional use of the first word as a tagspace
Last fragment: <a href="http://bla-bla.com/../xyz.html#thetag" rel="tag">
First word: <a href="http://thetag.bla-bla.com/" rel="tag">
Last word: <a href="http://bla-bla.com/../thetag" rel="tag">
First & Last fragment: <a href="http://tagspace.bla-bla.com/../xyz.html#thetag" rel="tag">
First & Last word: <a href="http://tagspace.bla-bla.com/../thetag" rel="tag">
  • Plain text: Allow the use of special punctuations as separators and qualifiers
    • The use of a : as a separator
      • Establish a reserved set of tag directives such as 'for', 'domain names' etc.
    • The use of a + for more than one tag
    • The use of @ and = as qualifiers for an group & iname respectively.

tagdirective:tag

tagdirective:tag 
 Where tagdirectives is either one of a reserved set of directives or
 is a tag for a broader group classification
 So if 'for' is a reserved directive but 'plumbers' is not a reserved directive
 for:john would be interpreted based on the reserved directive 'for'
 plumbers:john would tag the item with the tag john in the broader group/cluster of plumbers

 Standard domain conventions could be used in the reserved directives such as
 amazon.com:tag
 wine.com:tag 
 etc.

qualifiers and separators

plumbers:john 

could be written as 

@plumbers:john  -  to explicitly denote plumbers to be a group/cluster

and/or as

@plumbers:=john - to note that john is an iname

tag1+tag2+tag3

 
tag1+tag2+tag3: Would tag an item with all three tags

See Also