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.
You can do the multiple kinds you need in just one REQ. I don't get the problem at all.
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.
I never talked about following lists, these should stay separated, and maybe re-thinked to avoid the problems caused by the atomic structure.
About memory usage, we should reason keeping in consideration the real sizes: an average profile with 10 relays takes less than 1000 bytes, and the client can easily discard the useless data from memory as soon as it has been received.
Only if you need to download all the things, which most apps will never need to.
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
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.
Thread collapsed