[standards-jig] ical jep

Katie Capps Parlante capps at osafoundation.org
Wed Jun 11 02:04:39 UTC 2003

A few questions/thoughts about jabber and icalendar:

(1) How does my jabber client (or any other calendar user agent) access 
my calendar data on my calendar store?
    - viewing calendar events
    - creating/deleting/modifying calendar events
    - notifications when calendar events have changed in my calendar 
store (usually via some other calendar user agent)

(2) How does my jabber client (or any other calendar user agent) help me 
schedule events with other people?
    - publishing a subset of my calendar to someone else (usually on 
demand, perhaps only free/busy time)
    - requesting/viewing a subset of someone else's calendar
    - creating/sending an invitation
    - creating/sending a response to an invitation
    - receiving/viewing invitations and responses

(3) How does my jabber client (or any other calendar user agent) let me 
view other calendar stores? (similar to (1), but for shared calendars)
    - viewing calendar events
    - notifications when calendar events have changed

You could imagine jabber being used as the transport for #1, or WebDAV, 
or CAP.

I think #2 is most interesting for jabber, interoperability between 
different CUAs (and/or jabber clients). iTIP addresses the content for 
such interoperability. Some CUAs support iMIP -- email as the protocol 
-- but email falls short for exchanging free-busy data.

Imagine this use case: I get email from a friend that she wants to meet 
with me. I notice in my jabber client that she's present. I open my CUA 
to next week, and somehow "select" the whole week's free-busy 
information. I drag the selection to my jabber client, and hit send. The 
info is packaged up as iTIP info, wrapped in an iCal "envelope" and sent 
to my friend. On her side, she can look at the events as text, or she 
can drag them to her CUA and see them on top of her calendar 
(temporarily). She creates a proposed time, drags it to her jabber 
client, and I recieve the invitation. I accept, adding the invitation to 
my CUA, which saves it back to my calendar store.

Details may change based on whether or not the jabber client and the CUA 
are the same app, etc., but perhaps this paints an interesting picture...


Peter Saint-Andre wrote:

> On Fri, Jun 06, 2003 at 06:12:33AM -0400, Justin Kirby wrote:
>>I just submitted a formal ical jep to our friendly neighborhood jep
>>editor. But if you want a quick peek before psa gets around to it...
>>http://www.openaether.org/wiki/index.php?ical%20jep  <-- in wiki form
>>http://www.openaether.org/projects/ice.html  <-- in html
>>http://www.openaether.org/projects/jeps/ice.xml  <-- in xml
> OK, I'll publish this soon.
>>As always please rip it apart and beat it up.
> OK. :) Question:
> This simply provides a transport for iCal. Why not just use HTTP? Or
> file transfer (once *that* is ready) to send .ical files around?
> Jim Ray and I were talking about another approach... 
> What do we want to support? What are our requirements? Is it enough to
> just send ical snippets around? Personally, I think it would be really
> slick if in my Jabber client (or some Jabber client) I can complete the
> following tasks:
> 1. Create or delete calendar events
> 2. Accept or decline invitations
> 3. Receive notifications
> #1 and #2 feel x:data-ish to me. #3 gives me that pubsub feeling.
> Ideally x:data and pubsub would be Jabber interfaces to a native
> calendaring service, which can also be accessed via HTTP (with SMTP
> notifications) for those who have not sipped the Jabber Kool-Aid.
> I could see something like the following:
>                       |-----|  |--------|
> Jabber <-- x:data --> | Jab |->| Apache |<-- HTTP --> Web Browser
> Client <-- pubsub --> | API |<-| w/mod? |--- SMTP --> Email Client
>                       |-----|  |--------|
>                                    |
>                                |--------|
>                                | WebDAV |
>                                |--------|
> So WebDAV stores .ics and .ifb files (or .xfc and .xfb in the future),
> and there is a nice little Jabber API to that functionality, which
> enables Jabber clients to perform some limited set of calendaring tasks
> (personally I think the 3 tasks listed above cover 80% of what's needed,
> but maybe more is required).
> I think it's possible to define a protocol for such a subset and make
> Jabber users happy. If you want to do more, create or use a dedicated 
> calendaring program. 
> Thoughts?
> Peter

More information about the Standards mailing list