I started developing mobile apps in 2009. My first ‘professional’ app (my definition of professional here is simple: I got actually paid for the work…) has recently reached ‘end of life’. Not surprising for an app that went life in 2010. It had many downloads and fulfilled it’s mission. After 5 years it was decided not to keep the data in the back-end up to date anymore.
When I received an email requesting to ‘take the app offline’ I started to think about this for the first time: Taking the app off the app store (in this case Apple’s App Store) prevents new customers to download and install the app. However there is no way of ‘wiping’ the app off users phones and tablets! The app will still be on thousands of devices. Doing nothing (not updating the data) will leave users with stale data.
My first thought was releasing a new version of the app with a single screen indicating the app is not supported anymore. No doubt Apple would have some objections releasing an app like that. And of course there is no guarantee people actually update their app! We ended up tweaking the back-end data delivered via a service to show a pseudo entry containing a similar message. Less than ideal, as the message was not prominent and users only see it once they actually want to look at some data. We were also not able to turn off any of the apps functionality.
The solution is straight forward: If your app relies on an service to receive data implement a ‘kill switch’. Design the API to that allows the app to display a message and disable functions. And make sure this is part of your initial design. Trying to do this retrospectively can be difficult. In my case the app wasn’t updated for years, the IDE and targeted OS version were outdated and it would have been very costly to update the app just for this.