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?
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
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…
Maybe compatibility with iCalendar XML would be possible? That’d be a nice plus!
The historical event markup and linking project, http://www.heml.org/, seems to address phase one of your desires.
The flash interface is ‘left as an excercise for the reader.’
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…
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.
“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?
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
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?
Hey Peter,
Not exactly what you are talking about, but a *very* nice application of a timeline-like XML:
http://www.bryanboyer.com/indyjunior/
Cheers!
You might also want to look at http://www.learningtools.arts.ubc.ca/timeline.htm
A whole bunch of fantasy XML timelines can be found at http://www.geonomicon.com/portal/ The structure of one looks like this: http://www.geonomicon.com/chronology/temporum/dwarves.xml
Peter,
Did you make any progress on this front? I noticed that this thread has been quiet for almost 20 months.
Vijay