From Microformats Wiki
Revision as of 12:44, 7 October 2008 by ThiloHorstmann (talk | contribs) (→‎2nanoformats (syntax:param))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Microblogging Nanoformats

The official twitter lingo twitter-syntax

Twitter (or Jaiku) nanoformats proposal

  • Nanoformats try to extend twitter capabilities to give more utility to the tool.
  • Nanoformats try to give more semantic information to the twitter post for better filtering.
  • Nanoformats try to use commonly used (or semi-standard) parameters like microformats
  • Nanoformats are better if more people use it, spread the word.
  • Nanoformats are even better if you combine.
  • Nanoformats are extensible, customizable, mashable...


Gorka Julio (Elurnet Informatika Zerbitzuak S.L.)
Gorka Julio (Elurnet Informatika Zerbitzuak S.L.)


Per the public domain release on the authors' user pages (Gorka Julio) this specification is released into the public domain.

Public Domain Contribution Requirement. Since the author(s) released this work into the public domain, in order to maintain this work's public domain status, all contributors to this page agree to release their contributions to this page to the public domain as well. Contributors may indicate their agreement by adding the public domain release template to their user page per the Voluntary Public Domain Declarations instructions. Unreleased contributions may be reverted/removed.


This specification is subject to a royalty free patent policy, e.g. per the W3C Patent Policy, and IETF RFC3667 & RFC3668.


Some apps supporting some kind of nanoformat:

  • Twitter: @username for replies
  • Tagzania: L: to share with you twitter friends the place where you are.
  • Twittermap: L: to show your location (not standarized way)
  • Txioka event, time, L, adr ... and conversion from nanoformats->microformats (hCalendar, hListing, hCard)
  • plusplus bot tag++, @username++ to vote for or tag-- to vote against a tag or user
  • foamee @ioubeer @twitterscreenname for being an amazing human being
  • Hashtags #tag nanoformat is used as an easy way to track a specific topic or event

Use examples

  • New! translate your twitter feed into different languages using lang: nanoformat. Personalize it cloning this yahoo pipe (JP->EN yahoo pipe)


Open discussions

  • tag++ and tag-- are been discussed better way can be ++tag or --tag (the same as other 1nanoformats), however ++tag isn't supported by http://plusplusbot.com.
    • question: is more regular to use ++ and -- before the word. Can we propose the change?
    • note -> this can be done using vote or rate nanoformats
    • Example: @psd++ for updating this page, thanks also to @factoryjoe L:Berkhamsted,UK #microformats
   * tag++ (discussion)
         o Used to 'plusplus' (vote for) a user or subject 
         o Example: microformats++ because they rock the disco!
         o Syntax: <tag-name>++
         o Tools: plusplus bot
   * tag-- (discussion)
         o Used to 'minusminus' (vote against) a user or subject 
         o Example: drm-- for breaking my backups
         o Syntax: <tag-name>--
         o Tools: plusplus bot
  • [approved] proposal to use #group not only for groups, but for tags based common usage observed on Twitter as supported by http://hashtags.org/
    • We gave more flexible description to #tag and deprecate tag nanoformat.


  • play:<object> -> use enclosure
  • tag:<tag> -> use #tag

1nanoformats (syntaxparam)

   * @username
         o Used to mention a user.
         o Example: @mike I agree with you
         o Syntax: @<twitter username>
         o Tools: @yourusername filter pipe, foamee
   * #tag
         o Used to tag posts
         o Example: kauta concert at Doka #music
         o Example: #rockclub kauta concert tonight (group use example)
         o Syntax: #<tag>
         o Tools: #tag filter pipe

2nanoformats (syntax:param)

   * lang:
         o Used to define the language of the post.
         o Example: this is a post in English lang:en
         o Syntax: lang:<iso639-1 code>
               + info: code list iso639-1
         o Tools: lang filter pipe
   * L:
         o Used to define a location
         o May be followed by a trailing colon to indicate the end of the location (Example 4)
         o Example: Good place to visit L: Place Georges Pompidou, Paris, France
         o Example2: Good place to visit L: Place Georges Pompidou, Paris, 75004
         o Example3: Good place to visit L:48.860500,2.352260
         o Example4: L:San Francisco: is a nice place. 
         o Text Syntax: L:<Addres, city or town, region> or L:<Address, city or town, postal code> at the end of  a tweet
               + info  Twittervision API, Google maps
         o Geo Syntax: L:<lat,long>
               + info: (Section 3.4.2 of RFC2426)
         o Tools: Twittervision, Twittervision API, twibble, a location aware twitter client and API, location filter pipe
   * todo:
         o Used to define something to do (or for someone combined with @username).
         o Example: todo:go to buy chocolate
         o Syntax: todo:<to do info>
         o Tools: todo filter pipe
   * note:
         o Used to write a simple note.
         o Example: note:printer ink catridge numbers HP336 / HP342
         o Syntax: note:<note subject>
   * event:
         o Used to define an event (better combined with L:).
         o Example: event:Conference or event:http://www.web2summit.com/pub/w/40/coverage.html/
         o Syntax: event:<event name> or event:<http://eventurl... >
         o Tools: event filter pipe
   * enclosure: [play:(deprecated)]
         o Used to mark a link to playable media.
         o Example: enclosure: http://media.mfdz.com/track/7.mp3
         o Syntax: enclosure:<http://mediaurl... >
   * time:
         o Used to define a time (usually with event).
         o Example: time:2006-06-30 21:00:00
         o Syntax: to define (can change)

3nanoformats (syntax:param:param)

   * rate:
         o Used for rate something between 1-5.
         o Example: rate:1:Epic movie or rate:5:http://www.twitter.com/
         o Syntax: rate:<1-5>:<rated subject>
         o Tools: rate filter pipe
   * vote:
         o Used for vote (for, against, abstain).
         o Example: vote:against:Irak war or vote:for:Peace
         o Syntax: vote:<for,against,abstain>:<voted subject>
         o Tools: vote filter pipe
   * deal:
         o Used for transaction info (sell, rent, trade, wanted, offer, announce).
         o Example: deal:sell:acer:n50 pda or deal:wanted:http://www.nabaztag.com
         o Syntax: deal:<sell,rent,trade,wanted,offer,announce>:<transaction subject>

Using more than one nanoformat in the same post

If you want to use more than one nanoformat in the same twit. You have to use at the end of the twit.

  • Example: great party event:beach party L:Ondarreta beach, Donostia
  • Generic example: <message> <nanoformats one each other>
  • Exception: @username commonly used at the start of the twit.
  • Example: @teketen I disagree with you! It's time:2007-06-24 21:00
  • Generic example: @username <message> <nanoformats one each other>

Don't use more than one nanoformat of the same type in the same twit

Is not a good idea use the same type nanoformat in the same twit. Twits can be a good unit to convert the information given in a twit into other formats for that reason only the things that have meaning together are interesting. If you want to explain more than one thing you should use an other twit to do that.

  • Wrong example: we go there tonight event:party event:home party
  • Example: great party event:beach party L:Ondarreta beach, Donostia
  • Exception: 1nanoformats. You can use more than one in the same twit.
  • Example: Summer night in Andoain http://tinyurl.com/2l6j8z L:Andoain, Gipuzkoa #summer #night
  • Generic Example: <message> <other nanoformats one each other> <#tag>*

TekeTen 08:54, 23 Jul 2007 (PDT)