Calendar Challenges

A real good networking calendaring application, with knowledge of not only when, but also who and where, should be able to handle the following use cases:

  1. PathCrossSuppose I’m travelling to Boston and San Francisco in the next couple months. I’d like my machine to let me know I have a FriendOfaFriend who also lives there or plans to be there

    Given:

    1. My calendar
    2. My network of friends (and thus implicitly their calendars and their friends’ calendars)

    Provide:

    1. A list of coming events, where I will be co-located with at least one of my friends or a friend of theirs

    Bonus: Be fuzzy and suggest rearranging travel plans or make new to maximize pathcrossings.

  2. Meeting planner — Suppose a group of otherwise independent people frequenting an IRC channel wish to plan for a ScheduledTopicChat

    Given:

    1. A group of people (and thus their calendars, possibly only with free/busy information)

    Provide:

    1. A list of possible future dates/times for a meeting involving the entire group

    Bonus: Accept a fixed location as well, for meetings at a PathCross.

  3. Maximal scheduleSuppose the Natfilm Festival (or its successor CPH:PIX) is coming up, and I’d like to invite a number of friends to join me for as many showings as possible

    Given:

    1. My calendar (possibly only with free/busy information)
    2. A list of showings (with location)
    3. A group of people (and thus their calendars, possibly only with free/busy information)

    Provide:

    1. A non-overlapping list of possible showings, that leaves enough time for transportation

    Bonus: Based on the original input, a selected subset of the showings, and the non-overlapping list, provide a new non-overlapping list, that includes the selected subset.

Dopplr does parts of the first use case quite well, with added bonuses, but doesn’t quite meet the goals entirely.

Can I have this now — or do I need to build it myself?