I am about to create an Events Calendar for a site, and I would like some guidance on the best means of marking up the events.
Iíve used hCalendar in the past, but Iím considering other options after some issues with microformats (e.g., recognition, overloading and accessibility). The recent BBC Radio decision has made me realize I probably need to find another alternative.
How are other people handling events markup? hCalendar, RDF, or something like eRDF or RDFa? What factors influenced your decision?
Well, this seems to have had a number of views, so I thought Iíd post a follow-up.
In short, I have decided to experiment with RDFa to describe events for this siteís calendar.
RDFa is a fairly stable spec which offers considerable flexibility. RDFa minimizes the complexity of publishing RDF, yet shares the same structural patterns and concepts. Furthermore, RDFa does not have some of the more problematic issues in the current iteration of microformats (e.g., accessibility issues associated with overloading the <abbr> element).
Microformats still offer much value. Additionally, the working group may amend the specification to answer the accessibility concerns that lead BBC Radio to suspend their use.
Microformats, RDFa, and eRDF all have unique characteristics as well as areas where their functionality intersects. At the moment, no one format provides a complete answer, but I expect the lines differentiating them to blur as their specifications converge over the next couple of years. For now, however, RDFa offers a reasonable compromise between RDF and microformats.
Perhaps itís naÔve, but these metadata formats may have the potential to enhance the usability of information on the web. Whether or not this will really happen is still to be seenÖthe practical realities of black hat marketing techniques might totally obliterate their effectiveness in the open web, strictly limiting their use to intranets. For now, however, this is (hopefully) taking us one step closer to the Semantic Web.
It sounds all a bit comlicated to me. I've just written a calendar script and used database for data storage. It seems to be pretty succesful, no problems and is now functioning
It's complicated partly because reading most of the specs is like wading through quickset concrete. And, nope...it's not essential at all for building a calendar application.
Instead, in this context, it's basically a technique for providing extra information about events to help other systems locate, read, and import your event information.
Right now, people create events using a number of approaches on their websites...maybe they break the lines up into tables, use definition lists, even static images or Flash. If I find an event I want to attend, I pretty much have to open up my calendar and enter this data all over again by hand. Not a big deal if it's just a single event, but perhaps there's a dozen conferences. Or I'm doing this everyday.
These specifications are basically trying to provide a common language for describing these chunks of data so other programs can read them...saving you (or your visitors) a bit of time. There's other cool stuff you can do with this, but that's kinda the starting point as I understand it.
On my end, it doesn't take much extra effort to add this...and I've been pleasantly surprised to discover that some visitors actually do use this stuff. But the specs are still pretty raw and confusing; I'm not about to find fault with anyone who decides not to use these.
Last edited by TaliaJ2; Jul 8, 2008 at 11:03.
Talia, I agree with you that microformats are not the answer to bring meaning to our websites and we should try with RDFa.
The question you're asking is what format to use?
The answer would be: the one that best suits your audience.
If you know they're to extract the data from your website (or feeds) to automatically update their PMIs you should try to give them the data in such way they can easily reuse it. Google calendar (if I'm nor wrong) uses iCalendar.
How this is displayed in the web site is just a different question. You can display it the way you like using CSS techniques. Just try to find the one that best supports your users' needs and site design.