Oddbean new post about | logout

Notes by 24e7eec3 | export

 I am writing to inquire about the proposal you are presenting, specifically regarding the capabilities of Direct Message Nostr compared to SimpleX.

We have several requirements for our Direct Message implementation:

Encrypted Media Transmission: We need the ability to send encrypted media, not just text events. This means the uploaded media must also be encrypted on the server.

Encrypted Voice and Video Calls: It is essential for us to have secure, encrypted voice and video calling capabilities.

Self-Destructing Messages: We require a feature for messages to be self-destructing. This means that after a certain period of time or following our conversations, data should not be stored long-term on the relay or media server, ensuring it is completely deleted. This is crucial as any compromise of the private key could potentially expose all exchanged data.

Key Revocation: We need the ability to revoke our private key if lost or compromised, which would ensure a prompt and complete deletion of all associated data.

@simplex  
@fiatjaf
 @Vitor Pamplona    
 Bugs and Suggestions for the Primal Client Version 1.0.3 on Android

### Bugs
1. Event Leakage: When a user attempts to send an event in a specific relay, that event is also broadcasted to other relays. In other words, the client has hidden connections to relays other than the one specified by the user, compromising privacy.
2. Feed Scrolling Lag: In countries like Iran and China, where filtering (GFW) is present, limitations have been imposed on Primal servers. As a result, users experience significant lag. If Primal were not reliant on a single server, users could connect to other relays and disable relay caching to resolve this issue.
3. Comment Display Bug: Occasionally, unrelated posts appear in the comment feed instead of the actual comments for a post.
4. Direct Messaging Not working: NIP-04 is deprecated; NIP-17 and newer methods like MLS need to be implemented. Currently, users cannot view their previous chats in Primal, rendering the direct messaging feature effectively useless.

### Suggestions
1. Implement NIP-46, NIP-55, and NIP-49: To enhance private key security.
2. Implement NIP-65 and Outbox Model: To prevent the loss of events.
3. Enable Local Caching on User Devices: Allow users to disable Primal's relay caching, as the GFW in China, Iran, and Russia imposes limitations on Primal servers, causing lag and bugs for users in these countries. Additionally, Primal's relay caching may lead to user events leaking to other relays.
4. Profile Picture Change via Link: Primal servers have near-zero upload limits for countries with GFW, making it difficult for users to upload content. Allowing users to link media from other servers in their profiles would alleviate this issue.
5. Implement NIP-96: To allow users to set the appropriate server based on their internet connection.
6. Functionality Segregation in Relay List: To enhance privacy and organization, each function should have its dedicated relay, similar to the Amityst and Nostrudel clients. For example, the private message relay should be separate from the home feed relay.
7. Implement NIP-09: Allow users to edit and delete events.
8. Support for NIP-11: Enable users to gather information about relays and connect to them knowingly.
9. Support for RTL and Right-to-Left Languages: Languages like Persian are written from right to left. Lack of support for this feature can lead to improper display of Persian text.
10. Complete Deactivation of Default Wallet: Since Primal has sanctioned Iranian users, it would be better to design the client in a way that allows us to replace the wallet feed with NWC entirely.
11. Enable Event Broadcasting to Specific Relays: To give users more control over their data.
12. Implement NIP-36: Allow content creators to tag +18 content to create a safer and more secure environment.
13. Improve Video Display and Support for NIP-71: Videos should be displayed without taking up the entire screen. Support for long videos, similar to YouTube Shorts or Instagram Stories, should be included.
14. Support for Polls: To enhance user engagement.
15. Implement NIP-30 and NIP-25: Users should be able to provide reactions other than likes and view details about who reacted and how.
16. Settings to Disable Automatic Media Downloads

The Primal client is well-suited for beginner users who prefer a simple interface similar to Twitter. As the name "Primal" suggests, it is designed for users who are new to the platform and should maintain a straightforward environment. I do not expect it to deviate significantly from a Twitter-like design, such as transforming into a Telegram-like interface. Therefore, I do not have high expectations for support of NIPs 72, 29, and 28.

@nikola | @pedja | @rabble | @alex | @Alex Gleason | @tyiu 

@k.