My apologies for the fact that this is such an essay, but I think this has become necessary.
Firefox OS 2.5 will be unveiling a new feature called Pinning The Web, and there's been some discussion about whether we should leverage technologies like RDFa, Microdata, JSON-LD, Open Graph, and Microformats for this purpose. First, I'd like to give some background on these technologies. In 2001, Tim Berners-Lee said that the "Semantic Web" was the future of the web and was going to revolutionize our world. ( http://www.scientificamerican.com/article/the-semantic-web/) The Semantic Web was a doomed idea, for reasons best articulated in essay by Cory Doctorow entitled "Metacrap", also written in 2001. ( http://www.well.com/~doctorow/metacrap.htm) After 14 years of the Semantic Web not revolutionizing our world, I think history suggests that Cory Doctorow was right. But because the Semantic Web was "the next big thing", millions of dollars were poured into it (mostly in the form of research grants and crappy specs, from what I can gather). In 2004, RDFa became the first big standard to emerge from this work. RDFa is a W3C Recommendation, and work is still proceeding on it. JSON-LD was started in 2008 as a JSON-based alternative to RDFa. As the author of JSON-LD, Manu Sporny, states: "RDF is a shitty data model. It doesn’t have native support for lists. LISTS for fuck’s sake! [...] to work with RDF you typically needed a quad store, a SPARQL engine, and some hefty libraries. Your standard web developer has no interest in that toolchain because it adds more complexity to the solution than is necessary." ( http://manu.sporny.org/2014/json-ld-origins-2/) However, though it originally wanted to distance itself from RDFa, JSON-LD ended up being chosen as a serialization for RDFa: "Around mid-2012, the JSON-LD stuff was going pretty well and the newly chartered RDF Working Group was going to start work on RDF 1.1. One of the work items was a serialization of RDF for JSON. [...] The biggest problem being that many of the participants in the RDF Working Group at the time didn’t understand JSON." (ibid) (I just want everyone to note that in 2012, *THE AUTHORS OF RDFa DID NOT KNOW JSON*. This is in a spec that casually throws around propositional logic terms like "entails", and "subject-predicate-object triples".) JSON-LD is now a W3C recommendation, and has undergone added complexity to align it with RDFa. As Manu Sporny states, "Nobody was happy with the result" (ibid). Microdata is similar to RDFa, but without the benefit of being a W3C recommendation. Open Graph is a technology developed by Facebook. It's putatively a subset of RDFa. There is a small subset of Open Graph tags (og:title, og:type, og:url, and og:image) which are widely used for sharing content on social media like Facebook and Twitter. RDFa, Microdata, and JSON-LD can collectively be described as "Linked Data" technologies, so called because their intention is that semantic objects across different web pages would "link" to each other to create a "Semantic Web". Microformats was developed circa 2005 as a lightweight way of putting semantic information into web pages, but does not aim to be a "Linked Data" or "Semantic Web" technology. It does not have an official standards body behind it, instead being maintained by a community of volunteers. One of our Mozilla employees, Tantek Çelik, was instrumental in its development. Okay, now I'd like to discuss whether or not we should use these technologies for Pinning The Web. Open Graph: I think we need to use the four tags "og:title", "og:type", "og:url" and "og:image", since they are widely used. Apart from that, I don't think we need to support the rest of Open Graph. RDFa, Microdata, and JSON-LD: I'd be afraid of using these. They were designed for something much bigger and more complicated than just pinning websites/contacts/events. I'd be afraid of people getting the idea that "Mozilla supports RDFa", because that would give the wrong idea and just lead to disappointment and/or headache. Also, they are complex, and our developer effort is limited. JSON-LD has the additional problem that it exists separately from the content of the webpage, meaning that the JSON-LD data can get out-of-sync with the webpage, leading to confusion for users. (We've all see the way code comments quickly get out-of-sync with the code they purport to describe.) The argument has been made on this discussion list that RDFa and Microdata data is abundant, and so we should take advantage of it. But it's questionable how much of that data is actually good. The main use of RDFa and Microdata right now is for search engine optimization, which means the data isn't necessarily in a form presentable to the user. (Also, it might be all lies.) Microformats: Yes, we should use these. We've had support for Microformats in Firefox since Firefox 3 ( https://developer.mozilla.org/en-US/docs/Using_microformats), so it's just a matter of updating and expanding what we already have. Microformats is becoming more widely used. Facebook includes Microformats data for its Events and Places. There are Wikipedia templates that use Microformats, and Wordpress plugins (the most recent of which was just published last month). When I look at RDFa and Microdata, I see large corporations trying to make something happen, with results that must be disappointing. When I look at Microformats, I see an enthusiastic community of volunteers who are getting results (like Mike Kaply, who added Microformats.js to our gecko tree). And if nothing else, Mozilla's own Web Standards employees, like Marcos Cacares and Tantek Çelik, who we hire and pay good money to be experts in such matters, are telling us to not use Linked Data and to use Microformats instead. And I find it abominable that people on this discussion list have suggested that Tantek shouldn't be listened to because Microformats is something he helped developed. That is shitty teamwork and A-grade paranoia. This whole Pinning-The-Web concept is something that Ben Francis has been developing. Does that mean we shouldn't listen to what Ben says regarding it? - Ted _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform