Today I dipped my toes into the iCalendar format. Following the RFC 5546 standard’s specification, the iCalendar format basically allows sharing events and tasks via text files that come with the extension .ics.

I was asked to write an iCalendar integration for one of our client’s websites which would allow their users to download events and then import them into their calendar application of choice. After reading up on the spec for a bit, I figured it would be a lot easier to just reverse-engineer an .ics file. It’s a text file after all and for me this is the most effective way of learning new stuff – the “view source” approach of learning.

The .ics format isn’t really that complex: there are opening and closing statements, properties and values, and to get a basic example working, I didn’t really need much time. I went on and added things like repeatable events and reminders and by the end of the day I managed to create a solid working example that I can now build upon. All in all a very rewarding experience. And that’s what I learnt today.