7a
Nostrbyte
7a46e95c16f2b02b03c3fbcfbdccd5cc05f57f34ca352d5a3a05d360f7c2f965
Excited to start developing on nostr

Steps and syntax is what I had in mind, for those with limited knowledge on the command line. My thinking being that more people would complile from source from a good set of instructions.

What ever real climate issues exist are minimal because the creator is not going to let the earth be destroyed. The kings of the earth have decided to follow Satan rather than christ, and it will not end well for them. Most people today have zero faith, but I will say this here, because some of you may actually care to look into it.

Someone could write good instructions to build on Mac and include with docs. Would be helpful for a lot of ppl.

I don't know, all I can tell you is what I have tried and how that went. #[0] is working out design ideas but I don't think he's interested in the coding part. Are you?

I tried Tauri and found the undebuggable magic that hooks Rust and JavaScript together to be a massive minus. I have performance problems and I could not figure out why. Using javascript rendering with VueJS or similar was nice (it is what I do for my day job), but it just didn't work. I hear "good things" from other places about Tauri, but it didn't work for me.

I tried gtk4 (since it's newer than gtk3 and new projects maybe should use the newer one), but the rust bindings are not documented and are not quite like the C++ bindings, so it was very painful trying to figure out how to do in rust what is well documented in C++. The people who wrote the rust bindings were no help at all. I found that slowed me down so much that I abandoned gtk4.

I did not try QT.

I did not try other rust-native UIs such as druid, iced, slint, or azul.

egui has two problems, but they aren't as bad as originally imagined.

First, it is not easy to do beautiful interfaces. You don't get beautiful fonts with color emojis or subpixel anti-aliasing or even hinting for that matter. The default widgets are ugly 1990s looking things, so you may have to build many of your own widgets. BUT given that it is OpenGL you can draw anything that OpenGL draws so strictly speaking there are no limits to what you can do. It's just that some things are very complicated and most people don't want to build the top-end of a GUI from scratch.

Second, it is immediate mode, which means it re-renders every frame. This turns out to be no big deal at all. I run it at 10 FPS and it looks fine. Many frames don't require a redraw as nothing has happened, so it might only draw 1 frame per second. And the rust code that specifies what to draw is much faster and simpler than the pixel shaders (for example) that determine what color each pixel needs to be, and we aren't doing anything like that in rust per frame. So I find my CPU appears pretty much idle, even though it is respecifying what to draw for up to 10 times per second. I find it "fun" to make sure the UI code doesn't block and doesn't do anything compute intensive, and optimizing it really is my cup of tea.

So in summary I'm not against sticking with egui, but to make it look beautiful and to fix the UX, it will probably require some uphill UI development which might have been easier in a different GUI.

/wall-of-text

A third issue with the egui rendering is that text can't be copied by a user. You can code around that issue, but it will probably not be real smooth (intuitive) for the UI.

I am interested in working on a nostr project but user interface in Rust is not my skillset.

I hope others take a good look at Gossip, becuase your concept is on track to keep clients from being cornered by the relays with the most money. New world order fat cats can setup 20 or 30 relays and dominate the whole thing if the client programs allow it. In fact I am sure they will also setup 10+ clients to ensure their relays are fed. (pun intended) Users need to realize the only way this works is if they control the relay scheme. FedCoin is going to try to kill this in a big way.

As I write this I realize that you should not be distracted with the gui. It's functional. You could extend an API and become the engine for clients very quickly.

What front end tech would you like to see for Gossip? Are there any that you would prefer.... or any that you would not entertain (I take it any and all web tech is out based on what I have read).

I ask because what you are doing blows everything else away, but will need a robust (not a colorful) front end.