Posted Thursday, October 24th, 2019

Dealing with deprecation

When your systems rely on a third-party with no obligation to support you, what do you do?

Problem

Apple announced they were deprecating a method of identifying players via Game Center that we reliant upon in production to help iOS users create RuneScape accounts. While they provided an alternative, they did not announce a cut-off date for the legacy identifiers, and their developer documentation was not updated to reflect this. The new identifiers could not be retrieved unless the user logged in.

Reliance on third-party identity providers was an accepted risk, and we already provided users with ways of securing their accounts with further identifying information, however we needed to undergo a safe and full migration before this unknown end-date or risk losing user’s account details.

Solution

I updated our Apple authentication service to begin accepting new credentials, and our dashboards to show progress over time. Simultaneously, we reached out to Apple for further clarification. This work was a preventative measure wherein we reacted to changing circumstance with little notice, and we were able to retrieve the new identifiers.

Learn

  • Plan for external dependencies to become unavailable, have a migration strategy ahead-of-time
  • Ensure monitoring can support semantic information about the state of an application in addition to typical performance metrics
  • People writing support articles for live customer support need as much context as possible 
  • Communication with larger third-parties can have longer lead-time