tagspeak is the way in which ordinary people construct tags.
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
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.
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>
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>
<a href='http://xri.itags.net/=mary/(+blog)/napsterization* (=mary/(+tag)/(+dog))*(=mary/(+blog.post)/41)/dog'>dog</a>
Plain text examples
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.
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 use an 'equal to' = sign to prepend the iname
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
HonorTagJournalism HonorTagProfessional HonorTagAdvocate HonorTagPersonal HonorTagFiction HonorTagUnTag
Strip spaces from the title and add a prefix such as bb to the begining Title: Introducing tagback tag: bbintroducingtagback
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>
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.
- 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.
- The use of a : as a separator
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: Would tag an item with all three tags