I’d love it if an client app dev could map out common Nostr subscriptions that can be used across apps. Even it just definitions and an example query.
There is a lot of commonality, buts it’s obscure today - and more common queries can help relay architecture and caching strategies too.
Obvious ones are:
# App User State
Get kinds 0/3/10002 for current user (priority)
Get kinds 0/3/10002 for current user following (maybe with a since if fetched recently)
Get kind 4 received DMs (priority) (query from N following write relays)
Get kind 4 received DMs (low priority) (query from your read relays)
Get kind 4 send (should be cached, but maybe more from other apps - use since)
Get notifications (optional following pubkey filter) (priority for following write relays, and your read relays)
# Timeline view
Get home timeline (posts only) (with stats?) (should focus on querying best N relays for each following user - not query all relays with same query)
…
# Event detailed view
Get reactions for an event
Get reports for an event
Get parent event chain
Get child event replies
…
# View profile
Refresh meta
Load their timeline
Get stats like followers, zaps, following, etc.
…
Many of these can likely be merged or carved out into common queries.