Instead of the model of one dat being one web page / app, you could split it into four dats
- Schema: a syntax describing the content format (eg filenames, datatypes, lengths, etc)
- Content: the actual content itself (social feeds, videos, map data, etc)
- Application code: the javascript code that turns the content into a user interface, and handles updates.
- User identity: crypto keys (signing and encryption public keys, with self-signed cetificate, etc) for the user
The advantage here is that there would be some nice decoupling and standardization when making apps:
- Different application dats can render the same content
- Apps can be considered compatible when they render and update content using the same schema