Tuesday, July 20, 2010

A New Microformat Propoal: x-hTitle

Comments Regarding the Proposed x-hTitle Pre-Draft Specification

This blog post is meant to document my vision of a microformat for semantically marking up information about titles. On the microformats.org process page, it is recommended that you not name your new proposed format hsomething. But, since this is a proposed pre-draft specification, I need to be able to reference something throughout this specification. Therefore, I am naming this proposed format x-hTitle, where x stands for experimental. If there is interest in developing this microformat further, the x in the name could be removed. In addition, the name of the proposed microformat could change according to community consensus during the specification process.

The x-hTitle Proposed Pre-Draft Specification

Editor/Author
  • Craig S
Contributors

None yet. If you would like to contribute, please register on the microformats.org's microformats-new mailing list and read posts regarding this proposal and contribute your thoughts and suggestions. If this proposal gets the green light to become a draft specification, you can contribute to the specification at the microformats.org's website and your name will be listed in this section of the specification.

Introduction

It is difficult for a browser to extract semantic information about a book title described on a web page. Metadata such as author, cover image, and book genres/categories provide relevant content for titles.

In order to keep this microformat as generic as possible, I want to make a distinction between titles and books. A title is something than an author writes. A book is a published representation of a title. There may be more than one book for a given title, for example, a hardcover book, a paperback book, a large-print or illustrated book, etc. Each of these books will have a different ISBN even though they are the same title.

This microformat aims to codify the semantic structured markup of titles. Since a title can describe (possibly) many books, semantically marking up title information has one very important implication: a title which contains reviews (using the hReview or the hReview-aggregate microformat) may have all reviews for it aggregated in one place. This aggregation may then be used to display this information for several books (e.g. the same reviews would be shown for a hardcover, softcover, or other formats of a title) because they are all for the same title.

Having such information marked up can provide many benefits to the viewer of such a page. If a web browser understands that a particular web page contains a title, it can provide rich interactions for the user—for example, specific searches for titles via search services such as Google, Amazon, Yahoo!, Bing, etc. While Amazon already does a good job of returning search results for titles (since that is its primary business) and searches for titles on major search engines usually yield a link to Amazon, marking up titles using a microformat can make indexing title information easier while making this information more accessible to users. In addition, classification of titles by search engines (and crawlers) can be made more accurate. Also, if a page contains many titles by the same author(s), then the web page is not only a list of titles, but also about a particular author(s).

In order to enable and encourage the sharing, distribution, syndication, and aggregation of title content and information, the author proposes a pre-draft specification of a x-hTitle microformat, an open standard for distributed metadata about titles. The author has researched numerous sites which contain titles for sale or advertisement and has designed the x-hTitle microformat around a simple, minimal schema for information regarding a particular title. Feedback is encouraged on this blog entry. If there is enough interest in this pre-draft specification to warrant making a sanctioned draft specification of this microformat, future feedback will be moved to the official microformats.org website.

Inspiration and Acknowledgements

