Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
A little thought will make it clear that trying to place the compatibility requirement on the server side is a non-starter. Remember, the problem is not with an out-of-date client, since we can pretty much assure that the client will always be the latest version (and enforce it with upgrade messages inside the app that force the user to upgrade before proceeding). The problem is with an out-of-date server, which can’t support all the new or changed features of the app.
There’s no way to build forward-compatibility into a server, and the client will still have to conditionalize on what comes back in the payload from the server. So, we’re back to square one.