Bandwidth usage in Damus Notedeck is very good. I was using it on an airplane and it worked great.

On first open it has the notes from the previous session, so it can optimize filters right away for every column, so you only have to pull down a few thousand bytes instead of megabytes. Damus iOS currently does not do this but we will be switching to the local relay model so eventually it will.

The desktop version has a powerful command line interface, so you can do very specific and optimized things like launching the app with only a single relay in your pool, launching with only lightweight queries, and launching with image loading disabled, so bandwidth use can be near optimal for power users and in extreme conditions. nostr:note1d4s0whljtd6jv7pelmkypheyjql5awyfpkjrjdzjxa2rywvxu2fsxgau2l

Reply to this note

Please Login to reply.

Discussion

how was the airport part? 1 to 10 /ezpz lfg

Where can we find instructions to properly test and work with Notedeck?

If you just google damus notedeck you will find it. I will try to put together a manpage soon for the commandline options.

Our guis for a lot of the functionality are not quite there yet, but the cli can customize decks:

-f query_file

—filter query_string

Add accounts:

—sec nsec…

Etc

./target/release/notedeck --sec nsec1blahblahblah -f queries/timeline.json -f queries/notifications.json -f queries/hashtags.json

be sure to edit your notifications.json add your npub and edit hashtags.json to customize the hashtags you'd like.

sent from damus notedeck

i have a user! I’m working on threads today so hopefully will have an initial version of that done soon!

Oh nice 🔥🔥🔥

I also have a branch with image loading but its not optimized yet so i haven’t merged it

nice!

Thank you!!

Thank you!!

Where do you change these? In the terminal while the app is running?

Thanks a lot

Thanks a lot

?! the ?! :)

This is cool. Im interested more how this works at a high level. Do you have a local relay that then talks with all the other relays specified by the user? So note deck simply queries the local relay and as things come in from other relays they are shown?

You create subscriptions on nostrdb, but they are just threadsafe queues of pointers to binary notes in the db instead of json and websockets and all that.

The idea is that you create remote subscriptions like normal, but the results of those subscriptions are only dumped into nostrdb.

nostrdb has a super efficient de-duping threadpool note processor. Any new incoming note matching a local subscription will be pushed to the subscription queues. They can be then polled or you can register a callback.

You can even do privacy stuff like open a remote global filter, and have local subscriptions that try to match notes without leaking any queries on the relay. This is a bit more bandwidth intensive of course.

Very interesting. Right now for Seer Im using SwiftData as the backing local db. Connections and subs are created like normal and then pushed into it. Locally I have live queries to SwiftData. It's actually working well so far, but I haven't really been able to stress it with data yet. So we will see... 😅

ok now we talking! local reverse relay with caching sounds like a pretttttty good way to make all your nostr clients be more bandwidth efficient and feel snappier

yes sir