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

Reply via email to