one that stood out was that even though the data getting returned from the relay was really small, profile picture and media loading was swamping the link bandwidth and the nostr responses were just lost.
one change I'm making is QoS on certain requests. For example: ensuring nostr data is returned before we start loading media. This should work well on all connection types.
Lesson here is always be testing on low performance and low bandwidth devices (via android or iOS network link conditioners) if you want to create a good experience for everyone on the planet.
Notedeck *is* damus android. It’s built to be a responsive app. Purple is for helping support Damus development (notecrumbs web frontend, iOS, android, desktop, push notification server, damus relay, purple relay). We are not just an iOS app. We are trying to build a decentralized nostr experience for everyone, not just apple users.
When building an immediate mode UI nostrdb is fast enough to do queries at 1000s of times per second. You can render at 144+ fps while doing queries in the UI on the main thread for each frame without having any complicated async query code.
Each frame has realtime access to every profile and note you’ve ever seen. Lots of cool possibilities and features to explore with this new tech.
Embed this noticejb55 (32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245@mostr.pub)'s status on Friday, 03-Jan-2025 23:55:58 JST
jb55In a local first world where each device holds local copies of your nostr nodes, and each device transparently syncs with each other on the local network, each node becomes a backup. Your data becomes antifragile automatically. When a node goes down it can resync and recover from other nodes. Even if not all nodes have a complete collection, negentropy can pull down only what is needed from each device. All this can be done without internet.
The future we about to enter is hard to imagine, but it’s amazing.
nostr without internet. what would you use this for? maybe chatting with your spouse from the other room when your internet is down? lol. going to do this as a hackday project.
you can imagine sending out a REQ into some gossip overlay network, if there is some node willing to service that request it could initiate a negentropy sync with you.
The ideal scenario is:
1. send to immediate subnet to see if there are any other devices on my network who can service it
2. send it into some wider local area network
3. reach out to gossip on the internet
4. reach out to oribtal relays to see there is anything cached off planet..
5. reach out to the mars relay to se... ok getting silly but still
Maybe ICN can even help is here somehow if that ever gets implemented.
One thing that comes to mind is having TTL on the packet to limit the reach of each tier of request.
Let's say you send out N REQ packets, each with different TTL. Then at the router where the packet is about to expire, the router can see if there are any nearby nostr nodes to service the request.
All this would require is new kind of IP protocol outside of the regular ones (TCP, UDP, etc) so maybe this is a bit far off for now 😂
now that I think about it, any nostr node could join a nostr multicast group via IGMP. Then anytime you post, it could be sent to alls other nostr nodes on your local network. you wouldn't need internet relays for corporate networks. your nostr apps could communicate on your local network without internet.
for instance, lets say I have a list of interesting people but one person posts wayyy more than the others, I don't want to drown out everyone else, but I still want things contained to a list/column. there should be a way to add an algo tab/filter that organizes based on user post frequency.
having to manually manage this would be annoying, so it would be nice if this was just a modifier on any list.