rel-shortlink: Difference between revisions

From Microformats Wiki
rel-shortlink
Jump to navigation Jump to search
(added more detailed steps to better follow microformats process, examples for HTML and HTTP)
m (Replace <entry-title> with {{DISPLAYTITLE:}})
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<entry-title>rel="shortlink"</entry-title>
{{DISPLAYTITLE:rel="shortlink"}}
__TOC__
__TOC__
== Specification 2009-05-04 ==
== Specification 2009-05-04 ==


=== Editors ===
=== Editors ===
* [http://samj.net/ Sam Johnston] ([http://www.aos.net.au/ Australian Online Solutions])
* [http://samj.net/ Sam Johnston] ([http://www.google.com/ Google])


=== Concept ===
=== Concept ===
Line 20: Line 20:
== Abstract ==
== Abstract ==
<div class="entry-summary">RelShortLink is a brainstorm proposal with the goal of becoming an [[elemental-microformat|elemental microformat]].
<div class="entry-summary">RelShortLink is a brainstorm proposal with the goal of becoming an [[elemental-microformat|elemental microformat]].
<p>
<p>
'''The problem-space that rel-shortlink is attempting to solve must be first taken through the microformats [[process]] before any specific brainstorm can be properly evaluated, and potentially added as a microformat.''' Necessary pages:
'''The problem-space that rel-shortlink is attempting to solve is being taken through the microformats [[process]], and this is the current brainstorm that seems to make more sense than the alternatives. Nonetheless, additional background documentation is needed at the following stub pages:'''
</p>
</p>
* [[shortlink-examples]] - to document existing uses of pages publishing short links for themselves, whether or not they actually use rel="shortlink" (e.g. Flickr.com, various wiki pages like http://tantek.pbworks.com/CommunicationProtocols [[hcard-supporting-user-profiles]])
* [[shortlink-examples]]
* [[shortlink-formats]] - documentation of previous (or subsequent) attempts at shorlink formats (e.g. formats listed in the "inferior alternatives" section at the end of this page could be moved to this separate page)
* [[shortlink-formats]]
* [[shortlink-brainstorming]] - documentation of why/how rel="shortlink" was developed/proposed, along with reasoning of why other shortlink formats may be inadequate (extract that from the "inferior alternatives" section at the end of this page)
* [[shortlink-brainstorming]]
 


Proposed usage: by adding <code>rel="shortlink"</code> to a [hyper]link, a page indicates that the hyperlink may be used for space constrained and/or manual entry (e.g. printed or spoken) applications and that the destination of that hyperlink carries the same meaning (even if formatting such as sort order and hightlighting is lost). Typical use cases include pasting links into microblogging services such as Twitter and anywhere manual entry is required (e.g. printed or spoken URLs).</div>
Proposed usage: by adding <code>rel="shortlink"</code> to a [hyper]link, a page indicates that the hyperlink may be used for space constrained and/or manual entry (e.g. printed or spoken) applications and that the destination of that hyperlink carries the same meaning (even if formatting such as sort order and hightlighting is lost). Typical use cases include pasting links into microblogging services such as Twitter and anywhere manual entry is required (e.g. printed or spoken URLs).</div>
Additional variants: (these should probably be further documented on [[shortlink-brainstorming]])
* '''Portion of a page such as a blog post.''' Taking the lesson learned from [[rel-license]], which was subsequently applied to [[rel-tag]], a portion of a page (such as a blog post) defined by a compound microformat (e.g. an "hentry" from [[hAtom]]) may also refer to a shortened URL for that portion of the page with the use of <code>rel="shortlink"</code>.
* '''classname alternative'''. Pages (or portions thereof) that with to reference/publish a shortlink for themselves but without directly hyperlinking to the shortlink may do so by marking up the shortlink URL in an element with <code>class</code> name of "<code>shortlink</code>".


== Examples ==
== Examples ==
Line 68: Line 76:


== examples in the wild ==
== examples in the wild ==
This section is informative.
This section is informative and in alphabetical order.
 
Note: There are numerous uses of rel-shortlink in the wild, this is very much an incomplete list. If your site marked up with rel-shortlink, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page ([[rel-shortlink-examples-in-wild]]).
Note: There are numerous uses of rel-shortlink in the wild, this is very much an incomplete list. If your site marked up with rel-shortlink, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page ([[rel-shortlink-examples-in-wild]]).
* [http://alanhogan.com/tips/rel-shortlink-for-short-urls AlanHogan.com] uses rel-shortlink in HTTP headers, HTML head, and the "shortlink" tag on <code>input</code> elements for high-traffic content pages.
* [http://www.cmsmarket.com/ CMS Market] uses it on each of their directory and news pages. They'll be releasing their tool as a [http://www.cmsmarket.com/news/blog/4-team-blog/89-promote-your-brand-using-twitter GPL'd Joomla component] at some point as well.
* [http://www.jdclark.org/ Jordan Clark] has shortened forms of URLs from several of the most common and popular link-shortening services, all of which point to the home-page of his website, [http://www.jdclark.org/ www.jdclark.org].
* [http://lessnmore.net/ Lessn More], a free and open-source personal URL shortening service. Its website uses rel-shortlink in HTTP headers and HTML &lt;head&gt;, and the installable codebase uses the shortlink class on <code>input</code>s for copy/paste.
* [http://www.mediauk.com/ Media UK] uses it on each of their directory pages, using their muk.fm shortening service.
* [http://www.mediauk.com/ Media UK] uses it on each of their directory pages, using their muk.fm shortening service.
* [http://www.cmsmarket.com/ CMS Market] uses it on each of their directory and news pages. They'll be releasing their tool as a [http://www.cmsmarket.com/news/blog/4-team-blog/89-promote-your-brand-using-twitter GPL'd Joomla component] at some point as well.
* [http://rel-shortlink.appspot.com RelShortLink] is an open source Python implementation hosted on [http://appengine.google.com Google App Engine] which scans both HTTP headers and HTML links for <code>rel=shortlink</code>.
* [http://tantek.com tantek.com] uses the class name variant of shortlink on all permalink pages, in particular on an <code>input</code> element for easy copy/pasting of the shortlink, e.g. http://tantek.com/2010/034/t2/diso-2-personal-domains-shortener-hatom-push-relmeauth
* [http://techcrunch.com/ TechCrunch] advertises wp.me links in its HTTP headers.
* [http://wordpress.com/ WordPress.com] uses it on ~7 million blogs with their [http://en.blog.wordpress.com/2009/08/14/shorten/ WP.me URL shortening service].
* [http://wordpress.com/ WordPress.com] uses it on ~7 million blogs with their [http://en.blog.wordpress.com/2009/08/14/shorten/ WP.me URL shortening service].
* [http://rel-shortlink.appspot.com RelShortLink] is an open source Python implementation hosted on [http://appengine.google.com Google App Engine] which scans both HTTP headers and HTML links for <code>rel=shortlink</code>.
* [http://wordpress.org/extend/plugins/shortlink/ Wordpress 'shortlink' plugin] embeds <code>rel=shortlink</code> links into Wordpress blogs.
* [http://wordpress.org/extend/plugins/shortlink/ Wordpress 'shortlink' plugin] embeds <code>rel=shortlink</code> links into Wordpress blogs.
* [http://yedda.com/ Yedda.com] (an AOL company), uses it on all question pages with their internal short URLs mechanism.
* [http://yedda.com/ Yedda.com] (an AOL company), uses it on all question pages with their internal short URLs mechanism.
Line 82: Line 96:


== informative references ==
== informative references ==
* [http://www.ietf.org/id/draft-nottingham-http-link-header-06.txt draft-nottingham-http-link-header]
* [http://code.google.com/p/shortlink/ Google Code 'shortlink' project]
* [http://code.google.com/p/shortlink/ Google Code 'shortlink' project]
* [http://samj.net/2009/04/introducing-relshort-better-alternative.html Introducing rel="shortlink" - a better alternative to URL shorteners]
* [http://samj.net/2009/04/introducing-relshort-better-alternative.html Introducing rel="shortlink" - a better alternative to URL shorteners]

Latest revision as of 16:32, 18 July 2020

Specification 2009-05-04

Editors

Concept

Copyright

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.

Patents

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

Abstract

RelShortLink is a brainstorm proposal with the goal of becoming an elemental microformat.

The problem-space that rel-shortlink is attempting to solve is being taken through the microformats The microformats process, and this is the current brainstorm that seems to make more sense than the alternatives. Nonetheless, additional background documentation is needed at the following stub pages:


Proposed usage: by adding rel="shortlink" to a [hyper]link, a page indicates that the hyperlink may be used for space constrained and/or manual entry (e.g. printed or spoken) applications and that the destination of that hyperlink carries the same meaning (even if formatting such as sort order and hightlighting is lost). Typical use cases include pasting links into microblogging services such as Twitter and anywhere manual entry is required (e.g. printed or spoken URLs).

Additional variants: (these should probably be further documented on shortlink brainstorming)

  • Portion of a page such as a blog post. Taking the lesson learned from rel="license", which was subsequently applied to rel="tag", a portion of a page (such as a blog post) defined by a compound microformat (e.g. an "hentry" from hAtom 0.1) may also refer to a shortened URL for that portion of the page with the use of rel="shortlink".
  • classname alternative. Pages (or portions thereof) that with to reference/publish a shortlink for themselves but without directly hyperlinking to the shortlink may do so by marking up the shortlink URL in an element with class name of "shortlink".

Examples

HTML

On a page like http://www.flickr.com/photos/tantek/3909804165/ it could have HTML to indicate a shortlink in one of two ways:

<link rel="shortlink" type="text/html" href="http://flic.kr/p/6XuLyD">

and/or

shortlink: 
<a rel="shortlink" type="text/html" href="http://flic.kr/p/6XuLyD">
 http://flic.kr/p/6XuLyD
</a>

HTTP

In addition, a request for a page like http://www.flickr.com/photos/tantek/3909804165/ should return as part of the HTTP headers:

Link: <http://flic.kr/p/6XuLyD>; rel="shortlink"

XMDP profile

<dl class="profile">
 <dt id="rel">rel</dt>
 <dd><p>
   <a rel="help" href="http://www.w3.org/TR/html401/struct/links.html#adef-rel">
     HTML4 definition of the 'rel' attribute.</a>  
   Here is an additional value.</p>
  <dl>
   <dt id="shortlink">shortlink</dt>
   <dd>Indicates that the referred resource carries the same meaning as the
       referring page (even if formatting such as sort order and highlighting
       is lost) and that the link may be used for space constrained and/or
       manual entry (e.g. printed or spoken) applications.</dd>
  </dl>
 </dd>
</dl>

examples in the wild

This section is informative and in alphabetical order.

Note: There are numerous uses of rel-shortlink in the wild, this is very much an incomplete list. If your site marked up with rel-shortlink, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page (rel-shortlink-examples-in-wild).

normative references

informative references

inferior alternatives

  • RevCanonical
    • rev= deprecated in HTML 5
    • rev= is easily confused with rel=, thus creating extreme danger for clueless webmasters
    • implies that referring URL is the canonical URL, thus should only be used for the canonical URL itself
    • implies that a complete list of referring URLs is offered, when in fact there are infinite possibilities
    • See also mnot's Counting the ways that rev="canonical" hurts the Web
  • RelShortcut
    • Scorched earth thanks to "shortcut icon" (now just "icon" in HTML 5) - rel is a space separated list for HTML at least
  • RelShort[er]
    • Ambiguous as to whether it refers to the URL or the content itself (e.g. abstract).
  • RelShorturl
    • Too many possible permutations: short[_- ]?ur[il] -> shorturl, short_url, short-url, "short url", short_uri, short-uri, "short uri", etc. leads to implementations supporting multiple variations.
    • Intellectual property issues:
      • Trademark status claimed by shorturl.com (shortlink infringes no known common law or registered trademarks)
      • Copyright protected specification (shortlink specification is public domain)
      • Patent status unknown (shortlink carries a patent pledge and has no known patents)
    • No effort to standardise via the usual processes (shortlink was submitted to IETF/W3C for discussion)