Apps should do one thing REALLY well. Which means apps must work well together. Private key security is paramount, so there should be a dedicated app for that. Copying private keys into many apps is bound to bring problems. Loading time is a crucial UX hurdle, and so data should be pre processed in a dedicated relay app, so that other clients don't need to make privacy degrading online queries. With such a setup it might be possible to run useful nostr apps that don't even have internet access, but get everything from the local network.