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 🙂