This proposal came about because of reading the book Microformats: Empowering Your Markup for web 2.0 by John Allsopp (note: the book's title has been marked up using this very proposed microformat) and my need to create an inventory system for all media that I own, including CDs, DVDs, books (again, a specific representation of a title), magazines, and anything else media related. As there already exists a hAudio and hMedia microformat, titles are notably left out and most likely relegated to another microformat such as hProduct or hListing which are not the most suitable microformats for this information given the distinction between a title and a particular publication of that title—a book (which is a product and which can be listed, whereas a title in and of itself, is not and can not).

Scope

Information about titles consistently share several common fields. Where possible, this proposed microformat has been based on this minimum common subset.

Out of Scope

This microformat does not aim to be a means of publishing a title online (such as the proposed book microformat boom). Instead, it is a means of marking up information about a title suitable for searching, viewing, and aggregating on sites such as Amazon and Google Books. This microformat, therefore, is not a competitor to boom, rather, it serves a much different purpose.

Format
Abstract

The proposed x-hTitle microformat is based on a set of fields common to many Internet web sites and formats in use today that provide information about titles (in the form of books), whether for sale, advertisement, or promotional or informational purposes. Where possible, field names have been chosen based on those defined by many related microformat standards.

Schema Key
Table 1. Schema Key
Field Format Description
bold{1}must be present exactly once.
italic* optional, and may occur more than once
+ must be present, and may occur more than once.
? optional, but must not occur more than once.
[square brackets]A list of common values
(paretheses)Data format
#A comment.
!Awaiting documentation
Schema

The proposed x-hTitle microformat schema consists of the following:

  • x-hTitle{1}.
    • version ?. Using text.
    • fn{1}. Reused from hCard
    • edition ?. Using text.
    • volume ?. Using text.
    • contributor*. Reused from hMedia.
    • description ?. Using any valid XHTML markup.
    • review*. Using hReview or hReview-aggregate .
    • category* Using text.
Property Details
version
This optional property permits title publishers to specify a particular version of the x-hTitle microformat that their content uses. By omitting this property, the publisher is stating that implementations may interpret titles marked up using this microformat according to the schema version <to be decided> or later. In practice, the author of this specification is committed to maintaining backward compatability with content produced using earlier versions of the specification. This property is syntax compatible with, and thus reuses semantics of VERSION as defined in the vCard RFC2426 section 3.6.9 VERSION Type Definition. The value of this property for this specification is <to be decided>.
  • The element is identified by the class name version
  • x-hTitle may include only one version property.
fn
The full name of the title, including any subtitle.
  • x-hTitle must include one fn element.
  • The element is identified by the class name fn.
  • If the title being marked up with this microformat has its own website (for example, for forum discussions related to the title, source code, or other content), then hCard may be used to provide that information with the title.
  • This element is reused from hCard.
edition
This property specifies the specific edition of a title.
  • The element is identified by the class name edition.
  • x-hTitle may include one instance of this property.
  • This property may use the abbr-design-pattern .
  • Since the content of a title from one edition to a next can differ significantly, this information should be included if applicable and available.
volume
This property specifies that the title is a particular volume of a larger collection of works which share a main title.
  • This element is identified by the class name volume.
  • x-hTitle may include one volume element.
  • This information should be included if applicable and available.
  • This property may use the abbr-design-pattern .
contributor
A contributor is any entity that takes part in the creation and distribution of a title. Examples include: author, illustrator, publisher, editor, technical reviewer, etc.
  • This element is identified by the class name contributor.
  • x-hTitle may include one or more contributors.
  • The contents of the element should include a valid hCard.
    • The role element of hCard should be used to specify the contributor's responsibility related to the title.
description
An abstract or explanation of the contents of the title being marked up. for example, this field could be used to contain the text on the back of a technical book that summarizes the content of the title. Or, such as with fiction hardcover books, the content that appears on the inside flaps of the dust jacket.
  • This element is identified by the class name description.
  • The element's contents may include any valid XHTML.
  • x-hTitle may include more than one description.
    • If more than one description is defined, the full description is the concatenation, in order, of these elements.
review
The existence of this property identifies review(s) for the title.
  • The element is identified by the class name review.
  • Reviews should use the hReview microformat.
  • If many reviews are to be listed for a title, consider using the hReview-aggregate microformat, instead.
category
The category property can be used to classify the genre, style, or keywords and subject matter associated with the title. Examples could include: fiction, horror, mystery, computer, technical, programming, instructional, biography, etc.
  • The element is identified by the class name category.
  • x-hTitle may include one or more category elements.
  • This element may be expressed using the rel-tag elemental microformat. When a category is expressed using rel-tag, the content of this element is used as the text for the category. For example: <a class="category" rel="tag" href="/tags/romance">Romance</a> would have "Romance" as the text for the category.

No comments:

Post a Comment