Last week I watched live multi-vendor demonstrations using the new specifications vPoll and vAvailability. These extend calendar interactions to support live negotiations about schedule and performance. These negotiations can be machine-to-machine (M2M) or augmented by human input. These were not applications, these were live interactions between mainstream calendar servers. The testing used simple user interfaces, just enough to operate the tests. These simple information exchanges extend existing systems for schedule negotiations into automated polling and bidding.
As I have written before, I spent three days with the Calendaring and Scheduling Consortium (CalConnect) at AOL headquarters in the suburbs of Washington DC. Although the meeting was technical, it was against a backdrop of a scandal in the VA that is summed up, by the press, in the single word “scheduling”. Members of CalConnect went quietly about demonstrating their new work, based on iCalendar, that points to a new way forward, one that extends schedules negotiations into automated polling and bidding. CalConnect rules forbid any direct discussion of who was at the meeting, and what their precise interactions are.
CalConnect works to extend the reach of existing Calendar and Schedule systems (new specification development) while testing whether they work in exchanges between vendors with different code bases. Sometimes the code is changed, and sometimes the specifications.
ICalendar (RFC5545) defines a common grammar for creating information exchanges information related to schedules and defines a several such exchanges. The iCalendar event (vEvent) is familiar to anyone who has added a meeting to their calendar by clicking on a web site or opening an email. ICalendar defines other common exchanges such as tasks (vToDo) and alarms (vAlarm). OASIS WS-Calendar describes how to use iCalendar inside service oriented exchanges, with a focus on describing sets of schedule information that hang together in a series. There is a growing use of WS-Calendar world-wide in energy markets and smart grids.
vPoll is a new iCalendar exchange that uses iCalendar grammar to present a choice. Assume it is a simple meeting (vEvent). A vPoll could present a number of meeting times and ask the potential participants to vote. This is different than asking for a summary of when a recipient id currently scheduled (vFreeBusy). A recipient may choose to vote for a time knowing he can cancel a meeting. A recipient may be keeping that afternoon free for a visitor from out of town—even though nothing is scheduled. A recipient, for security reasons, may choose not to share any free-busy information.
vPoll further defines how responses go back to the originator. A poll typically includes an ending time for polling. The originator may choose to schedule the meeting in accord with the most votes, or when a few key personnel can make it or for any other reason. vPoll does not define the business rules or the application, just the messages and message pattern.
vPolls may be tied to prices rather than to votes. Maybe the single best price, or the three best prices, get invited to the meeting. Maybe prices determine the venue. The vPoll specification defines the BASIC Poll Type. Others will be defined later for specific use cases.
A recipient may choose to respond to a vPoll with vAvailability. Availability uses recurring patterns to indicate when something might happen, and what it might cost. Consider a meeting room in a commercial building. It can be scheduled during business house, using the calendar, for free. After hours, because of additional security and custodial needs, the same room can be scheduled for $200 / hour with a minimum charge of $300. These schedules can be expressed with vAvailability.
So far, I have described vPoll using only meetings. A Poll can also include tasks (vToDo). A task is often distinguished by its required completion time. Recipients can use their calendars to bid on various completion times. Presumably, bid for completion tomorrow will be more costly than a bid for completion next month. VPoll can gather the bids and present them to the originator, to choose one.
Most of us think of calendar communications (ITIP) conveyed inside email (IMIP). We open email and we accept the iCalendar request. At the CalConnect meeting this year, multiple participants demonstrated interoperable iSchedule, used for direct server-to-server communications. This promotes the polling described above from the personal to the enterprise. I will write more about iSchedule later.