RFP: XML format for timelines

I’d like to see a simple XML format to express timelines with events on them, and a few tools to create this XML, turn them into Flash, HTML and such. The format should allow for merging timelines.

(Just some ideas:) A timeline exists of a StartingPoint, an EndPoint, and Events in between. Each Event is optionally identified by one or more URI’s (for merging), has a required StartingPoint (datetime) and an optional EndPoint (datetime, for events that happen over time). Events can be nested within events. Each event can have a URL (semantics: where to go when user clicks on event), a title, a description and an image.

We should be able to express things like conferences, or a personal timeline in this format.

The format should allow merging: time is universal. The events can be merged based on having at least one URL that’s the same. We should be able to merge your description of a conference (with your blog entries as events for example) with my description of the same conference.

Anyone interested in working out such a format?

13 thoughts on “RFP: XML format for timelines

  1. This sounds a lot like a calendar fragment. iCal does all of this, IIRC, except that it doesn’t have a notion of StartingPoint or EndPoint.

    So, perhaps have a separate spec that defines StartingPoint and EndPoint, but then also includes the iCal namespace (and in fact may just be an encapsulation of multiple embedded iCal items?).

    Simon Willison’s “Lots of iCal Links” [1] should be a good starting point… …but of course the link to the DTD is broken. Try this [2]

    — Boris

    [1] http://simon.incutio.com/archive/2002/10/22/lotsOfICalLinks
    [2] http://www.oasis-open.org/cover/draft-dawson-ical-xml-dtd-01.txt

  2. Good pointer! However, I want something simpler that the iCalendar XML. In iCalendar, an event has a dtstart and dtend timestamp. That’s good. There’s also a summary element (also useful). I think it might be a good idea to ignore all the other elements (like location), because we want a simple timeline vocabulary, not a calendar planning vocabulary…

  3. Looking at http://www.heml.org/, I realized that a UNIX timestamp won’t do – we need to be able to describe events many millenia ago. There was also an example that used some kind of Japanese calendar. So we probably should be able to indicate which calendar is preferred for rendering…

  4. More potential requirements (expanding the scope to later make it smaller again): Events whose dates are relative to those of other events (can’t think of an example though). And events with dates that are not known exactly.

  5. “There was also an example that used some kind of Japanese calendar”

    If you look at the iCal DTD, it already supports specifying the calendar type to use (defaults to “Gregorian” I believe).

    Perhaps it would help to specify what exists today (i.e. in iCal spec) and what needs to exist alongside/outside?

  6. Elements that we can reuse:

    VEVENT

    This is an event. Can be a point in time, or a duration.

    DTSTART:20020922T200000
    DTEND:20020922T210000

    DTEND is optional.

    If you specify the start time and no end time, iCalendar treats the event as happening on an ‘instant’, it has no duration but happens at that given time. An all-day event (like when the rent is due) for example is specified from the beginning of the day until the end of the day.

    SUMMARY

    A keeper.

    DESCRIPTION

    A keeper.

    More stuff:
    – Maybe we can reuse MIME type text/calendar (if we stay within the spec)?

    here’s another useful document: http://www.w3.org/2001/sw/Europe/200210/calendar/vocab_usecases.html

    The most useful way of writing time seems to be time encoded as a date-time with a UTC timezone: DTSTART:19980119T070000Z (no timezone property allowed). The problem I have with this is that you need a program to generate it for you – no way you’re gonna write this yourself in Notepad. So that makes it less usable (a goal here is ruthless ease of use and simplicity). Any suggestions on how to encode time? This spec seems readable: http://www.w3.org/TR/NOTE-datetime

  7. This article is useful: http://reefknot.sourceforge.net/bootstrap-guide/indexs05.html

    So in iCal, there are 3 data structures: event, todo and journal. We will only need event.

    Apart from the fields mentioned before, we can also reuse ATTACH, as in ATTACH;FMTTYPE=image/jpeg:http://domain.com/images/bastille.jpg

    Explanation of the timecode: To specify a date and time together, simply put the date, then a T, then the time: 20010114T190000Z The Z at the end makes it clear that this is the UTC timezone. That’s human readable enough…

    Now if someone could explain this UTC timezone thing… I can’t find anything online?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s