It's quite dispersive, IMO. I should be able to fetch all the profile important stuff with a single REQ: basic metadata, outbox relays, DM relays. > since those are not used by majority of Nostr applications. This make little sense to me, doing a separate REQ to fetch a single piece of data of few bytes seems a waste of resources, and you have also to manage the case where the event is missing.

Replies (3)

Sure, but you are still using more resources (from client and relay) than using a single event. What I don't grasp is this urgency to fracture the profile data, given its small size.
It's mostly PTSD from our massive follow lists and bookmark lists that break about half of the relays out there. We know shit breaks with large events. Also, I would argue the opposite. Apps that don't use certain fields should not be forced to keep them in memory. Each app just downloads the exact content they need and leave bigger apps like Amethyst to suffer a bit with added memory. It's fine.
Everyone interacts with the same handful of people over and over. Just cache that data and background-sync it, periodically, so that the cache doesn't go stale. The number of events is irrelevant, if you structure your fetches efficiently, and do some smart caching.