Creating more Semantic, Detailed and Portable Product Lists with Atom and hProduct Namespace

Posted in: hProduct, Data Portability, Microformats, Theory, Business, Web Standards, Working

I’ve been tasked with coding the front-end on a new-fangled wish list app for my dear Co., Inc. While that isn’t particularly exciting or interesting, these days I’m always looking to throw a little semantic twist in there, usually along the lines of a rel tag here, full-on microformat there. Since we’re talking product lists here, I’d be remiss if I didn’t use the emerging hProduct draft spec in my markup, which is already part of the plan.

In talking with the project brain wizards and a colleague, it appears one of the requirements is to make these lists “portable”. This I’m a fan of. I sport a dataportability.org sticker on my laptop, but haven’t necessarily found an outlet to use the portability techniques prescribed. This could be a perfect opportunity.

It should be relatively straight forward to build unique list-based Atom feeds (I’m assuming the best out of our technology partners here, they’ve been much maligned in my blog comments before). This may be perfect to build a basic list to share via a feed reader. But what about an open standard similar to hProduct that would more fully define the products in lists to the apps that want it?

Extending the data elements of hProduct to an atom feed may be just the fix. With a simple hProduct namespace (or other aptly-named namespace) we can define rich product details outside of the current atom spec to machines and applications while preserving the integrity of a basic feed for those who want to utilize it in a reader.

A quick example:

<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:hproduct="http://microformats.org/hproduct/namespace/1.0">
        <id>http://www.jaysstore.com/gifting/lists</id>
        <updated>2008-01-14T08:06:21+01:00</updated>
        <title>jaysstore.com Gifting list for Bill Morgan</title>
        <link rel="alternate" type="text/html" href="http://www.jaysstore.com/gifting"/>
        <link rel="self" href="http://www.jaysstore.com/gifting/bmorgan/list" />
        <author>
                    <name>jaysstore.com</name>
                    <email>gifting@jaysstore.com</emai>
        </author>
        <generator version="1.0" uri="http://www.jaysstore.com/gifting">jaysstore.com gifting list generator</generator>
        <entry>
                  <title type="text">Flip Video MinoHD Camcorder</title>
                  <link href="http://www.jaysstore.com/gifting/lists/bmorgan#minohd"/>
                  <id>urn:uuid:26d11340-c155-11dd-9711-0002a5d5c51b</id>
                  <category term="Products"/>
                  <updated>2008-12-03T08:06:21+01:00</updated>
                  <content type="html">Product short description</content>
                  <author>
	                      <name>Bill Morgan</name>
	                      <email>bill@billmorgan.com</email>
                  </author>
                  <hproduct:availability type="online">This product is available online</hproduct:availability>
                  <hproduct:brand type="text">Pure Digital</hproduct:brand>
                  <hproduct:buy type="url">http://www.jaysstore.com/site/minohd/9077054</hproduct:buy>
                  <hproduct:category type="text">Video Cameras</hproduct:category>
                  <hproduct:condition type="text">New</hproduct:condition>
                  <hproduct:description type="text">This camcorder offers true high-definition recording in an incredibly compact body, so you can be sure you won't miss a minute of recording time</hproduct:description>
                  <hproduct:model type="text">F460B</hproduct:model>
                  <hproduct:n type="text>Flip Video MinoHD Camcorder</hproduct:n>
                  <hproduct:photo type="url">http://images.jaysstore.com/images/products/9077054.jpg</hproduct:photo>
                  <hproduct:price type="sale">206.99</hproduct:price>
                  <hproduct:quantity type="int">1</hproduct:quantity>
                  <hproduct:shipping type="text">Usually leaves our warehouse in 1 business day</hproduct:shipping>
                  <hproduct:url type="url">http://www.jaysstore.com/site/minohd/9077054</hproduct:url>
                  <hproduct:version type="text">1.0</hproduct:version>
                  <hproduct:identifier type="sku">9077054</hproduct:identifier>
                  <hproduct:p-v>
	                               <hproduct:property type="color">black</hproduct:property>
	                               <hproduct:property type="height">3.9"</hproduct:property>
	                               <hproduct:property type="width">2"</hproduct:property>
	                               <hproduct:property type="format">Flash memory</hproduct:property>
                  </hproduct:p-v>
        </entry>
</feed>

I’m thinking out loud on this one. Please feel free to poke holes in my idea here…

2 Comments

  • On December 3rd, 2008 at 4:37 pm Nygard wrote:

    Jay,

    This is a perfect use of Atom. At QCon, I heard from the developers of the AtomServer. It uses Atom as the entry and feed format, and AtomPub for publishing into the server. It’s a full-fledged data store for Atom “stuff”. Might be worth a look, because it would let you decouple the list & it’s updates from the content and UI.

    For example, whatever UI (web, mobile, tweet, etc.) the user interacts with, all the updates go to the AtomServer. It keeps the lists as feeds, which could be available directly. You could even allow 3rd party update via OAuth.

    http://atomserver.codehaus.org/

    Cheers,
    -Mike

  • On December 18th, 2008 at 5:30 am Jay Myers » Blog Archive » Creating more Semantic, Detailed and ... | Email Marketing Tool wrote:

    […] Jay created an interesting post today on Jay Myers » Blog Archive » Creating more Semantic, Detailed and …Here’s a short outline… href=”http://www.jaysstore.com/gifting/bmorgan/list” /> jaysstore.com gifting@jaysstore.com jaysstore.com gifting list … […]

Make a comment

Search

Archives

Twittering

  • @tiacam do you know Joshua Kahn? i believe he's in the recruiting biz. you may find some good contacts through him 4 hrs ago
  • @tiacam get yerself some followers! 4 hrs ago
  • Groceries, lego building with the boys today...the usual sunday routine 1 day ago
  • @benhedrington congrats ben! some beautiful pics. hope all are doing well. 3 days ago
  • delayed the journey to hayward by a day. we ride at sun up! boys are anxious to be on the road. 5 days ago
  • More updates...

RSS

Content by Jay Myers
Minnesota United States