Visit: BBC Removing Microformat Support
After performing a number of usability studies (both on average users and users with screen readers) the BBC found that using the Microformat convention of <abbr title="...">...</abbr>
to denote items like dates negatively impacted usability. This is a huge blow to the Microformats community. While this concern has been discussed for a while this is the first instance of a major corporation reneging on their previous Microformat commitment.
As an alternative the BBC seems to be examining RDFa – one of the leading “competitors” in the “embed machine-readable data in (X)HTML markup” space. Examining the basic RDFa-in-XHTML primer it’s obvious that RDFa still has a long ways to go before any sort of practical adoption by developers and designers. Riddled with advanced, or just plain confusing, terminology (XML namespaces, Dublin Core, semantic web, and not to mention the addition of many new attributes – like typeof, about, and property) it appears to be solidly entrenched in the ways that Microformats were able to shake themselves free of, allowing them to achieve widespread adoption.
It’s pretty obvious that the Microformats community is going to have to step up and prevent any sort of attrition that will occur in this situation.
NiKo (June 24, 2008 at 2:16 am)
The hCalendar microformat was wrong since the beginning using the title attribute of the abbr tag, the specs should just be updated, even if a lot of services uses it as is right now. That’s the price to pay when you’re wrong :)
Anyway, I don’t see this event as a total negation of the interest of microformats in general.
Last, I can’t wait seeing how the BBC will implement RDFa, if they do.
czert (June 24, 2008 at 4:14 am)
“Riddled with advanced, or just plain confusing, terminology (…) it appears to be solidly entrenched in the ways that Microformats were able to shake themselves free of”
— that may be a bit too harsh. Where some say “entrenched”, others would say “shaken free”, and the other way round.
While microformats have done a great job of bringing semantics to the masses so far, they’ve had to pay a prize: they can only reuse, never extend. And while hijacking regular html to gain such a short term boost in usability, accessibility, and popularity is probably the only way to help this whole thing to take off, soon there will be a need for a far more robust and general way to mark up semantics. To do that, you need to be able to *extend* a little — after all, that’s what the X in xml and xhtml stands for — and you can’t really do that without namespaces and a bunch of new attributes.
Seems to me, that what really hinders the progress of the web is the widespread belief that any online technology needs to be trivial to learn. Labelling basic and necessary concepts like XML namespaces as either “advanced” or “just plain confusing” doesn’t help the cause…
czert (June 24, 2008 at 4:21 am)
oh and by the way, i really recommend this talk given by Manu Sporny on the topic of Microformats and RDFa. Serves well as a basic introduction to the topic of web semantics, too:
http://wiki.digitalbazaar.com/en/Practical-web-semantics
John Resig (June 24, 2008 at 4:44 am)
@czert:
Triviality promotes widespread adoption. That is one thing that Microformats has in spades. I fully agree that RDFa is far more robust than Microformats can ever be – Microformats are confined by specific markup and specific data types it’s a short-sighted view of the semantic web.
That being said – it’s succeeding much for that reason. By tackling problems in a short-term manner (and by easily working in both HTML and XHTML) developers and designers are able to easily grok what Microformats are and move forward. It’s become practically sexy and necessary to include Microformats in your page, at this point.
For an example of the disconnect: There is no information on the RDFa primer page on how to use the new attributes (typeof, about, property) and still get your page to validate. This is absolutely huge for designers. Asking them to voluntarily make their page invalid is akin to telling them that they shouldn’t support Internet Explorer – it’ll be scoffed and shrugged off.
I will argue that XML Namespaces are confusing – they’re certainly far more confusing/advanced than using existing HTML tags/attributes to embed data in a page. Doing some searching I wasn’t able to find any information on using RDFa in HTML. Is RDFa ignoring off that (huge) segment of the population? It seems like that would be the first group you would want to target, followed by the more-strict XHTML arena.
If what browser vendors are developing is any indicator to the future – it lies in HTML 5. It’s going to be incredibly important that RDFa consider this, moving forward.
John Resig (June 24, 2008 at 5:02 am)
@czert: I was discussing RDFa with Ben Adida, offline, and had some more points to make:
My concerns about RDFa aren’t technological – it’s solid markup that’ll help to advance the semantic web forward – but practical: In its current state (or, at least, current state of documentation) it doesn’t practically target the audiences that you need to hit.
The messaging should be:
1) You can embed semantic data in your web pages – better than Microformats!
2) You can do it in both HTML and XHTML.
3) Your page will still validate and be semantically correct.
If it’s not possible to hit with that 1-2-3 punch then Microformats will continue to dominate – no matter the obvious benefits of RDFa.
If RDFa wants to succeed, moving forward, there’s one obvious answer: RDFa for HTML 5. Considering how much effort browser vendors are putting towards XHTML (~none) vs. HTML (a ton) – RDFa has to attempt to bend and tackle that market. HTML 5 includes the new data- prefixed attributes – RDFa could absolutely work within those confines.
This XHTML:
<span xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<span rel="dc:type" href="http://purl.org/dc/dcmitype/Text"
property="dc:title">My Book</span> by
<a rel="cc:attributionURL" property="cc:attributionName"
href="http://rejon.org/my_book">Jon Phillips</a>
is licensed under a
<a rel="license"
href="http://creativecommons.org/licenses/by-nc/3.0/">Creative Commons
Attribution Non-Commercial 3.0 License</a>.
<span rel="dc:source" href="http://deerfang.org/her_book"/>
Permissions beyond the scope of this license may be available at
<a rel="cc:morePermissions"
href="http://somecompany.com/revenue_sharing_agreement">somecompany.com</a>.
</span>
becomes this HTML 5:
<span data-xmlns="cc:http://creativecommons.org/ns#
dc:http://purl.org/dc/elements/1.1/">
<span rel="dc:type" href="http://purl.org/dc/dcmitype/Text"
data-property="dc:title">My Book</span> by
<a rel="cc:attributionURL" data-property="cc:attributionName"
href="http://rejon.org/my_book">Jon Phillips</a>
is licensed under a
<a rel="license"
href="http://creativecommons.org/licenses/by-nc/3.0/">Creative Commons
Attribution Non-Commercial 3.0 License</a>.
<span rel="dc:source" href="http://deerfang.org/her_book"/>
Permissions beyond the scope of this license may be available at
<a rel="cc:morePermissions"
href="http://somecompany.com/revenue_sharing_agreement">somecompany.com</a>.
</span>
I’m not saying that the above would solve the immediate usability
problems, but it would certainly help.
czert (June 24, 2008 at 5:04 am)
john — the reason why RDFa (for now) supports only XHTML is that X in its name. RDFa is an extension, basic HTML is hardly extensible. Simple as that.
That said, there is an ongoing effort to find ways for RDFa to support older languages as well (see http://www.w3.org/2006/07/SWD/RDFa/ ) — it’s only natural to set the first versions in an environment that is more extension friendly.
If such a struggle to spread and promote any new technology is any indicator, the future lies in extensibility. XHTML 2 is doing a much better job in that area than HTML 5…
John Resig (June 24, 2008 at 5:09 am)
@czert: I think you missed my second post – I outline a solution for adding RDFa to HTML 5. HTML 5 is quite extensible (with the new data- prefix).
If the future of RDFa lies in XHTML 2 – then it’s dead before it even gets off the ground. Simple as that. Browser vendors are interested in extending the existing HTML specification (HTML 5) as it still provides an obvious upgrade path (without sacrificing cross-browser compatibility) for existing users.
czert (June 24, 2008 at 5:25 am)
@john: sorry, I did miss that one. The new data-* attributes are news to me, and they certainly seem to be able to get the job done.
Anyway, it’s not like there will be much choice, if current preferences of browser vendors concerning the future don’t change. Let’s hope that HTML 5 becomes good enough while it can, if that is really the only direction the web can evolve today.
Bruce D'Arcus (June 24, 2008 at 7:29 am)
I think you have the analysis absolutely right on the balance between raw technology on one hand, and all the other stuff (something like hacker friendliness) on the other. The RDFa crowd does need to learn from what the miroformats world got right.
I do think, though, that microformats proponents have been far too quick to dismiss — using pretty insulting language often — a really practical problem: the need to markup MY data without having to go through an absolutely tortuous community process.
On HTML 5, it’s worth noting that a number of people tried to get that group to adopt some trivial changes to be friendly to RDFa. They were rejected with something like a “but we have microformats; what more do we need?” answer. Consider a long thread on foreign attributes. Has that changed such that your data-xmlns attribute would be valid?
John Resig (June 24, 2008 at 7:37 am)
@Bruce: The data-* that I mentioned would be valid. HTML 5 now has the concept of custom attributes. I realize now that most people aren’t familiar with them, so I will attempt to write about them some more.
Steven Pemberton (June 24, 2008 at 10:30 am)
You can get a page that uses RDFa to validate: you just need to say which DTD to use.
Add this at the top of the page instead of the regular DOCTYPE you use:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
The W3C validator accepts this.
John Resig (June 24, 2008 at 11:00 am)
@Steven: Correct – but nowhere in the documentation and tutorials for RDFa is this explained. It should be the very first bullet point.
Ben (June 24, 2008 at 11:14 am)
@John: so we’ll try to make it more prominent, but it’s actually not too hard to find instructions on how to validate.
Start at the web site http://rdfa.info and click on “RDFa wiki” (which is also linked from the Primer.) Click on Tutorials. The first link below the table of contents is “How to validate.”
christian heilmann (June 24, 2008 at 11:24 am)
I just don’t get why it has to be an ABBR in the first place. Make it a SPAN or just use the long info as a class and you have both valid HTML and accessibility.
Jeremy Keith (June 24, 2008 at 12:25 pm)
Christian, the ABBR design pattern isn’t just for date values, it can be used for any value in any microformat. I use it all the time in hCards in my blog posts when I write:
<abbr class="fn" title="John Resig">John<abbr>
If values were pulled from the title attributes of any element (rather than just abbr), how would parsers interpret this:
<span class="location" title="The place where it's happening">Brighton<span>
It’s the very fact that the title attribute means something different on abbr (and acronym) than it does on every other element that it was chosen for this pattern in the first place.
Craig Buchek (June 24, 2008 at 4:49 pm)
It seems that the content of this post has gone missing from the RSS feed, as well as the http://ejohn.org/blog/bbc-removing-microformat-support/ URL.
Shane McCarron (June 24, 2008 at 4:53 pm)
While the current RDFa effort has focused upon XHTML because of its extension mechanism… it is pretty easy to imagine an RDFa profile for HTML4.
Why HTML4? Because it is actually deployed and working today. You can author your pages in XHTML+RDFa in a way that is compatible with HTML browsers… but lots of people won’t bother. They have their HTML 4 pages and they work just fine. What can we do to assist *those* people in adding semantics?
For example, I could see adding another attribute (curiePrefix) you could use to define your prefix mappings (because xmlns is meaningless in HTML). Add a rule that says @lang works like @xml:lang and viola! All the rest of the parsing rules would be the same.
And of course it could validate…. Just create an extended HTML 4 Transitional DTD that includes these new attributes. Its a work of moments to define HTML4+RDFa.
If we want to succeed, build upon the technologies that are deployed and working today. Not upon some mythical future technology that is going to be debated hotly for years to come.
But that’s just my opinion. I could be wrong.
John Resig (June 24, 2008 at 9:01 pm)
@Craig: Not sure what happened – it’s back now.
Alan Hogan (June 28, 2008 at 3:40 pm)
I like Microformats a lot but the <abbr> datetime pattern for dates really bothers me too. It just feels wrong. When grandma mouses over a date on my blog, she shouldn’t see 20060212T115213+0100. Feel me?
Furthermore, the apparent arrogance of two thought leaders I generally respect and admire, Tantek and , is shown as they shove all blame on screen readers and have failed to come adopt a less controversial datetime pattern, though some have been proposed is disheartening. We need to drop the egos involved and change the relevant microformats while they are still young. It’s not too late to make a better choice!
Alan Hogan (June 28, 2008 at 3:43 pm)
Links Correction: Tantek and Jeremy Keith
…
less controversial datetime pattern, though some have been proposed.
Alan Hogan (June 28, 2008 at 3:45 pm)
@Shane interesting point there about HTML, especially when we consider that, since we mostly serve pages as text/html, we’re really not serving up XHTML anyway.
KISS (June 29, 2008 at 11:19 am)
Becomes this in html 6:
<xml>
<book>
<title>My Book</title> by
<author>John Doe</author>
<license>GPL 3.0 License</license>
</book>
</xml>
<span><xml.book.title/></span> by
<a href="http://example.org/mybook"><xml.book.author/></a>
is licensed under a
<a href="http:/example.org/license"><xml.book.license/></a>.
We are so close, but yet so far…
Steven Pemberton (September 16, 2008 at 8:14 am)
@KISS: Actually, you seem to be describing XForms there. Change the into and make a couple of other slight changes and you can do exactly what you are suggesting already:
<instance>
<book>
<title>My Book</title> by
<author>John Doe</author>
<license>GPL 3.0 License</license>
</book>
</instance>
<output ref="title"/> by
<a href="http://example.org/mybook"><output ref="author"/></a>
is licensed under a
<a href="http:/example.org/license"><output ref="license"/></a>.