Client devs trying to get already existing users to switch to their client, rather than ๐ง๐๐๐๐๐๐ฃ๐ ๐ค๐ช๐ฉ๐จ๐๐๐ ๐ค๐ ๐ฉ๐๐ ๐๐ก๐ง๐๐๐๐ฎ ๐๐ญ๐๐จ๐ฉ๐๐ฃ๐ ๐ช๐จ๐๐ง ๐๐๐จ๐ ๐ฉ๐ค ๐๐๐ฃ๐ ๐ฃ๐๐ฌ ๐ช๐จ๐๐ง๐จ, is a huge reason Nostr doesn't grow.
If that's the growth strategy Nostr's NGMI.
Login to reply
Replies (17)
Our growth has been bad because users come to nostr and everything is broken
I'm glad you noticed.
And it's not just you. I've watched it happen constantly for 3 years here. Damus vs Primal battles were (are) a big one ๐
No hate for what you do. I send you bug reports and notes about things that could be improved for a reason. I signed up to help with the play store beta because I think your project is valuable.
Your post today smelled a bit like FUD though, and I think your client is good enough you don't need to do that, that's all. Keep going. ๐
๐ฏ
My main thing I like to complain about is media. Lack of optimization makes Nostr perform badly and use huge amounts of bandwidth it doesn't have to. Images & video on Nostr need a lot of love.
Please tell me all the media things I should fix I'll do it this weekend, idk much about this subject.
Putting the anal user hat on:
Only nostur saves where I left off on the timeline.
Only yakihonne and primal open links in app but primal doesnโt have emoji reactions and yakihonne frequently freezes for a fee seconds while scrolling.
Ditto has the UX of a cordova phonegap app right now
Damus is definitely a client that exists.
Possibly all of them, every now and then, faint while fetching replies in a thread.
Easy ones:
PFP optimization. They don't need huge res, 400x400 is ok as they are used for tiny icon sized images. You can crank down the jpeg quality too for massive size savings. A few kB vs a few MB.
Similar for images. Have some sensible default presets for uploads, one dropping the res to 2k on the long side and applying more compression can drop a 6MB image down to a few dozen kB and still look fine for phone size display. Keeping the same resolution but dropping jpeg quality can save a lot too, without much image degradation.
Harder
Video is still a WIP, but huge savings are possible. The videos taken on a phone are meant for archival purposes, and there is a lot of fat to trim.
Example video from my phone. The compressed 1080p version is almost indistinguishable from the original, but it's 93% smaller in file size.
View quoted note โ
This takes time and power to do client side. It would be better done server side, but those solutions haven't materialized yet.
With multiple res available in the m3u8 playlist you can play the small res version in the feed, and switch to higher res in full screen. This saves BW & battery. I've been playing with client side stuff, check the #chonkr feed for samples.
@The Fishcake (nostr.build) is an expert when it comes to this stuff too, he might have some input and good ideas. He's been trying to get this to happen for years, maybe team up and push other clients ๐ค๐
@Enki is working on server side stuff right now too, there's some posts in his feed today.
One more: converting GIF to MP4. A multi MB GIF can be compressed to a few kB of MP4. Most clients play them in the same fashion, so it's an easy win, orders of magnitude less data. Most modern software does this already. If I download a gif posted in Signal it is converted to an MP4.
@โก Dee Kay โก has put in a lot of work on the media code in Amethyst. Aiming your agent at his work there could teach it a lot. He's good to talk with too, he might have some tips.
Deekay's native video compression library for Android. It compresses to single file & playlists with multiple resolutions already. It might make your life easier.

GitHub
GitHub - davotoula/LightCompressor-enhanced: A powerful and easy-to-use video compression library and app (LCe) for android that uses the native MediaCodec API. It supports H.264/H2.65 hardware accelerated encoding and configurable resolution, bitrate, fast-start (streamable), and Gif to Mp4 conversion.
A powerful and easy-to-use video compression library and app (LCe) for android that uses the native MediaCodec API. It supports H.264/H2.65 hardwar...
Yeah but every client needs bitcoin integrated!!!!
Any other optimizations?
What kind of broken things are you seeing currently?
Are you on the latest 0.18.0? I have an auto play bug I'm fixing but I believe it should be way better on today's release, please let me know
Yes, we decided to cut down all trees to make room for a wide field
I didn't take you for a lumberjack. #TIL
it is better than it was. There's still an issue with replaying video though.
Nostr's architecture was suboptimal and I think it's now too difficult to fix.
Kademlia-type (XOR) implementations like pubky.app are the way forward. Maybe try building something on Pubky.