microformats2-brainstorming: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(cleanup see also)
(adopt itemref isomorphically for microformats 2 rather than the include-pattern)
Line 64: Line 64:


to-do: try examples with organizations, events, products
to-do: try examples with organizations, events, products
== adopt itemref ==
There many existing real-world use-cases where either:
* several microformats in a page want to share some common data without repeating it, e.g. a page about a product with multiple reviews of that product (very common, products sites, Amazon/CNET et al, review aggregators, Yelp et al)
* a microformat in a page needs to incorporate information spread across different parts of a page, without assigning the entire page to that microformat
The [[include-pattern]] provides the necessary functionality for existing microformats (1.0).
For 2.0 it may be reasonable to simply re-use the nice <code>itemref</code> attribute from microdata, with identical/analogous functionality.
That is, when present on the root element of a microformat, the <code>itemref</code> attribute provides a space separated list of ids of elements in the document which are then incorporated as children of the microformat, before its actual children in the document. This is a simple coarse summary of course, and the actual itemref inclusion algorithm should be followed.
One might say that this raises the issue of requiring [[HTML5]] with the ability to accepted extended attributes like "itemref", but I think that might be ok for the set of use-cases that need "itemref". That is, they *are* a minority of actual use-cases, and thus making them use HTML5 is probably ok.


== rejected ideas ==
== rejected ideas ==

Revision as of 10:14, 21 September 2011

This article is a stub. You can help the microformats.org wiki by expanding it.

Brainstorming experimental / undeveloped / rejected ideas for microformats-2.

further simplifications

more on allow root class name only

name default property on all

  • pick 'p-name' (per feedback from microformats mailing-lists over the years, Google Rich Snippets renaming, etc. as better to use 'name' instead of 'fn' - benefits outweigh costs) as the single required and thus implied property of *every* microformat. that is, make this part of the syntax - we're marking up proper nouns. Tantek 14:50, 9 June 2011 (UTC)
    • may not work for all microformats, e.g. how would adr or geo work with this?

use-cases: every single proper noun on any web page.

to-do: try examples with organizations, events, products (however note that those are almost always capitalized thus implying proper noun / name semantics)

imply url property from root only a href

  • imply 'u-url' property from a root class name only on an <a href>

E.g.

<a class="h-card" href="http://chrismessina.me/">Chris Messina</a>

parses as:

  • microformat: h-card
  • implied 'name' from root element contents: Chris Messina
  • implied 'url' from a href: http://chrismessina.me/

use-cases - nearly every link to a person ever like on blog posts, blog rolls etc. all the same data/use-cases that informed XFN.

to-do: try examples with organizations, events, products

imply name and photo properties from root only img

  • imply 'u-photo' property from a root class name only on an <img src alt>

E.g.

<img class="h-card" src="http://example.org/pic.jpg" alt="Chris Messina" />

parses as:

  • microformat: h-card
  • implied 'p-name' from img alt: Chris Messina
  • implied 'u-photo' from img src: http://example.org/pic.jpg

use-cases - nearly every social networking site that shows a grid of people without text already does so with img tags and their names in the alt attribute. most of those are linked too, which brings me to the next imply:

to-do: try examples with organizations, events, products

imply name and photo property from img only child of a href

Combining the above:

<a class="h-card" href="http://chrismessina.me/">
 <img src="http://example.org/pic.jpg" alt="Chris Messina" />
</a>

parses as:

  • microformat: h-card
  • implied 'u-url' from a href: http://chrismessina.me/
  • implied 'p-name' from img alt: Chris Messina
  • implied 'u-photo' from img src: http://example.org/pic.jpg

use-cases - nearly every social networking site that shows a grid of people without text already does so with hyperlinked img tags and their names in the alt attribute.

to-do: try examples with organizations, events, products

adopt itemref

There many existing real-world use-cases where either:

  • several microformats in a page want to share some common data without repeating it, e.g. a page about a product with multiple reviews of that product (very common, products sites, Amazon/CNET et al, review aggregators, Yelp et al)
  • a microformat in a page needs to incorporate information spread across different parts of a page, without assigning the entire page to that microformat

The include-pattern provides the necessary functionality for existing microformats (1.0).

For 2.0 it may be reasonable to simply re-use the nice itemref attribute from microdata, with identical/analogous functionality.

That is, when present on the root element of a microformat, the itemref attribute provides a space separated list of ids of elements in the document which are then incorporated as children of the microformat, before its actual children in the document. This is a simple coarse summary of course, and the actual itemref inclusion algorithm should be followed.

One might say that this raises the issue of requiring HTML5 with the ability to accepted extended attributes like "itemref", but I think that might be ok for the set of use-cases that need "itemref". That is, they *are* a minority of actual use-cases, and thus making them use HTML5 is probably ok.

rejected ideas

n prefix for multiple numbers

Idea:

  • "n-*" for (one or more) numbers, e.g. "n-rating", "n-geo", leaving the semantics of more than one number up to specific format. e.g. for an "n-rating" inside an "h-review", the first number would presumably be the rating value, when only two numbers the second would be the "best" value (e.g. rated <span class="n-rating">3 out of 4</span>), when three numbers the second would be the "worst" and the third would be the "best" (e.g. <span class="n-rating">7.5 out of 1 to 10</span>). similarly "n-geo" would specify the first number to be the latitude and the second to be the longitude.

Rejected because while this *might* work for some properties in *English* it will NOT localize/internationalize well (orders of numbers in phrases change in different languages), and it will also limit the human expressivity of the plain text. Thanks to Ben Ward for this feedback at the 2011-06-02 microformats dinner. Tantek 14:25, 9 June 2011 (UTC)

see also