Main

April 28, 2008

Google embraces OAuth

Programmable Web just posted an article about Google and OAuth. They summarized OAuth very well:

Like the feature on many cars today where you give the parking attendant a special key to your car that gives him some, but not all, access to your vehicle. On the Web you now have your own keys to dozens of sites but how to best handle the mashup-style case of site A wants you to grant them access to get some data from site B? Ideally you don’t want to give site A your password to site B. OAuth aims to simplify this problem: “It allows you the User to grant access to your private resources on one site (which is called the Service Provider), to another site (called Consumer, not to be confused with you, the User).”

April 23, 2008

Google Calendar atom to XSLT to hCalendar

I've just spent the last few hours turning the atom feed from a Google Calendar into hCalendar formatted HTML output and I'm exhausted. This requires an asp feed parser, knowledge of XSLT and an understanding of atom feeds. Thank you Nathan for the parser!

2008-07-25 Update: Abhinav, who you can see in the comments of this post, found a way to order the posts so they appear chronologically instead of in the order you enter them into the calendar. Thanks Abhinav!

Here is the XSLT

Many thanks to Brad Hosack and Dave Hartley for your help!

April 21, 2008

learning hAtom

I'm beginning to play with hAtom today. HAtom is a microformat for content you might want to syndicate but you don't have in a blogging platform. You might use hAtom for:

  • An events calendar
  • A homegrown blog
  • An announcements section of your website

Like other microformats, hAtom uses standardized classes to tell browsers what kind of content is on a page. In this case, hAtom tells your browser that there is syndicated content available.

I am testing this idea in the sandbox and hope to learn enough about it to make an essentials post soon. I've found Guy Leech's article, Minimizing hAtom to be very helpful.

There are also good code examples at microformats.org.

Is anyone else using hAtom?

April 14, 2008

MinneWebCon

Thanks to everyone who came to the microformats talk at MinneWebCon today. I put my slides up here.

If you are using microformats please feel free to leave a comment here or email me. I'd like to start an affinity group.

Did anyone else know that Eric Meyer was one of the three people who established XFN and he is involved in microformats? If you did know and didn't tell me, thank you. I think I would have passed out!

April 07, 2008

mocolocal beta

MocoLocal is a service that lets you search for amenities in a US city. They also format all the search results in microformats so you can easily plan out your vacation destinations with a mobile device.

Brilliant.

You can also rate what you find to help other users find what they are looking for.

address tag vs. hCard

Sitepoint has a good article about the gray area between XHTML and microformats.

They touch on a point that I'd been wondering about. When I first discovered the hCard creator I was impressed that I could fill in my information and get code that helped me understand hCard rules. I was disappointed that all the code was put into div and span heavy coding. I explored adding the information to the address tag that we currently employ for contact information at work. I see now that we've been using the address tag incorrectly because we've been adding street addresses to it. From the sitepoint article:

Now, those paying attention – and those who have devoured the contents of this reference from cover to cover – may well be saying at this point: "Ah, but there is an element for addresses. It's called 'address'." But alas, you are mistaken. A quick check back to the reference for address will reveal that it is not used for the purpose of marking up a physical location, but is in fact for identifying the point of contact for a web page, and therefore may include an email address, or a telephone number or something of that ilk. If the address element is used for marking up a location (number, street, city etc), then it's actually been mis-used. So, what should you do?

Enter Microformats.

Maybe we should work on a mishmash of the address tag and an hCard, which can reside in any XHTML tag. I'd love to see examples in the wild.

March 27, 2008

Semantify

This write-up on Semantify is worth a look. I'm testing it out right now on a few sites.

Link: ReadWriteWeb and Semantify (part of Dapper.net)

Microformats, RDF, Semantic Web and search

ReadWriteWeb has posted a thorough article about Semantic Web technologies. There is a good comparison between RDF and microformats that outlines the benefits and shortcomings of both technologies. There is also a great section on semantic databases.

Link: ReadWriteWeb

March 24, 2008

hCalendar essentials

hCalendar is a powerful microformat that will allow your events to be distributed across web sites, media and devices.

Very much like hCard, hCalendar is comprised of standardized classes appended to XHTML tags. The following is the essential guide to hCalendar.

You can code your very own hCalendar very easily. There are only three required elements that may be appended to any XHTML tag.

  1. vcalendar or vevent (this is the root tag and all other classes must fall within this tag)
  2. dtstart
  3. summary

An example of the most basic hCalendar item is this:

June 24, 2008 11:30Student orientation

If you want to add more information to your events, you can use the following classes appended to any XHTML tag.

Description hCalendar identifier
vevent can be within vcalendar, but either is recognized as an hCalendar entry class="vcalendar" or class="vevent"
Date and time your event begins in ISO format class="dtstart"
The physical location of your event class="location"
A URL related to the event a class="url"
The event end time class="dtend"
The duration of the event class="duration"
You may categorize your events class="category"
Description class="description"
You can really pinpoint your location with latitude and longitude information class="geo"

This is an example of a more complex hCalender event.

Resources

March 17, 2008

"Content ripping free from its page"

Chris Brogan wrote up an excellent article on how Yahoo! plans to use its search technology to index your microformatted content.

This means Yahoo! searches might return more concise and more useful data. This could mean that on-site advertising will be less profitable.

Chris Brogan says this so well:

If you look at this as an opportunity, you can see all kinds of ways that having quality microcontent, using appropriate microformats would be a great way to deliver portable value that might catapult you ahead of other previous search efforts.

From Michael Arrington

They are saying that they will support a number of microformats at the start: hCard, hCalendar, hReview, hAtom and XFN. They will support vocabulary components from Dublin Core, Creative Commons, FOAF, GeoRSS, MediaRSS, and others.

This is a good sign that microformats are the way of the future. Hop on kids, the bandwagon is rolling!

Via: Chris Brogan
Also: Yahoo! announcement and Blogspotting's article on Yahoo!

March 07, 2008

Microformat support in ie8

This just in:

Internet Explorer 8 will support microformats. Via: FactoryJoe.

The most exciting tidbit I saw today was Jon Udell's write up about native hSlice support. It essence, it will allow your page to be your feed. It will allow your content to travel. I am very excited about the possibilities.

Kudos to Microsoft for integrating hSlice (based on hAtom). This is an important step on the way to widely supported standards.

hCard essentials

You can code your own hCard very easily. There are two requirements:

  1. Contact information must be contained within a page element that has the id="vcard" and a unique class
  2. The full name of the person or organization must be identified with class="fn" or class="org fn"

If you want to add more information to an hCard, follow these guidelines:

Description hCard identifier
Full Name is defined as one given name and one family name. class="fn"
Given name class="given-name"
Additional (Middle) name class="additional-name"
Family name class="family-name"
Profile photograph must be used on an img tag img class="photo fn"
Related website a class="url fn"
Organization a class="org"
E-mail a class="email"
Address class="adr"
Address tags may contain other tags class="street-address" or
class="locality" (city) or
class="region" (state) or
class="postal-code" or
class="country-name"
Telephone class="tel"

Additional Resources

The views and opinions expressed in this page are strictly those of the page author. The contents of this page have not been reviewed or approved by the University of Minnesota.