upcoming.org microformats need some loving

Moving right along…

One of the ways that I verify that Operator is working correctly is by comparing against other sites that do similar functions. For instance, I might go to eventful.com or upcoming.org and compare their Yahoo! or Google calendar to mine.

One of the things I have discovered is that upcoming.org’s use of microformats needs some serious help. Let’s use this event to demonstrate the various problems.

Problem 1 – Missing information in the microformat

Notice that on the page it indicates the event is from 11AM to 5PM. If you add this event to Yahoo! with Operator, you won’t get an end date. If you use the Yahoo! calendar functionality built in to upcoming.org, you will. The end date (dtend) is not specified in the microformat so I can’t get it. Here’s another one. Notice that there is no phone number on this page at all. But if you add it to your Yahoo! calendar, you’ll see a phone number. Also, country information is missing from all pages, even though it is used by upcoming.org’s Outlook export feature.

Problem 2 – Extra information in the description

You might have noticed when you added that event via Yahoo! calendar, that the word “Description” appeared at the top of the description. This doesn’t happen when you add the event using upcoming.org’s Yahoo! functionality. This is because upcoming.org has tagged their description incorrectly. Here’s how they tag them:

<div class="description">
<div class="small">Description</div>
Text of the description
</div>

The problem here is that the word “Description” is contained in the description. The correct tagging shold be:

<div class="small">Description</div>
<div class="description">
Text of the description
</div>

Or something similar. They also do this with category. While this might not seem like a big problem, wait until you see what it does with url…

Problem 3 – URLs are tagged completely wrong

On that upcoming.org page, you might try selecting the Web Page option from the event in Operator and see what happens (assuming you are in microformats mode and not action mode). Notice you’ll get an error that the URL can’t be loaded. This is because the URLs are tagged completely wrong. Here’s the URL for that page:

<div class="url">
<div class="small">Homepage<div> <a href="http://blog.coworking.info">http://blog.coworking.info</a>
</div>

At first glance, this just looks like the problem 2, but it turns out to be much worse in this case. If the url class is not specified explicitly on an anchor tag (which it isn’t in this case), the specification says to use the entire text content of the url class as the URL. In this case, that would be Homepagehttp://blog.coworking.info. So this turns out to actually break functionality in operator.

So please upcoming.org, fix your bugs. You’re making Operator look bad 🙂

Please note: I reserve the right to delete comments that are offensive or off-topic.

Leave a Reply

Your email address will not be published. Required fields are marked *

5 thoughts on “upcoming.org microformats need some loving

  1. If you ever have similar problems with Eventful’s uf impl., please pester me in #microformats (hober) or via email (ted@eventful.com).

  2. Isn’t it a bit ironic that the tags at your own blog actually gnerates an error within Operator? 😉

    Nice extension anyway – this microformat thing is really interesting!

  3. Extremely ironic. I emailed blogger about it and got no response. At one point I was fixing it by hand after every post, but that got old real quick. We’ll talk about bad tags in a future post.

  4. Yo, Mike. Thanks for the heads-up. Those Upcoming.org bugs are all fixed and I’ve tested with the new version of Operator… Everything looks golden.

    One note regarding missing data: I fixed the “dtend” issue (events with no end date weren’t displaying an end time), but I’m still leaving the phone number and country information out. The venue phone is usually too much information for an event page and sometimes misleading (events may have their own phone number or hotline e.g. most conferences). Displaying country information is overkill, too.

    So, what do you do with additional info you want available to Operator but don’t want to display to users? It starts getting into messy territory. We could hide the new metadata on the page with CSS, but that violates microformat philosophy and sets a bad precedent. Plus, it could cause unforeseen consequences (e.g. issues with screenreaders and mobile device).

  5. andy – Thanks for the great work!

    As far as the other data, I’m honestly not sure what to do. Have to do some thinking.