Search within Lanny's blog:


Leave me comments so I know people are actually reading my blogs! Thanks!

Thursday, July 11, 2019

Daily Battles: TeamSnap Delayed Calendar Updates


TeamSnap is a popular mobile (and web) app used by many community sports teams/clubs (non-professional) to manage games and practice schedules. Both my kids play competitive soccer with local clubs, and both clubs use TeamSnap heavily for all the communication needs. I, myself, also use TeamSnap with my soccer buddies for weekly pickup games.




One feature provided by TeamSnap is that all the schedules can easily be integrated into Google Calendar. All you have to do is to import the calendar in the form of a URL (ICS feed) or an ICS file. Many other popular apps also provide such Internet Calendars (iCal), such as Facebook, Microsoft Outlook, Apple Calendar, and Trello.



My family rely on Google Calendar heavily for our scheduling needs, especially when it comes to coordinating parents-sponsored chauffeur service for the kids' transportation needs for their many activities (e.g., Ping Pong, Piano, Dance, Drawing, Tutoring Classes, Parties, Summer Camps, etc.). So it is certainly a convenience to be able to import calendars from TeamSnap, and then copy events to various family member's individual calendars. Copied together with the events are also addresses, which can be easily retrieved from mobile phones by the respective parent when it comes to driving time.

Practices and games get canceled, rescheduled, moved to different locations frequently. I do get email notifications when these happen. However, when I try to copy events from these imported calendars, many times I would realize that events on these imported calendars in Google Calendar are not updated, or out of sync with the TeamSnap calendar.

To be fair, TeamSnap is not the problem, and Google is really the problem!

Many Internet Calendars show latest updates within minutes (up to one hour in TeamSnap's case). However, when importing the calendar into Google Calendar, Google Calendar uses a pull model to get the latest changes. What this means is that it is totally up to Google to decide how soon and how frequently it wants to sync up with these other calendar providers. According to Google Calendar documentation, Google says that Google Calendar can take up to 8 hours to initiate a pull (sync up) from imported calendars. Recently, Google actually updated the documentation and increased the delay time to up to 12 hours.

But don't let that fool you. The truth is that it can actually take up to 48 hours for Google Calendar to initiate the pull and get synced up with imported calendars. And that can be very inconvenient and misleading when you look at your Google Calendar in a hurry and not realizing that the event you are driving to (30+ minutes one way) has been canceled.

TeamSnap team actually acknowledged this as a problem and provided the following tutorial article on how to solve the problem:

Team Schedule is not Updating in Google Calendar

Their solution is to delete the imported calendar and then reimport the calendar with a different query parameter (e.g., add the string "?query=1") at the end of the calendar URL to force Google Calendar to reimport (thus sync up) all the events and not use the cached version (which is outdated). Definitely a hack! Although this hack works, it only works once. Next time an event gets out of sync, you have to change the parameter and delete/reimport the calendar again. Not very convenient at all!!

So why doesn't Google Calendar provide a button or something to let you manually sync an imported calendar? Sounds simple enough for a company as big as Google, right? Turned out many Google Calendar users have been requesting this feature since as early as 2010 (9 years ago):

Feature Request: Manual Refresh of external calendar URL / .ics / iCal feeds

Google Calendar not updating published calendar added by URL

And unsurprisingly, Google chooses to ignore such cry for help, just as usual.

It is typical for Google when it comes to free services they offer, such as Google Tasks, Google Keep, Google Assistant, Google Calendar, and the list goes on and on. They ignore bugs people report, features people request, and questions people ask relating to how to use Google products. The Google Help Forum (support.google.com) is just a joke. It is filled with user seeking help only responded by other users echoing same problems. But hey, aren't these free services? Then why do we puny users expect to get free support? If you don't like it, stop using it!

Ranting aside, so are there any other options we have on solving this problem?

Options 1: Write your own solution if you know how to use Google Calendar API.

In the past when I was so pissed at Google Tasks' lack of repeated tasks, I wrote my own using Google Tasks API. 8 years later, they finally implemented that feature.

Options 2: If you don't know how to code or are too lazy to code it yourself, look for programs by other people who are so pissed at Google's lack of concern/support on core features and decide to write their own hack.

I actually found such a program specifically for this Google Calendar syncing issue:

ical_to_gcal_sync by Andrew Wramsay

This is a code repo (written in python) that will go through events on your iCal and then make sure to sync all these events on your specified Google Calendar. You could then schedule this to run periodically (Such as Task Scheduler for Windows or Cron for Linux). Just make sure to pull changes from the GitHub Repo when new codes are added.

Hope you find this useful!


BTW: The easiest way to remember my blog address is http://lanny.lannyland.com

3 comments:

  1. Anonymous2:24 PM

    I don't like teamsnap like it's really handy, but it is so slow and most of the time it doesn't even work!

    ReplyDelete
  2. Thanks for the post! The Team Snap to GCal delay has grown over the years and with schedules changing frequently due to COVID it's been a nightmare. I was able to get the python script running to sync a few calendars for our family. Good stuff.

    ReplyDelete
    Replies
    1. Glad my blog could be helpful. :)

      Delete