Jul 5, 2023

My Nostr Wishlist #1

Nostr is making lightning-fast progress in its development of new features and services, however, I still have a wishlist of what I'd like the protocol, relays, and clients to provide me with different features and services.

I've been using Nostr for a few months now, and I'm amazed at the rapid progress it has made in terms of new features and services. We now have multiple mobile apps and websites that enable us to engage with each other on the protocol in various ways and share different types of content.

Every time I use Nostr, I feel delighted. However, I often find myself thinking, 'It would be amazing if I could do this,' or 'It would be great if this client had that functionality,' or 'Imagine having an app that could interact with other clients in this way.' I am confident that these ideas will be implemented in due time, along with many more features that I haven't even considered. For example, I couldn't have imagined that I would be live-streaming on Nostr, but now I do it every day since I discovered it and decided to give it a try. In fact, I've live-streamed the writing of this very post!

With that in mind, I wanted to write this post to share my thoughts on what I would like to see on Nostr. These suggestions could involve a new NIP (Nostr Improvement Proposal), a new feature for a client, or even an entirely new app or service. It's possible that some of these ideas already exist, and I may have missed them, so please let me know if any of these are already available.

As a side note, for more context, I primarily interact with Nostr using Plebstr on my mobile device running Android. I also use Snort on my PC, although I anticipate using Plebstr on PC once their PWA (Progressive Web App) is launched, assuming it matches the quality of their mobile app or surpasses other sites.

Nostr Wallet?

I'm really hoping that someone develops a wallet application similar to Bluewallet, specifically designed for Nostr keys, as it also handles signing requests and even an automatic signing setup.

Here's how I envision it:

  • The wallet would be a mobile app, similar to Bluewallet, supporting HD accounts with an infinite number of child addresses.
  • Each address would have its own private/public keyset.
  • In the app, you would have the ability to customize the profile meta-data for each address.
  • There would be a default relay list for each HD account, which would be automatically propagated to all child addresses. Additionally, users should have the option to add or remove relays for individual child addresses.
  • One important feature would be a "Signing Link," which you could configure within the app and share with other apps or sites you wish to use. Whenever you want to publish or post something on those apps or sites, the sign request would be sent to the designated "Signing Link." Your Nostr signing app would then receive the request and present it to you for signing or rejection. Once you've made your decision, the signed request would be returned to the requester. This functionality is intended to provide convenience, eliminating the need to connect your phone to a PC or other devices for signing purposes.
  • Additionally, it would be great to have an "auto-sign" feature for specific apps or sites, allowing you to authorize actions on Nostr for a defined duration (e.g., hours, days, months, or even years). This way, you wouldn't have to open the app and manually sign every time you want to interact with a particular app or site on Nostr.

I'm aware of nsecbunker, but I have a couple of concerns. Firstly, I'd prefer not to subscribe to a service, and secondly, self-hosting and managing nsecbunker can be somewhat complicated. Hopefully, nsecbunker will make a self-hosted version available as a mobile app in the future. Nevertheless, I believe that the features I described above differ from what nsecbunker offers.

NIP-05 Handle Moderation Controls

One aspect of Nostr that currently bothers me is the inclusion of posts from Mastodon, a separate protocol. These Mastodon posts are imported using a specific NIP-05 handle. It's important to note that the issue doesn't lie with the posts themselves or the service responsible for mirroring them onto Nostr. Rather, the problem is that I don't have the ability to not view these Mastodon posts in my Global feed or search results. Unfortunately, unfollowing relays that host these posts isn't a viable solution. I would greatly appreciate the ability to filter out all accounts and posts from Mastodon, including those associated with the specific NIP-05 handle, mostr.pub, and any future instances that might arise.

Separation of different notes

Now we have communities on Nostr, and it's absolutely fantastic! They function similarly to communities on Reddit. Taking the initiative, I have created two communities, namely Gaming and Anime, since I hadn't come across existing ones and I wanted to engage with like-minded individuals. My intention was to provide a welcoming space for new Nostr users to discover and join these communities, enhancing the overall experience with shared interests and enjoyable discussions.

As exciting as communities on Nostr are, there is a minor issue that I've encountered. Whenever I create a post within a community, it also appears on my own profile as a regular note or post. This has been a slight annoyance for me because I don't want to clutter my profile or expose my followers to community-specific posts in their timelines.

To address this, my suggestion would be to have clients differentiate these types of notes from regular ones and categorize them accordingly. For instance, these community posts could be given their own designated tab on a user's profile, such as a "Community" tab. They could also be tagged with a label like "This is a community note posted in " to provide clear context. Additionally, it would be beneficial to give users the option to choose whether they want to view community posts in their timeline alongside regular notes. By default, this option should be turned off to respect users' preferences.

Implementing these changes would ensure that community-related posts are properly organized and separate from personal posts on users' profiles, allowing for a more streamlined and user-friendly experience.

"Account Compromised" Security Step

"What if my Nostr account got compromised?" is what I thought. What steps can I take to help myself during this kind of situation? At the moment, not much. So here's hoping that there'd be services/features that'd help a Nostr user when their account, specifically their nsec, gets compromised.

I'm not talking about taking security measures to prevent it, which I'm sure many are already working on it, but measures to take when a breach had occurred.

I've thought of a way that'd help me, and hopefully, it would be added to Nostr as a new NIP or a feature on clients (or both). So here's the idea:

