Changing App Behavior Server-Side

We've all been there: you ship your app, it passes Apple's App Review, then it's in the Store... and then you find a bug. A small bug, but one you should fix ASAP. Whether it's some issue with download behavior, the color of some box, the font somewhere is too small, or your French localization of some text is overflowing some button (like what Daniel Jalkut talked about on Core Intuition this week), either way, it's a pain. You fix the problem locally, and submit a new build, but Apple still takes a week to review it. Meanwhile your users are having to deal with a bug that you've already solved. It's a common, frustrating and often a sales affecting problem.

On a recent episode of ATP, Marco mentioned that he could change quite a few features of the app from the server-side. Combine this with Brent Simmons' way of building Vesper (i.e. using plists to configure colors, fonts, item sizes, etc) and it seems to me that it should be entirely possible to make iOS apps that are mostly configurable from the server-side. This got me thinking. Why not build the app to download it's configuration file (i.e. plist, or Localization.strings file) remotely? Sure it's not as convenient as Apple's built in frameworks sometimes, but it would allow developers to fix features, colors, themes, and localization issues all remotely, and instantly.

I haven't looked into the technical issues with this, and there is an argument to be made that not all iOS devs want to run a server just to host their .strings files, but if you're already running a server for some other functionality in your app, it's basically cost free and avoids quite a few small but irritating problems.

My motto: If it can be on the server, it should be on the server. The client doesn't need to worry about it, it just needs to display it.


Filed under: iOS development
Other Links: RSS Feed, JSON Feed, Status Page →