A common pattern for applications such as news, entertainment etc is to frequently update the content of the app. The content could be the images, text, audio-visual etc.

What is the best way to architect such an app so that it becomes easy to update the content and UI of the app. The publishing should be straightforward and should get applied once the app is launched.

The second aspect is the caching of data. Given the low memory availability and slow network connections, its imperative that some data be cached for good user experience. Is there a good pattern/available for data caching? The data should be dated so that as the new updates are received, old data is phased out of memory. However this data should be available on demand (maybe re-fetched).

Please share your experiences and suggestions.