What Google Agenda currently misses

I am using Google Agenda as the central repository for the milonga.be Belgian tango agenda, which I edit together with half a dozen other tango enthusiasts. While the principle of a central, hosted calendar storage works wonderfully, I (have to) use a modified PHPiCalendar to display different views on the agenda (‘only Brussels’, ‘only workshops’, ’1 week in advance’, ’1 month in advance’, …). There are actually a couple of features that I’d like to see in Google Agenda, and what better place to list them but here:

Google Agenda: desired features

Metadata/Folksonomy

Currently an event in the agenda has the fields Title, Date/time (with recurrency, if any) , Location and Description. What I really miss is Tags (or categories, keywords, whatever you want to call them). Tags would allow me to attribute events to categories so that I can easily slice and dice them: only display the “milonga’s”, the events in Antwerp, the events in a specific place. Now I had to write a modified ‘filtered printable view’ for PHPiCalendar so that I can search on specific words in the event title, but that is really a hack. E.g. I now ask every editor to create the event titles as

“[TYPE]: [name of the event] @ [LOCATION]“

so that I can filter on “CONCERT:” or “@ Gent”. With the tags “concert, gent, polariteit, openair” it would be so much easier.

The iCalendar specification even mentions a ‘Categories’ field, although Google Agenda currently does not use it.

Filter/Merge/Expand

Currently you can only get the URL of the full ICS feed, nor do the ‘Calendar’ or ‘Agenda’ view allow you to filter the output on a certain date, keyword in the title or location. And sometimes I only need to have the feed or data for events in the future, to be exact, 1 month in the future. While we’re talking about the Remix part (see above): how about ‘Merge’? I could take the ICS feed for tango festivals (which is maybe not hosted on Google), merge it with my feed, and show both in 1 view, with -say- different colours. I also suggest an ‘Expand’ option: instead of listing a recurring event in 1 record with the recurrence data attached, expand it as N separate events, so that it’s easier to work with. An example: if I want the events for the next two weeks, I don’t want an entry ‘Every Thursday at 8PM’, I want two entries: one for the next Thursday, listed with all the other events for that Thursday, and one for the week after.

An example of URL syntax:
http://www.google.com/…/basic.ics?scope=2weeks&summary=milonga:&expand=true

RSS/REST API

RSS feeds are made for things that happened (in the past) and a calendar is mostly used for things that WILL happen (in the future). This means that an RSS feed with dates in the future looks rather weird. The way Google solved this for their RSS feeds (which they indicate with the XML icon – bad practice!) is to use as the date, the moment the event was added to the agenda, regardless of when the actual event takes place. So it is not necessarily a feed of ‘upcoming events’ but rather of ‘recently added events’. I would allow the user to select a ‘future RSS’ format for the next 10 upcoming events, or the next 7 days. There are so many tools that can do neat stuff with RSS feeds, it’s a pity you can’t use them in the logicl, intuitive way now.

The agenda also needs a public REST API  for reading and writing to the service. There is a Google Agenda REST API. i should have looked better. Maybe I should dive into the PHP client library. But an API is made for a different audience than the filter features I requested above.

Let’s see what happens when Google Agenda goes out of Beta…

Related posts:

  1. CalendarBurner: Feedburner for iCal calendars I am currently using my experience with milonga.be to build...
  2. Brussels Tango on Google Calendar I’ve started a public Google calendar for tango events (milonga’s,...
  3. Creating a tango calendar Resurrection of milonga.be When I started dancing argentine tango, there...
  4. How to delete old data in Google Calendar I use Google Calendar as a vital piece of milonga.be:...
  5. MIVB en Google Transit Wouldn’t this be a great idea: the Brussels public transport...

3 Responses to What Google Agenda currently misses

  1. Can’t you work with different agenda’s to have the different vieuws?
    I have a seperate agenda for my private agenda, for my wife’s agenda, for my kids agenda, one for each client, and one for each different http://www.paircoaching.net class.
    This way I can share all these agenda’s with different people and I still have an overview to see if they don’t give my any problems.

  2. For filtering on date ranges you could use the calendar api (http://code.google.com/apis/calendar/reference.html) which lets you get feeds filtered on date ranges with the query parameters
    start-min and start-max, recurrence-expansion-start and recurrence-expansion-end. You then get all the calendar data added to the rss feed.
    e.g.
    http://www.google.com/calendar/feeds/28g96a9ll24jlhgu9tuhr90g98@group.calendar.google.com/public/full?start-min=2007-08-23&start-max=2007-09-07&recurrence-expansion-start=2007-08-23&recurrence-expansion-end=2007-09-07
    It’s what I’m using for the mashup of my tango map with your milonga.be calendar to get all events of the next 2 weeks (http://83.149.65.30/~eyckerma/tango/places/tango-belgium-map.html)

  3. Have you thought about making your changes to PHPical public?