{"id":1963,"date":"2008-02-10T23:40:42","date_gmt":"2008-02-11T03:40:42","guid":{"rendered":"http:\/\/www.markbaker.ca\/blog\/2008\/02\/10\/media-type-centralization-is-a-feature-not-a-bug\/"},"modified":"2008-02-10T23:40:42","modified_gmt":"2008-02-11T03:40:42","slug":"media-type-centralization-is-a-feature-not-a-bug","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2008\/02\/media-type-centralization-is-a-feature-not-a-bug\/","title":{"rendered":"Media type centralization is a feature, not a bug"},"content":{"rendered":"<p><a href=\"http:\/\/www.innoq.com\/blog\/st\/2008\/02\/decentralizing-media-types.html\">Via Stefan<\/a>, a proposal from the <a href=\"http:\/\/www.wso2.com\">WSO2<\/a> gang for an approach to decentralizing media types and removing the requirement for the <a href=\"http:\/\/tools.ietf.org\/html\/rfc4288\">registration process<\/a>.<\/p>\n\n<p>Been there, <a href=\"http:\/\/www.potaroo.net\/ietf\/idref\/draft-nottingham-dns-media-tree\/\">tried that<\/a>.  I <a href=\"http:\/\/www.alvestrand.no\/pipermail\/ietf-types\/2004-January\/001086.html\">used to think<\/a> that was a good idea, but no longer do.<\/p>\n\n<p>Problem one: an abundance of media types is a <em>bad thing<\/em> for pretty much the same reasons that <a href=\"http:\/\/www.w3.org\/2002\/ws\/\">an abundance of application interfaces<\/a> is a bad thing; the more that is different, the more difficult interoperability becomes.  We need less, more general media types, not more specific ones.<\/p>\n\n<p>Problem two, specific to their solution for this &#8220;problem&#8221; (which is &#8220;application\/data-format;uri=http:\/\/mediatypes.example.com\/foo\/bar&#8221;): media type parameters don&#8217;t affect the semantics of the payload.  This solution requires changing the Web to incorporate parameters in this way.  Consider, if an existing firewall was configured to block, for example, image\/svg+xml content.  If SVG were also assigned its own &#8220;media type URI&#8221; and delivered using application\/data-format, that firewall wouldn&#8217;t be able to block it.  Oops.<\/p>\n\n<p>Problem three (which <a href=\"http:\/\/www.mnot.net\">mnot<\/a> convinced me of): having your media type reviewed by the capable volunteers on <a href=\"http:\/\/www.alvestrand.no\/mailman\/listinfo\/ietf-types\">ietf-types<\/a>, is a <em>good thing<\/em>.  Sure, you could still do that while using a decentralized token\/process, but I consider having motivation for review built-in to the mechanism a feature, not a bug, especially given problem one above.<\/p>\n\n<p><em>Update<\/em>; here&#8217;s an <a href=\"http:\/\/www.markbaker.ca\/blog\/2003\/08\/24\/media-type-registration-decentralization-and-rdf\/\">older position of mine<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"Via Stefan, a proposal from the WSO2 gang for an approach to decentralizing media types and removing the requirement for the registration process. Been there, tried that. I used to think that was a good idea, but no longer do. Problem one: an abundance of media types is a bad thing for pretty much the [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[37,40],"class_list":["post-1963","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-webarch","tag-xml"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/comments?post=1963"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1963\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=1963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=1963"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=1963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}