Why Is My Calendar Feed Not Updating?
Author: Adam Bird
5th October 2015
Until now the only straightforward technical option for getting a list of events to appear in someone’s calendar was publishing an ICS feed. While simple from a development standpoint, it’s a pretty crummy user experience.
The problems with this approach are at the heart of why we built Cronofy. We absolutely believe that bookings information should be available in people’s calendar. However, ICS files are not the way to do it.
Client Polling Schedules
Keeping your clients calendars up to date with bookings is critical to ensure they know what is going on and don’t book anything else instead. You’re at the complete mercy of the calendar client the user has with regard to the refresh cycle and thus the timeliness of the data.
This can be especially acute with Google Calendar users. We see multiple reports of updates only happening on a daily basis. A far lower cadence than is in anyway useful for most apps.
Not only does the user get a bad experience, they’re probably blaming your app. If nothing else, they having a poor experience with your service.
User Set Up
Setting up feeds can be a nightmare for the user. As a developer all you can do is provide them with a link and hope that the device they’re using
a) recognises the mime type or protocol scheme and opens the right app, or
b) that they can navigate the obscure settings menu of their calendar client to subscribe to this feed
Security Through Obscurity
There is no standard security supported by calendar clients of ICS feeds. You can’t configure protected access to the URL that is used to access the feed because it’s highly unlikely that the client will support it. Yes it’s appeared in iOS now but that’s just more complication added to the user experience.
Developers get round this by using obfuscated URLs, that hopefully, are non-guessable. ie they shouldn’t be using sequential ids that map to user records or similar in their application but instead should use randomised keys. And yes, SSL can be used to encrypt the data in transit.
Once that URL is known, then the data is freely available.
I shudder when I see apps like health care practice management systems exposing a convenient URL for the doctors to have their appointments on their iPhone.
The sensitivity of personal appointment data should not be exposed to this level of exposure.
So of course, integration with Cronofy is the answer 🙂
While full integration will resolve all of the above issues, we appreciate that rewriting elements of your app in order to solve these problems is non-trivial. So, we’ve built something to help.
We’re trialling an extension to our calendar API that allows application developers to register ICS feeds for our platform to monitor. Then updates can be automatically mapped onto a users calendar to ensure they’re kept in sync.
Your user benefits from super simple setup and near real-time updates.
You get the bare minimum of development effort and a reduction in customer complaints about their feeds not updating.
If you’d like to be part of the trial of this new service then get in touch at firstname.lastname@example.org.