All weekend I was working on a project. This project is what Google Chrome documentation calls a page action. As with many programming projects start, this one started with an annoyance. I hate...really hate, entering in all my soccer team game times on my Gmail calendar.
You see, the games are 50 minutes long, so they don’t fill up the entire hour, and they don’t start on the hour. This means I’m interacting with the specifics interface for each game I enter. I’m also on three different teams, so putting in all the necessary information (team name, if we’re home or away, the time and so forth), is a real drag. In total I enter in 24 games ever 8 weeks. That means 168 entries a year, just for soccer. I don’t mind entering in odd coffee dates or other such things, but when the schedule I’m following is already online, why isn’t there something that will allow me simply to upload the information already?
Robey and I try, once per month, to allow ourselves a weekend to devote to a new project and new learning experiences. This month I decided to make a page action. This page action collects the schedule data for a team, once you’re on the team’s page. Then it alters the html slightly to create a new button. Here is the original tool box for the team page:
The basic idea was to use the current framework to my benefit. Use the divs and classes they had already created to create a new button. The only difference is that once you click the ‘Download Calendar’ button a pop-up box shows up. Here it is:
As you can see, this popup box will use the team page the person is currently on, collect the schedule listed there, and create either a csv or ics file. Next you save the file somewhere on your computer. Then file (both formats) can be imported into iCalendar, Microsoft Outlook or Gmail. Importing will add all games to your calendar, with additional information as shown in the example below:
Thus I’ve made my life, and hopefully the lives of my fellow soccer friends, much less annoying. You know, this really wasn’t that difficult. I think if I had been able to get more time in it over the weekend I could have finished it Sunday. Except I had soccer games to go to.
Even better is that now if the local Indoor Sports Park decides to change their game times for any reason, it won’t mess with me anymore. I won’t miss my games or be late because this page action will already have entered them in correctly. In case you’re a fellow soccer friend, or are simply interested in my tool you can find it here on the Chrome web store.