microformats: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(removed suggestion per follow-up on the page itself, added quotes relating to principles.)
(move principles and quotes related to principles to separate principles page.)
Line 25: Line 25:


== the microformats principles ==
== the microformats principles ==
* solve a specific problem
See [[principles]].
* start as simple as possible
== quotes ==
** solve simpler problems first
See also [[principles#quotes|quotes relating to the principles]].
** make evolutionary improvements
* design for humans first, machines second
** be presentable ''and'' parsable
** ''visible data'' is much better for humans than ''invisible metadata''
** adapt to current behaviors and usage patterns, e.g. (X)HTML, blogging
** [http://tantek.com/log/2003/0813t1158.html#handauthoring ease of authoring is important]
* reuse building blocks from widely adopted standards
** [http://tantek.com/presentations/20040928sdforumws/semantic-xhtml.html semantic], [http://tantek.com/presentations/2005/03/elementsofxhtml meaningful (X)HTML]. See [[SemanticXHTMLDesignPrinciples]] for more details.  
** existing microformats
*** as a whole, e.g. use [[hcard|hCard]] for representing people
*** in part, reusing particular semantic class names, following [[naming-principles|microformats naming principles]]
** well established schemas from interoperable RFCs
* modularity / embeddability
** design to be reused and embedded inside existing formats and microformats
* enable and encourage decentralized and distributed development, content, services
** explicitly encourage the original "spirit of the Web"
 
* Related Principles we re-use from other design paradigms
** [http://en.wikipedia.org/wiki/Don%C2%B4t_repeat_yourself DRY] (Don't Repeat Yourself)
** [http://en.wikipedia.org/wiki/Principle_of_least_surprise Least Surprise]
** [http://en.wikipedia.org/wiki/Pareto_principle Pareto Principle] (80/20)
** Data Integrity.  One of the common objectives which many of the principles help achieve is data integrity.
*** Visible data = more accurate data. By designing for humans first and making the data presentable (thus viewed and ''verified'' by humans), the data is inevitably more accurate not only to begin with (as errors are easily/quickly noticed by those viewing the pages/sites), but over time as well, in that changes are noticed, and if data becomes out-of-date or obsolete, that's more liklely to be noticed as well.  This is in direct contrast to "side files" and invisible data like that contained in <code>&lt;meta&gt;</code> tags.
*** Not repeating yourself (following DRY) - means there are fewer chances for inconsistency
*** Multi-language integrity.  Perhaps not a principle, but many of those involved with microformats have found that consistently [[using-utf-8|using UTF-8]] helps ensure that the human text content itself is not corrupted, especially when using non-ASCII7 characters.


== current microformats ==
== current microformats ==
See the [[Main_Page|main page]] for a list of current microformats specifications, drafts, and discussions.
See the [[Main_Page|main page]] for a list of current microformats specifications, drafts, and discussions.


== more thoughts on how microformats are different ==
== more thoughts on how microformats are different ==
There are plenty of existing formats that are ''nearly'' totally useless/ignored.
There are plenty of existing formats that are ''nearly'' totally useless/ignored.


Line 86: Line 59:


Microformats tends to take a positive attitude of developing and using the best techniques we can come up with (and iterating upon them), rather than banning/blocking techniques for reasons of fear or cost and thus resulting in inaction. To scrap something, there must be a better alternative provided which addresses the same problem(s) at least as well, with lower costs.
Microformats tends to take a positive attitude of developing and using the best techniques we can come up with (and iterating upon them), rather than banning/blocking techniques for reasons of fear or cost and thus resulting in inaction. To scrap something, there must be a better alternative provided which addresses the same problem(s) at least as well, with lower costs.
== quotes ==
quotes relating to the principles.
=== simple ===
"The trick.... is to make sure that each limited mechanical part of the Web, each application, is within itself composed of simple parts that will never get too powerful." — Tim Berners-Lee, Weaving The Web
"The beauty of this is its simplicity. If the plan gets too complex something always goes wrong." — [http://www.imsdb.com/scripts/Big-Lebowski,-The.html John Goodman's character "Walter"]
=== modular ===
"...if I had insisted everyone use HTTP, this would also have been against the principle of minimal constraint. ... the Web would come as a set of ideas that could be adopted individually in combination with existing or future parts." — Tim Berners-Lee, Weaving The Web

Revision as of 16:18, 3 September 2007

microformats

What are microformats?

Author/Editor: Tantek Çelik

microformats are

microformats are not

  • a new language
  • infinitely extensible and open-ended
  • an attempt to get everyone to change their behavior and rewrite their tools
  • a whole new approach that throws away what already works today
  • a panacea for all taxonomies, ontologies, and other such abstractions
  • defining the whole world, or even just boiling the ocean
  • controlled by any individual or organization
  • any of the above

the microformats principles

See principles.

quotes

See also quotes relating to the principles.

current microformats

See the main page for a list of current microformats specifications, drafts, and discussions.

more thoughts on how microformats are different

There are plenty of existing formats that are nearly totally useless/ignored.

They're not totally useless though. They're useful in that they illustrate what at least someone thought might be useful, which unfortunately is typically a lone-inventor working a-priori without any domain expertise.

Or there is the other extreme. Lots of corporate inventors working with plenty of experience, over-designing a format for what might be needed some day. In particularly bad cases, the corporate vendors collude to prevent openness and/or adoptability by the open source community. Media standards often suffer from this kind of deliberate "strategic" positioning.

We seek to combat all of those problems with the microformat approach.

  • We're not lone-inventors; we're a community.
  • We don't work a-priori ("from reason alone"); we require documentation of existing examples, previous attempts at formats. See process.
  • When lacking domain expertise, we seek out the domain experts to provide it, and we immerse ourselves in examples and prior art from the domain (see previous point).
  • We do our work in the open with open discussion forums.
  • We're a diverse mix of corporate, independent, hobbyist, enthusiast.
  • We don't over-design. We under-design, deliberately, and then only add things when they are absolutely necessary.
  • We adopt very liberal copyright/licensing (CC,GMPG,IETF,W3C) and patent positions (RF,IETF,W3C).
  • We ruthlessly self-criticize based on our principles in order to keep to the above.

Some ask what the purpose of the (intended) standards is.

Why do you need purpose? More often than not, premature focus on purpose tends to distort data formats towards a particular application which may not be all that relevant. Hence rather than focus on a-priori purpose, we focus on modeling existing behavior, with the knowledge that additional structure will yield plenty of interesting uses, most of which we will not be able to a-priori predict.

This is obviously a very different approach than traditional data format efforts.

Positive with iteration rather than negative with inaction.

Microformats tends to take a positive attitude of developing and using the best techniques we can come up with (and iterating upon them), rather than banning/blocking techniques for reasons of fear or cost and thus resulting in inaction. To scrap something, there must be a better alternative provided which addresses the same problem(s) at least as well, with lower costs.