There'd be two new fields in a Nostr account's metadata:

  • Backup key:
  • Compromised: yes/no. Once you've set your backup key, it can never be changed, and once you know you've been compromised and switch that "Compromised" toggle to yes, it can never be toggled back to a no.

What should happen when you toggle "Compromised" to a yes? Your updated account's metadata would be pushed to relays and clients and said clients would then present the account as being compromised to followers and viewers while showing the new backup account.

Nostr Notification Sound

Do you know how Twitter has that notification sound for when you get a DM or mention, and it sounds like a bird chirp? It would be nice if Nostr clients had a similar sound for notifications, and that sound would be the Ostrich one. I've cleaned up, cut, and edited one to fit this wish:

Lightning Wallets in Nostr Clients

This is a straightforward wish. I hope that Nostr clients implement their own lightning wallet directly into their app/website so that I'd just top it up and zap whoever I please with one tap, instead of having to switch to other apps and confirm the LN transaction. From multiple clicks to just one tap.

Video Hosting & Sharing

I'm really looking forward to the day when someone finds a solution to this particular challenge. It would allow me to upload a video that can be viewed by a large number of people without experiencing bandwidth limitations, all while ensuring it doesn't become a financial burden for the uploader.

To realistically achieve this, I envision a platform that enables me to upload my video using my Nostr account. I would be required to pay a fee for the initial upload and hosting period, which would be directed to a chosen relay that offers suitable hosting services. Additionally, viewers who discover my video and wish to watch it would need to stream Sats (satoshis, the smallest unit of Bitcoin) per second or minute of viewing. They would have the option to either top up their own Sats balance or earn them by watching ads. A portion of the advertising revenue would go to the viewer, adding to their balance, which they could then utilize to watch more videos. The remaining revenue would go to the video producer.

As the video approaches its bandwidth limit, more relays would offer their services to the video producer to host the same video. This would ensure that others can watch it without encountering any issues.

This system would provide a sustainable model for video hosting, balancing the costs of hosting and streaming with the revenue generated from viewers and advertisers.

Multiple Accounts & Switching

I am aware that some clients already offer this feature, but it seems to be less popular among clients overall. Personally, I would greatly appreciate the ability to add multiple accounts to a client and seamlessly switch between them. Why would I need multiple accounts and the ability to switch? There are various reasons, such as having separate accounts for different interests, allowing me to follow distinct individuals and topics. Additionally, having a dedicated business account and a personal account, or even maintaining a backup account, would serve different purposes.

Tweetdeck? Nosdeck!

I think multiple people right now are working on a Tweetdeck-like platform, so I'm happy about that. Hopefully, this will come soon. Tweetdeck is getting worse and Twitter as a whole is getting worse...

One thing I'd be kind of let down if in the first or second release of a Tweetdeck-like platform is not having the ability to add more than one account. So here's hoping that's a priority!

Edit Notes

I would greatly appreciate the ability to edit published notes on Nostr. Although I understand that traditionally posted content is considered final, I have an idea for how this could work.

If I want to edit a previously published note, the edit would be treated as a new note and displayed as the latest priority note.

In terms of implementation, relays and clients could handle this by assigning a modified ID. For instance, if the original note had an ID of "4454". The new implementation would assign it as "4454:0". When an edit is published, it would be given an ID such as "4454:1". Relays would record these changes, and clients would display the latest edit with the highest number (e.g., "4454:1") while offering an option for the public to access the entire edit history of the post.

Form Creation

I'm not entirely certain about this idea, but I thought I'd bring it up as I believe it could be valuable for users. Perhaps this could be introduced as a new NIP, where someone creates a form consisting of various questions and different types of fields for users to respond to. These fields could range from standard text fields to radio buttons, checkboxes, sliders, and more. It's similar to Google Forms, but designed specifically for Nostr.

Non-ICANN Dependent Handles

When searching for someone on Nostr, the current method involves looking up their name and verifying their identity through their npubs. However, there has been a desire for a more streamlined verification process, leading to the introduction of NIP-05. This implementation connects npubs to names under a specific domain authority, like "freakoverse@gadstr.xyz."

Nevertheless, the idea of relying on a domain controlled by ICANN for managing this system does not align with Nostr's decentralized approach. The need for a better solution becomes apparent, prompting exploration for alternatives.

Personally, I have struggled to devise a solid idea to address this challenge. I attempted to share my thoughts on Stacker News, titling it "The ICANN Problem," but the community dismissed the idea, highlighting valid concerns.

Currently, the only notion I can conceive, albeit far from an ideal solution and potentially less convenient than the ICANN approach, involves each app or website implementing its own handle management system. For instance, registering a handle on Plebstr would allow me to tell others, "You can find me on Plebstr @Freakoverse." In this scenario, individuals would locate me accordingly. However, this concept still relies on the platform granting me the handle, presenting the issue of potential handle duplication across different apps or sites.

In all honesty, I am uncertain if this challenge can be solved or even if it should be tackled. Nonetheless, I hold hope for a resolution. When that day comes, it will undoubtedly have a tremendous impact on the whole internet.

Thanks for reading!

That's it for now. I can't think of any more major features or services that I wish for from Nostr, but if another chunk comes to mind, I'll write up another post about it, and if you've reached this point in reading this post, and you have one or more features or services you want from Nostr that wasn't mentioned here, then I, as well as others, would love to hear it.

With that said, thanks to all the ideators, programmers, designers, and everyone else involved in making Nostr more amazing with each passing day!

I, and definitely most users, appreciate and respect your dedication and commitment, as well as your love and passion for advancing and evolving Nostr, having fun doing so! =3