Don’t take the easy way out
One of Team Today's core features is that it integrates with your calendar. Nearly everyone we’ve spoken to said they’re tired of the amount of apps and services they have to check to see where colleagues are and would like everything in a single place.
We thought: there’s an easy solution, nearly all of our target audience uses Outlook or Google Calendar, each of these platforms supports subscribing to a calendar and they support the iCal format.
It was easily implemented: the user adds a holiday or sets their whereabouts, the server posts all their holidays and whereabouts onto a queue which gets picked up by another service (Lambda) that creates an iCal file and uploads it to a server (s3), the calendar periodically checks the server and updates their calendar.
If that makes no sense, don’t worry. It didn’t fix the problem
To start with, it worked! You subscribed to a link from the site and shortly after adding your whereabouts or holidays, it magically appeared in your calendar!
Like this, there it is! Team Today!!
But… it only appeared for the user, no one could see their events. This is because it would subscribe to a calendar (and add a new calendar) but wouldn’t add the events to your default calendar which is what enables other users to view another person’s events (this was all new to me).
Back to the drawing board.
We needed a way of getting events into the users default calendar. We already had the iCal maker service above, so a quick solution would be to email the invites to people. They would accept them as they came in and any changed events would be updated.
Robin's hesitation should have been a clear sign, because in hindsight that was the worst idea ever. An email, everytime you change anything. What. Was. I. Thinking. 🤦
Back to the drawing board.
We had known that you could use Microsoft's API to update calendars but it was dependent upon the user signing in with their Microsoft account. A feature that was on the backlog but had been pushed back given its complexity.
Now seemed like the perfect opportunity to do it, we could potentially fix the calendar problem, and possibly another issue we were seeing where visitors would drop off at the register page.
After a few weeks of frustrating work (mainly trying to navigate Microsoft’s documentation±) we got there. We have implemented single Sign on with Microsoft, and calendars are updated immediately! This was a complex and timely task but worth the effort.
We’ve already swapped over most of our customers and it’s been well received. We’ll be monitoring the registration page to see if less people drop off and if they do, we’ll look to add some more providers. Lesson learned, don’t take the easy way out.
Head over to team-today.com/registration and check it out.
± Take a look at Stripe's documentation, it's amazing. Easy to follow, easy to understand. Then look at Microsoft's docs.
Thanks for stopping by and reading,