Tuesday, July 20, 2010

Sample Title Marked up Using x-hTitle Microformat Proposal

This blog entry will demonstrate using the proposed x-hTitle microformat to mark up a title. Since this is a sample for a microformat proposal, what better title to use than the one that I first read regarding the subject. So, without further adieu, here's a sample. One other quick note: I may edit this blog entry from time-to-time, adding more samples. Eventually, they will all be moved to the microformats.org site if this proposal becomes a draft specification.

Sample x-hTitle Formatted Title

Microformats: Empowering Your Markup for Web 2.0
Publisher: friends of ED
Edition: First Edition
Abstract

Microformats burst onto the scene a couple of years ago and are fast becoming an essential tool for all professional web designers and developers. Imagine being able to integrate all of yourr web-based contact details, tagged articles, and geographical information seamlessly in web and desktop applications, without having to add anything extra to your websites except a little specialized HTML markup.

Microformats provide a more formalized technology for adding commonly used semantics (such as contact details, locations, and reviews) to today's Web. Unlike XML or the Semantic Web, microformats use ubiquitous technologies like HTML and XHTML, existing developer skills and current web tools, and, perhaps most important, they all work in today's web browsers.

This book is a comprehensive guide to microformats. It explores why, in Bill Gates' words, We need microformats; how microformats work; and the kinds of problems microformats help solve. The book covers every current microformat, with complete details of the syntax, semantics, and uses of each, along with real-world examples and a comprehensive survey of the tools available for working with them. The book also features case studies detailing how major web content publishers such as Yahoo! put microformats to work in their web applications.

Written by one of the Web's best-known educators, John Allsopp, Microformats: Empowering Your Markup for Web 2.0 will help you painlessly get up to speed with this exciting technology.

In this Book You'll Learn...
  • How to take best advantage of the built-in semantics of XHTML and HTML.
  • How to extend the semantics of HTML using microformats and open up a world of new possibilities with web applications.
  • Every aspect of all the common microformats currently in use.
  • How microformats help your websites and applications easily integrate with web applications like Google Maps, as well as desktop applications like iCal, Outlook, and Entourage.
  • What innovative publishers and services, big and small, are doing right now with microformats.
Summary of Contents
  • Part One: Introducing Microformats
    • Chapter 1: What are Microformats?
    • Chapter 2: The State of the Art in Microformats
  • Part Two: Using Microformats
    • Chapter 3: Structural and Semantic HTML
    • Chapter 4: Link-Based Microformats: rel-license, rel-tag, rel-nofollow, and VoteLinks.
    • Chapter 5: Microformat to Describe Relationships Between People: XFN
    • Chapter 6: Location Microformats: geo and adr
    • Chapter 7: Contact Information Microformat: hCard
    • Chapter 8: Event Microformat: hCalendar
    • Chapter 9: Review and Resume Microformats: hReview and hResume
    • Chapter 10: Syndicated Content Microformat: hAtom.
  • Part Three: Case Studies
    • Chapter 11: Case Study: Cork'd
    • Chapter 12: Case Study: Yahoo!
  • Part Four: Developing Microformats
    • Chapter 13: The Process of Developing Microformats
  • Part Five: Appendixes
    • Appendix A: Microformat Specification Reference
    • Appendix B: Microformat Design Patterns
    • Appendix C: People, Tools, Services, and Publishers

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.

Sunday, July 11, 2010

Wow, it's been a long while!

We Thought You Fell Off the Face of the Earth!

Hello everyone. I'm still around. Well, I warned you, I may not write often. I hope, though, that there are still some readers out there (or new ones will find this blog).

First, a very quick update in fast-forward. I moved because my wife got laid off about a year and a quarter ago. She got a new job fairly quickly given the economy, so that's that. In addition, I've completed two more semesters at Kutztown University and I will be entering my last semester this Fall. I've also been taking two Summer courses.

The main reason for not writing in so long has been three-fold:

  1. The last two semesters have been extremely difficult—on the flip side, I managed to pull off very good grades; so I'm very pleased about that.
  2. I've been trying to work whenever I can to get all those computers installed at Thermocouple Technology, Inc., but it's been really slow going.
  3. Making things even more slow going at TTEC is the fact that I decided to get a different Summer job that would be involved with coding. It is to a certain extent (if you call writing SQL programming), plus, the job is about an hour away from where I live.

My coursework at school over the last two semesters included taking Compiler Design I and II using the famous Dragon Book. I tried to implement a language that could replace SQL. Well, being I wrote the language in academia for academia, it didn't quite turn out the way I would've liked. I spent every waking minute last semester writing code for that class. Anyway, the idea is that the language could be used not only for relational databases, but also XML data, structured textual data (e.g. CSV files, tab-delimited files, etc.), or any other structured data (possibly using some kind of schema definition). As the semester wore on, I whittled the language down to just working with relational databases for the start. However, I didn't have time to learn another database technology with an open API where I could directly access the query engine, so I ended up translating my language to SQL anyway, which didn't work out quite so well. Having said that, my ideas are completely valid and workable, given enough time and resources to develop it properly, and it very well could replace SQL using a much more human-readable/writable syntax. In fact, part of my coursework this Summer is writing a paper on this language and its goals.

Anyway, enough of that. So in a nutshell (which is a first for me, believe me!), that's what's happened over the last year and a half or so.

Why write now?

Well, I'm glad you asked. As mentioned, it's my last semester coming up this Fall at Kutztown University. As such, I'm required to take a course colloquially called Senior Sem, the cap-stone course that's supposed to tie together everything we learned into a final project.

Being who I am, I plan on making the best of it. My idea: an inventory system for all the different types of media I own—books, CDs, DVDs, magazines, sheet music, etc. It will be web-based using the new ASP.net MVC 2.0 framework. I will also be investigating technologies such as jQuery, and AJAX. In addition, I plan on proposing two new microformats to microformats.org to use with my project. I will be writing a few more blog posts over the next couple of days/weeks that contain pre-pre-draft specifications of the proposed microformats, as well as samples of how they could be used alone or along with other existing microformats.

I'm very excited about my project and hope to learn a lot of real-world skills and create a usable application. Whether anyone else would find it useful, I don't particularly care, I've been wanting a comprehensive application like this for years.

More on Microformats

If you don't know what microformats are, I'd encourage you to visit the website I linked to above. In addition, there's also RDFa. The two technologies are complementary. RDFa, as I understand it, is for machines first, whereas microformats are for humans first. Both can be used together to make the web a much more meaningful place for humans and machines.

To make the most of this embedded information, you can use various browser plug-ins to access the information. For example, there is Oomph for Internet Explorer, and Operator for Firefox. When microformats are available on the page, these tools will let you export contact information, calendar events, product information, RSS/Atom feeds, etc. There's a lot of information that can be encoded in semantic XHTML. If you haven't noticed, this blog post has tons of microformats embedded within it.

Conclusion

So, stay tuned, as I begin "the process" of proposing new microformats. I hope to write again in a few days.