there is an argument to be made about the separation of data storage and client apps and relays. what makes social networking built on #nostr decentralized is precisely that they are modular. each one provides a limited scope of functionality.
if each client app has its own data storage solution, segregated from all others, outside of the protocol, you only own part of your notes in nostr, since migrating to another client could not be straight forward. and we would be back to Twitter.
meaning data storage servers and clients need to agree on a common enough API, so that integration with multiple data storage solutions, and migration is even possible, even a self hosted, or self acquired one. that way, when you migrate from relay to relay, client to client, ALL data in your notes and other stuff will follow you.
it's still early days in #nostr. right now, all those solutions are created and managed outside of the protocol. which means, to me, that integrating into an app is somewhat questionable, and could lead to bricking an app, if that solution doesn't stick.
it's super easy to request a feature, but remember that the challenges to implement such features that we know from other platforms have been solved by segregating your profile to a single network and selling user data to the market.
#Nostr allows for a different approach, and that's what we want from our clients and relays. but it doesn't disallow a centralized app/relay/datastore solution from existing, so we either must be patient in requesting these features, or start providing distributed, cooperative, highly available data hosting solutions that have a good enough API to integrate with #nostr apps and relays