<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Backdrifter &#187; mime</title>
	<atom:link href="http://www.backdrifter.com/tags/mime/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.backdrifter.com</link>
	<description>The personal site of Jared Hanson</description>
	<lastBuildDate>Tue, 22 Jun 2010 22:16:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Regarding Format Debt</title>
		<link>http://www.backdrifter.com/2009/01/12/regarding-format-debt/</link>
		<comments>http://www.backdrifter.com/2009/01/12/regarding-format-debt/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 00:27:17 +0000</pubDate>
		<dc:creator>Jared Hanson</dc:creator>
				<category><![CDATA[Unknown]]></category>
		<category><![CDATA[atom]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[mime]]></category>
		<category><![CDATA[rest]]></category>

		<guid isPermaLink="false">http://www.backdrifter.com/?p=125</guid>
		<description><![CDATA[An interesting (non-geeks, excuse yourself) discussion has arisen as the result of Bill de hÓra&#8217;s post Format Debt, what you can&#8217;t say.  At the heart of the argument is how to appropriately indicate layering given the inadequacy of Internet media types to specify that information.  The problem crops up often, especially in regard [...]]]></description>
			<content:encoded><![CDATA[<p>An interesting (non-geeks, excuse yourself) discussion has arisen as the result of <a href="http://dehora.net/">Bill de hÓra</a>&#8217;s post <a href="http://dehora.net/journal/2009/01/10/format-debt-what-you-cant-say/">Format Debt, what you can&#8217;t say</a>.  At the heart of the argument is how to appropriately indicate layering given the inadequacy of <a href="http://en.wikipedia.org/wiki/Internet_media_type">Internet media types</a> to specify that information.  The problem crops up often, especially in regard to <a href="http://en.wikipedia.org/wiki/HTML">HTML</a> with nested <a href="http://microformats.org/">microformats</a>.</p>
<p>For example, an HTML document is served up with a media type of <code>text/html</code>, but the actual information in the page is a person&#8217;s contact information marked up using <a href="http://microformats.org/wiki/hcard">hCard</a>.  An application interested in utilizing that contact information has no way of knowing whether or not the page contains that data without resorting to parsing it.</p>
<p><span id="more-125"></span></p>
<blockquote><p>
We say we want layered formats, because that&#8217;s what the combination of IETF IDs, W3C Recommendations and deployed browsers and servers allow us to say. It&#8217;s the Web version of of the <a href="http://www.paulgraham.com/avg.html">Blub paradox</a>.  What we want is layered data.  What we want is not just to qualify a media type, but to describe the ingredients in the entity whose &#8220;shell&#8221; is the media type.
</p></blockquote>
<p>I&#8217;d suggest that if you arrive at this point, it may indicate you&#8217;ve picked the wrong &#8220;shell.&#8221; Maybe I&#8217;m too dismissive, but I think there will always exist an impedance mismatch when attempting to define nested schemas for formats not suited to the purpose.  The fact that we&#8217;ve reached a certain level of maturity with regard to extensibility (a huge engineering boon) is an exacerbating factor.</p>
<p>Before I get criticized for this viewpoint, I want to note explicitly that I am a proponent of microformats.  I think they are incredible, and the enabling potential they offer to future browser extensions is well worth the effort in defining and developing them.</p>
<p>However, I believe this propensity towards nesting is ill-suited for scenarious involving structured data, often implying machine-to-machine communication.  Any inadequecies inherent in media types can be easily overcome: simply define more formats that don&#8217;t necessitate deeper nesting.  As a bonus, this fully complies with the <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> architectural constraints.</p>
<p>In the address book example, HTML pages with microformats can continue to be delivered to people surfing via browsers.  However, applications that are interested in structured data can request the same information be returned, not as HTML, but as <a href="http://en.wikipedia.org/wiki/VCard">vCard</a>, a format designed specifically for the purpose of storing contact information, and delivered with a media type of <code>text/x-vcard</code>.</p>
<p>Nesting information in <a href="http://en.wikipedia.org/wiki/Atom_(standard)">Atom</a> (or <a href="http://en.wikipedia.org/wiki/RSS_(file_format)">RSS</a>), while not obviating the media type issue, does not pose nearly the same problems.  The reason is because Atom has a clear purpose as a container format, namely carrying a feed of items, such as news articles, that are generated over time.  In contrast to the generic document markup of HTML, there are already constraints in place that should serve as guides when deciding whether or not Atom is an appropriate container.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.backdrifter.com/2009/01/12/regarding-format-debt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
