One of the most fundamental acts of negotiating services is when something should occur. One would guess that this has been already well established, well completed. I know I assumed so when I was talking about the fundamental information that we needed to add for scheduling in oBIX 1.1. “You know that thing you click on to put something on your calendar? It is an ICalendar format. Corporate scheduling systems already use it. People already use it. The conference room is already scheduled using it. Let’s use it for scheduling building systems.
I made promises. We’ll be done quickly. Why don’t you use it to add scheduling to OpenADR? Why don’t we use it for scheduling prices. Sounds good, but this simple function, surprisingly, is not yet ready for use.
VCAL is the original. It was developed as part of the Vision personal information manager. VCAL spawned VCalendar, developed by the Internet Mail Consortium. VCalendar spawned ICalendar, with the stamp of approval from the Internet Engineering Task Force (IETF). This nice standard is complete, but predates XML. Because the first significant application using ICalendar was the iCal program on the Macintosh, many people call the standard iCal. Information containing scheduling information in the iCalendar has the designated file extension “.ICS”.
ICalendar defines different payloads. The Event defines something that begins and ends. The TODO has a due date, and can specify periodic reminders before that due date. The Journal takes up no time, but enables one attach
Within the IETF, there was a draft proposal for a data transformation of iCalendar to XML in 1999 as the iCalendar XML DTD; it expired uncompleted in 1999.
Microformats developed the intriguing hCalendar format, but this has been rejected by many groups, for usability issues; it still may be the best format for moving things into web services.There are concerns and incompatibilities surrounding the use of HCalendar, though. See http://www.sitepoint.com/blogs/2008/06/25/bbc-rejects-hcalendar-microformat-because-of-accessibility-concerns/
There is a calendar XML format, but it seems designed to transmit a monthly calendar for printing, not formats for exchanging schedules.
All this leaves me in a quandary. Schedules, and exchanging schedule proposals, will be absolutely essential to building services and to demand response and to energy technology. And yet we do not seem to be able to standardize on an XML format for web services.
What would you do?