Profile pictures are rendered by all Nostr apps in large quantities, so it is very important to optimize them to get good performances and respect users' bandwidth.
With modern phones and camera is not unusual to capture images larger than 2MB, and these images are often immediately uploaded (of course) without any optimization.
These are the statistics for profile image sizes based on a random selection of my following and following of following, with a sample size of 1,000 profiles:
| Size Range | Count |
----------------------------
| < 100KB | 421 |
| < 500KB | 315 |
| < 1MB | 76 |
| < 2MB | 63 |
| < 3MB | 40 |
| < 4MB | 30 |
| < 5MB | 10 |
| < 10MB | 10 |
| > 10MB | 9 |
----------------------------
| Timeouts | 2 |
| Broken Links | 24 |
| Total | 1000 |
55,3% (> 100KB) of the profile pictures can optimized!
I suggest that all developers resize the images client-side before uploading, inscribing them in a 1000x1000px square (or 800x800, which is more than enough even for a full-screen preview) and save them with 70% jpeg quality.
This setting should bring images below 100KB and make users happy.
daniele
_@dtonon.com
npub10000...vwqk
Working on https://fevela.me, https://nstart.me, https://njump.me, https://oracolo.me and other inspiring nostr projects. I love to build helpful things that people are pleased to use, mixing tech, design, usability and accessibility.
Amost done!
I also invited him to join Nostr, let's see if he accepts.
View quoted note →
View quoted note →Passkeys are incompatible with open-source software (was: “Passkey marketing is lying to you”) – Smoking on a Bike
#ngit and GRASP work really well, great work @DanConwayDev
GitWorkshop.dev
Decentralized github alternative over Nostr
Grasp • Git Repositories Authorized via Signed-Nostr Proofs


I think a useful best-practice for Nostr apps would be including signing permissions check in the onboarding, instead of randomly when they need them.
This is already quite common on Android for other kind of permissions.
Just briefly explain why you need that specific signature and fire the permission request to the local signer or remote bunker.
It's a one time proces that will make the following app's usage smooth a frictionless.
This will also naturally bring to highlight mandatory and optional permissions, making apps more solid and resilient to possible rejections in the signing flow.
View quoted note →
Does anyone know the guys at gravatar.com?
We should ask them to add Nostr to their onboarding.


Follow-up: after some tests I discovered that the ISP is blocking the TCP layer, but UDP is allowed (e.g. dig and nslookup work). So my WireGuard connection can easily pass through.
Now I'm really curious to know how many of you are going to don't pay the next invoice to test this possibility 😂
View quoted note →