What third party calendar apps do you fine people use for planning/scheduling work?

Just to give some insights why BusyCal, Fantastical etc all “bypass” Apple’s calendar system and force you to log in separately to your iCloud and Google accounts etc has to do with the way Apple has implemented and limited what they allow 3rd party developers to do. The three areas where they’re implementation is really lacking are:

  1. they don’t ensure each calendar event has a unique ID across devices, which makes syncing events and associated data in your app quite hard. We have had to rewrite Agenda’s implementation 3 times and still it’s not always 100% flawless due to this limitation.

  2. they offer only a subset of what’s possible in the Calendar and Reminder app through the APIs for developers, for example while it’s possible to read attachments and invitees, we can’t add those to events through the APIs. And let’s not talk about all the features the Reminders app has added of which none is made available through the APIs (tags, sublists, etc).

  3. while most calendar systems allow for this, Apple doesn’t allow you to set custom data field for an event (which would make it much easier to set up a unique ID or associate say a link to a note in agenda without having to use the notes field for example.

It means that if you are trying to make a calendar replacement app, you will have to go the route that these app have followed and talk directly to iCloud, Google etc. The good thing is that if you have these accounts also set up in the System Preferences/Settings app, the data will still sync, albeit indirectly, and arrive in Agenda, also if you use these apps.

I hear you saying, why doesn’t Agenda then follow the same route. Well unfortunately it’s still a hell of a lot of work to implement direct interaction with each of these services (login, implementing the correct protocols, etc etc), so also given our small team size, we’ve decided to stick with the limitations of Apple’s frameworks because we feel it’s still the right balance between benefits vs amount of work that we can spend on other features.

5 Likes