Thursday, February 9, 2023

iCal Event Maker 11 years of service!!!

I created this tool roughly 11 years ago.

It was a time when I was organizing my personal calendar at the beginning of the year. The company I work at sent out a list of holidays for the year, and I was going to add it one by one to my personal gmail calendar.

I thought, wouldn't it be nice if there is a file that I can just import to my calendar? I would be able to use the same source for my personal calendar and also for the company calendar. I would be able to share it with others as well.

I searched the internet and learned that there was an iCalendar specification for this purpose. I also learned that one iCalendar file can have multiple events in a file.

I found a sample icalendar file. The content looked simple enough to change, so I just created a file manually, using a text editor, containing all the company holidays.

I was able to add this to my personal calendar. I also hosted the file on a company intranet, and subscribed it from my work calendar client. I shared it with my co-workers as well. It worked pretty well.

After being happy with the result, I thought, wouldn't it be nice to have a tool for this?

This is when I decided to make this online tool. 

I wanted to learn the iCalendar specification myself, so I decided to build it without using any iCalendar library available to use. I didn't want to just learn how to use a library, rather, I wanted to learn the file format and the rules, which turned out to be a fun and interesting experience (with some pain when implementing it my self!). 

To this date, all the iCalendar related logic is built by myself.

I think I created it using few nights at home. Probably spent few more nights testing it. Then released it. At the beginning, the program was much simpler compared to what it is today. It didn't have timezone support and other features at the time.

After some time, I started to get feedback from users having issues and requests. I fixed the issues and added features that made sense to me. Slowly, the program grew with functionality and became what it is today.

The tool wouldn't have grew this much without all the feedback from the users. I would like to thank everyone who used this tool and who have given feedback.

I also want to thank for those who made donation through the "Buy me coffee" button. It literally buys me coffee, and some snacks as well.   : - )

Thank you!