anti-patterns: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(drafted)
 
m (→‎empty hyperlinks: Google is a proper noun in this context)
 
(5 intermediate revisions by 2 users not shown)
Line 15: Line 15:
=== removing data from its context ===
=== removing data from its context ===


HTML4 contains numerous mechanisms for storing machine data icn a document in the <nowiki><head></nowiki> such as a list of <nowiki><link>'s or <meta>'s</nowiki>.
HTML4 contains numerous mechanisms for storing machine data in a document in the <nowiki><head></nowiki> such as a list of <nowiki><link> or <meta></nowiki> elements.


This is an anti-pattern.
This is an anti-pattern.


Disconnecting data (or meta-data, whatever you prefer to call it) from its context inevitably leads to corruption, and loss of fidelity.  Meta keywords rotted for example. One person writes the template with the head and link and meta, and another puts the content in the page, etc. etc.
Disconnecting data (or meta-data, whatever you prefer to call it) from its context inevitably leads to corruption, and loss of fidelity.  Meta keywords rotted for example. One person writes the template with the head and link and meta, and another puts the content in the page, etc.


Removing data from its context is an anti-pattern.
Removing data from its context is an anti-pattern.
Line 27: Line 27:
More than once it has been proposed to use empty hyperlinks to store machine readable information at least ''near'' the context of the related human readable information.
More than once it has been proposed to use empty hyperlinks to store machine readable information at least ''near'' the context of the related human readable information.


Empty hyperlinks are still problematic for several reasons however.
Empty hyperlinks are still problematic for several reasons however:


"any SEO worth his salt will know anchor text links that go nowhere, will  
<blockquote>
any SEO worth his salt will know anchor text links that go nowhere, will  
* A, reduce the quality of out going links from your site so reducing PR (Page Rank) and  
* A, reduce the quality of out going links from your site so reducing PR (Page Rank) and  
* B, more than likely get you banned from google because it will think you are trying to spam it...."
* B, more than likely get you banned from Google because it will think you are trying to spam it...
</blockquote>
 
=== invisible metadata ===
In the early days of HTML, authors used to place keywords for their pages in an invisible <code><nowiki><meta></nowiki></code> tag and search engines used this information, because the specifications said to do so. However, before long, in the realm of the Wild Wild Web, these meta keywords fell out of sync with the content on pages, were polluted, spammed, and otherwise abused until there was so much noise, any semblance of signal was lost. The invisible metadata of meta keywords, which, lacking any positive feedback loop, through the combination of gaming incentives and natural entropy, historically has deteriorated into useless noise. 
 
This is in stark contrast to visible data, even semi-visible data like hyperlink destinations, or title attributes commonly displayed as tool-tips.  This is part of the basis for the microformats [[principle]] of humans first, machines second.
 
Excerpted/rephrased from: <cite>[http://tantek.com/log/2005/06.html#d03t2359 Principles of visibility and human friendliness].</cite>
 
==== data in class attributes ====
Storing data in class attributes has been proposed a number of times.  Unfortunately storing data in a class attribute is simply another form of invisible metadata and thus an anti-pattern that should be discouraged.
 
==See also==
*[[anti-design-patterns]]
*[[social-network-anti-patterns]]

Latest revision as of 03:33, 8 January 2008

anti-patterns

This is an index page for pointing to various known anti-patterns, in particular those that have been encountered by the microformats community during the development of POSH patterns or microformats within

New anti-patterns may be documented here at first and then moved to their own page(s).

known anti-patterns

recent anti-patterns

These anti-patterns have been recently noted:

removing data from its context

HTML4 contains numerous mechanisms for storing machine data in a document in the <head> such as a list of <link> or <meta> elements.

This is an anti-pattern.

Disconnecting data (or meta-data, whatever you prefer to call it) from its context inevitably leads to corruption, and loss of fidelity. Meta keywords rotted for example. One person writes the template with the head and link and meta, and another puts the content in the page, etc.

Removing data from its context is an anti-pattern.

empty hyperlinks

More than once it has been proposed to use empty hyperlinks to store machine readable information at least near the context of the related human readable information.

Empty hyperlinks are still problematic for several reasons however:

any SEO worth his salt will know anchor text links that go nowhere, will

  • A, reduce the quality of out going links from your site so reducing PR (Page Rank) and
  • B, more than likely get you banned from Google because it will think you are trying to spam it...

invisible metadata

In the early days of HTML, authors used to place keywords for their pages in an invisible <meta> tag and search engines used this information, because the specifications said to do so. However, before long, in the realm of the Wild Wild Web, these meta keywords fell out of sync with the content on pages, were polluted, spammed, and otherwise abused until there was so much noise, any semblance of signal was lost. The invisible metadata of meta keywords, which, lacking any positive feedback loop, through the combination of gaming incentives and natural entropy, historically has deteriorated into useless noise.

This is in stark contrast to visible data, even semi-visible data like hyperlink destinations, or title attributes commonly displayed as tool-tips. This is part of the basis for the microformats principle of humans first, machines second.

Excerpted/rephrased from: Principles of visibility and human friendliness.

data in class attributes

Storing data in class attributes has been proposed a number of times. Unfortunately storing data in a class attribute is simply another form of invisible metadata and thus an anti-pattern that should be discouraged.

See also