microformats2-brainstorming: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(adopt itemref isomorphically for microformats 2 rather than the include-pattern)
(move further simplifications to microformats-2-implied-properties)
Line 1: Line 1:
{{stub}}
Brainstorming experimental / undeveloped / rejected ideas for [[microformats-2]].
Brainstorming experimental / undeveloped / rejected ideas for [[microformats-2]].


Line 6: Line 4:


=== more on allow root class name only ===
=== more on allow root class name only ===
 
This has been stable for a while, see:
==== name default property on all ====
* [[microformats-2-implied-properties]]
* 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. [[User:Tantek|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.
<source lang=html4strict>
<a class="h-card" href="http://chrismessina.me/">Chris Messina</a>
</source>
 
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 &lt;img src alt&gt;
E.g.
<source lang=html4strict>
<img class="h-card" src="http://example.org/pic.jpg" alt="Chris Messina" />
</source>
 
parses as:
* microformat: h-card
* implied 'p-name' from img alt: Chris Messina
* implied 'u-photo' from img src: <nowiki>http://example.org/pic.jpg</nowiki>
 
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:
<source lang=html4strict>
<a class="h-card" href="http://chrismessina.me/">
<img src="http://example.org/pic.jpg" alt="Chris Messina" />
</a>
</source>
 
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: <nowiki>http://example.org/pic.jpg</nowiki>
 
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 ==
== adopt itemref ==
Line 92: Line 34:
* [[microformats-2-brainstorming]]
* [[microformats-2-brainstorming]]
* [[microformats-2-prefixes]]
* [[microformats-2-prefixes]]
* [[microformats-2-implied-properties]]
* [[microformats-2-faq]]
* [[microformats-2-faq]]

Revision as of 11:18, 3 October 2011

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

further simplifications

more on allow root class name only

This has been stable for a while, see:

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