If you can't change the server, it's not private.
https://image.nostr.build/9e3ed35ee5b99b7c49b1d566ad2ab2926201af12356b1772b1345065c57aa26b.jpg


Inside of amethyst? About 3 hours.

As a new app? About 2-3 days...


Yep. You can click on an image to add to your gallery


We are reaching Instagram levels of galleries now, nostr:nprofile1qqsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqpz9mhxue69uhkummnw3ezuamfdejj7qgswaehxw309ahx7um5wghx6mmd9uq3kamnwvaz7tmjv4kxz7fwdehhxarjwpkx2cnn9e3k7mf0hkrkkr https://image.nostr.build/bbafecf085f9b76af4fabe260965d58139d5af48210fcd5f680b1eb7df3f92a3.jpg


As long as they don't yell at me in me middle if the sidewalk, I am happy. Gotta have low expectations 😅


Not Odell.


Yeah, he doesn't even look like a New Yorker.


They do, yes.


It's because your company hasn't given you a new nsec yet...


All of us, one picture.
nostr:nevent1qqsgmrr06t4zzh5sxm2gy3d67gy6f8jatlfsjeqcml3xnrt97wyauucppemhxue69uhkummn9ekx7mp0qgstsw3gkljwt5stm9svt7htvcjlj4ffze4chkcyt4pxxj30xkgeg5qrqsqqqqqpg0y92q


Now switch the faces to mine, Will's and Derek's.


Yeah! That's next for us, but I am thinking on a single feed for all accounts. You could choose to see just one or see everything as a whole.

Likes, boosts, zaps, reports, etc... they all can be account based.


Android 15 is shipping out to pixel devices today and today's version of Amethyst is already compiling for that SDK. Let me know if you see any weirdness in the UI.


I don't know if that's what he is making but the idea is to not even have an account switcher. You should be able to like, zap, boost as any account, in a single click without evereaving the mixed feed.


I am getting more convinced that this idea of switching things around doesnt make any sense.


Nice! Do they merge multiple feeds as one as well?


Nice idea! Do you think they are different feeds or can you see a merger of all feeds in one as Gmail does?


Yep, browser extensions suck.


I think we still have a lot to do. You should be able to post as any account. Boost as any account, like as any account. All without leaving the main feed.


Does it allow you to share as another account? Or do you have to copy-paste things around?


Right? This whole thing sucks.


I don't even see how to add a new account on their android app. 🤔


Every account switcher sucks.

Is the Gmail app the best way to handle multiple accounts?

They allow single-click switching on the top right corner, but also allow you to see all inboxes at once and send the email from any account regardless of which one is being used at the moment.

YouTube sucks, Slack sucks, Discord sucks. Facebook and Instagram make you go to settings(!) to switch. It's just ridiculous.

It's so funny how everything is designed to get you locked into your own account.

Nostr has to fix this.


I still feel bad for developing Amethyst in this world. Gotta figure out a way to improve this.


Yep, now that nostr:nprofile1qqsrv06lgp4ht6m0sxnj4gdy389k5a6j8chpfyllrcvdaanyrhpgy6spzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctcl7hrp7 fixed my idiotic code from last year, we can start doing some cool stuff in the new post screens.


3-page Every quarter. They are flexible, but it's about how much you deliver in the months you are working. Apply doesn't hurt.


Apply to Opensats!


Push notifications for all nostr apps on Android? 😁


👀
nostr:nevent1qqs0xlnty5ht2k3pt3t75ke2f2ntg4wmqsz0d7tna5prf5j2tsgldecppemhxue69uhkummn9ekx7mp0qgs8lft0t45k92c78n2zfe6ccvqzhpn977cd3h8wnl579zxhw5dvr9qrqsqqqqqpjt8r3p


Now that nostr:nprofile1qqs827g8dkd07zjvlhh60csytujgd3l9mz7x807xk3fewge7rwlukxgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qgswaehxw309ahx7um5wghx6mmd9usjfpck has LTS support, if your app doesn't accept Amber yet you can just bug nostr:nprofile1qqs827g8dkd07zjvlhh60csytujgd3l9mz7x807xk3fewge7rwlukxgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qgswaehxw309ahx7um5wghx6mmd9usjfpck :)

No excuses.


Its suppose to be 0xChat. :)


Which NIP-29 server are you using?


Just like Citrine and Amber, if anyone makes a standalone Push Notification app for all Nostr apps in the phone (feel free to steal the basic code from Amethyst), Amethyst will stop shipping it's own push system.


Nice! Don't insert your nsecs in any Android app, just Amber.
nostr:nevent1qqs977sd9sf06sawscskj8k2nzxgp29qz5rdpw33wwlq4klpdlf255cpzemhxue69uhhyetvv9ujumn0wd68ytnwv46z7q3q0pensatlcfwktnvjjw2dtem38n6rvw8g6fv73h84cuacxn4c28eqxpqqqqqqzy8gacw


delete everything after 1 month.


public ones, yes. You can create one in the messages screen, + button


That is all correct :)


There is also relay.0xchat.com


Private: auth.nostr1.com or inbox.nostr.wine
Public: nos.lol (this gets notifications to your)


Many clients already offer, including 0xChat with is a client just for DMs and chats.


That is correct, but each 1059 event tags only the receiver. So, the version for Alice's relay tags Alice and the version for Bob's relay tags Bob.


At this point my NIP-04 DMs is just being used by spammers. The nostr:nprofile1qqsd236myjzpu489zzr6pxcx0jtrn04pezjnqft23a2pykyuszvwr3qpzemhxue69uhkummnw3ex2mrfw3jhxtn0wfnj7wttdn2 is becoming a spam tagger.


Mostly mobile UI (React Native) with a bit of Nostr backend for a new iOS and Android app.


bug found, bug fixed.

https://github.com/vitorpamplona/amethyst/commit/b8112ff1aa7dd40cf437167803fc581173fb23bb


checking


You can force the client to have the event ID or address in order to ask for kind 5s.

Meaning, clients can't ask for all kind 5s. They need to ask for kind 5s of a given `e` or `a` tag or from the logged in user.


yeah, because it needs to delete other people's events as well. Its not only for the logged in author, it's for every single post/like/zap in the feed.


yes


Sure, it's up to each relay operator to reply to the filter or not. But if the author wanted something deleted, he/she probably wants it deleted from all clients as well. And since every client now has a local cache, it's to the benefit of the author to send the event to the client as well.


The client has to ask for Delete events to delete it from the local database if it already has the event. It's very common and should be done by virtually every client.


Do I know any react native dev that is available for hire? Ping me.


What are you looking for? I am not a web developer. You are already using nostr-tools, so you just need to call it up.


how do we design a Nostr client that allows multiple accounts BUT doesn't need an "Account Switcher"?

We can definitely allow the author to switch on the new post screen, but how would the user know that the feed is for a given account? Or do we just merge all feeds from the multiple accounts? 🤔

I hate account switching in almost all apps.


make a bounty... let's get a new dev excited about this.


Nah, I just want to keep the keys in the extension :(


very interesting...


Audiences hate when you mix topics. Folks that like me because I talk about Nostr wouldn't like me talking about the Red Sox in the same feed. One account just doesn't make any sense.


it does, but it breaks all the time and Nostr-login is not ready when the account switches underneath it... nostr:nprofile1qqsrx4k7vxeev3unrn5ty9qt9w4cxlsgzrqw752mh6fduqjgqs9chhgppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg3waehxw309ahx7um5wgh8w6twv5hsxct838


Do you use "profile" to mean "account"? Weird.


Many native clients support multiple accounts by now... It's only the extensions that have an issue with it.


account == npub for normies.


I have Brave with one Nostr account, Firefox with another, Safari with another and now I am installing Chrome for a fourth one.

I am running out of browsers... WTF.


yeah... WTF is that...


Browser extensions really need to start allowing multiple accounts. It has been 2 years already... Let's go... No one is using just one account in Nostr.


NIPs (Nostr Implementation Possibilities) are technical specifications that Nostr developers create to define how specific event types and tags are used. These can be written before or after the feature is implemented and often go through multiple revisions before becoming stable enough to matter. Once two or more clients fully implement the proposal, it is merged into the main repository. This process ensures that while new ideas are encouraged, they are also rigorously reviewed and tested.

There are generally two paths for NIPs:
1. New Ideas, when developers just have a hunch on a new solution and want to quickly write something up to gather feedback from the community. These are my favorite NIPs because they generally introduce a new way of thinking about a problem we are all having. And because they are not just a general solution, but a specific proposal, it allows us to see the entire picture in just a few paragraphs. Even though they are my favorite, they are quite "green" and usually spur 2-3 separate solutions in following PRs by different authors.
2. Existing implementations that need to explain what they are doing. These happen when a client is already running the code in production and simply wants to explain to the rest of the community how to generate and interpret the events the client is creating. These NIPs start much more stable than the former and allow for fewer changes, but because there is already an implementation available, it's a market-tested solution that might just need a few adjustments before others start implementing it.

Well-written specs ensure clarity, reduce ambiguity, and help developers implement the proposal consistently. The text should be VERY short, precise, prescriptive, and actionable by other devs. Start by introducing the new kind or tag in the first sentence and jump straight into a mockup of how the event looks like. The mockup should be self-explanatory and provide clues to what the remaining of the document will talk about. Some folks like to add long/verbose introductions, conclusions, and discussions of the reasons why the NIP is needed or why certain features are there. But those are largely unnecessary and are more appropriate to be placed in the body of the Pull Request descriptor.

Start your NIP with the following template:

```
NIP-<pick a number>
======

<Title>
------------------

`draft` `optional`

Event kind <new kind> defines <whatever it does>. Tags <one or two of the most important ones> <describe what they do>. As an example:

```jsonc
{
  "kind": <your kind>,
  "tags": [
    <your tags>
  ],
  "content": "",
  //...
}
`` `

Relays MUST...

Clients MUST...

## <Details 1>

## <Details 2>

## <How to find them>

```

Your number for the NIP is irrelevant. Just pick a random number that is available so that you can fork the repo, create a file with that name, and start writing. This number will likely change once the NIP is merged.

The NIPs title must be self-explanatory and short. If it helps, try to imagine which name would be best to add to the list of NIPs on the readme.md file. Same for event type names. Picture something that is short, unique and that devs can just remove the space to have a class name.

The `draft` `optional` tags are there because unless you are working on NIP-01, everything is draft and everything is optional. If you want to write a mandatory NIP, you better make sure your text is so good that it can be added to `01.md` directly without overcomplicating the protocol.

Start by describing the new event type, what it does and its main tags. Show the mockup and then start introducing all the other tags and how clients and relays should behave when implementing it. Use the words MUST, SHOULD, MAY, SHOULD NOT, and MUST NOT to define the mandatory behaviors of those declaring compliance with the NIP.

Keep it simple. The specification should be designed to ensure that different clients, relays, and services can implement it without requiring substantial changes to their existing infrastructure. Ideally, devs should be able to implement the entire NIP from near scratch in just a few hours. Don't use jargon. Don't declare a vocabulary of words. Use simple words that anyone can understand and quickly code a demo of all the features in the NIP. They can learn about your reasons as they develop their implementation.

Write expecting buggy implementations. The protocol must be resilient to varying implementations and network conditions, and gracefully handle coding errors or random gibberish. You want to promote a defensive design that anticipates misguided implementations, avoids breaking changes, and maximizes compatibility across the ecosystem. What happens if there are two tags with the same name? What happens if events that have missing tags are found? Buggy implementations will exist. The writing and reading clients are generally different and must be ready for anything that shows up on each side.

Avoid abstractions, extensible and modular designs. Yes, they can be hidden underneath your text, but writing for them is a mistake and just overcomplicates things. Write for a specific use case and close all possible options to the items/features declared in the text. Make sure you are implementing those. There is no point in declaring things that are not going to be used in the short term. We can always add more in the future and we don't need a recipe on how to add more later.

Label your relay hosts, setting kinds, and other data management necessities. Every NIP has a way to find out the user's preferred relay associated with the use case. Sometimes it's through a relay hint others through a separate event kind that just lists the user's home relays or contains a list of "following" events designed for the use case. Each NIP can create their own way of finding events.

You cannot add new root fields. Use tags instead. Root fields are special and require changes to the core protocol everyone implements. Any new field will take years to come to reality.

Once you propose an idea, try not to change too much. It will take time for other devs to wrap their minds around it. If you keep changing it, even if those changes reflect the request of the reviewers in the PR, it just confuses everyone. Sometimes things change so much that it is worth doing two PRs with separate specifications that solve the same problem. That allows devs to analyze the two propositions side by side and decide which one is better.

Always add a test case or an example. This is an absolute requirement if the NIP is complex, like a new encryption scheme. But even for simpler NIPs, test cases help devs to quickly verify if their implementations meet the minimum standard for compliance. They not only add peace of mind, but they also provide some welcoming dopamine when a new dev is trying to implement your NIP.

Managing state is hard. Doing it with different implementations and hosting them in separate relays is even harder. If your NIP has multiple events to manage state, like group administration actions (add/remove member, change names/icons, invite/reporting events) try to structure them in a way that devs can quickly see the state machine of all possible state changes.

Specify data formats explicitly. Clearly define the format of all data fields, including type (e.g., string, integer), encoding (e.g., base64, hex), and structure (e.g., array, object). Specify constraints like length limits, valid characters, and optional/required fields. Tags are case-sensitive. Avoid having to specify new encodings, but if you do, make sure to include test cases that encompass all potential cases.

It's ok to not propose the most efficient way of solving the problem. A simple but slightly less efficient design is preferred over a complex but more efficient one. We already use hex and base64 codes to represent binary bytes in JSON, which wastes 25-50% of space. That level of waste is ok if the solution becomes simpler to code.

It's not about you. You may think you must convince everyone that your particular way of solving the problem is the best and get some ego points with yourself. While some of that is beneficial to the debate, be open-minded to the other possible solutions. Once merged, the NIP is not yours anymore. Anyone can change in any way they see fit. If your work is great, people will remember your name. If it just got the conversation started to become something completely different from what you proposed, they will also remember you.

There is no right or wrong, but there is an easier and a harder way of doing it. Keep it simple, bring your ideas to the table, and enjoy the debates.

This is a long form article, you can read it in https://habla.news/a/naddr1qvzqqqr4gupzq3svyhng9ld8sv44950j957j9vchdktj7cxumsep9mvvjthc2pjuqqxnzdej8qunywf4xymrqdfsygy7ty


yep... I wouldn't muted all the others.

Are all of the posts you are seeing quoting your muted post short?

I ask because it's not uncommon to see bigger posts with a muted post in the middle. I have seen users asking to see the bigger post, because they didn't block that author, and just hide the inner post.

Maybe we need a setting somewhere that muted override your follow preferences and mute everything else it touches.


Yeah, we are conflicted. You muted the quoted author, but you are following a person that wants to talk about it. So, we should the message from the follow but hide the inner message.


But AI will make it better 😅 https://image.nostr.build/7f7b09500ce5203238166dbb6f8b2d9b2d3cea0c8372155b67b939514698db9f.jpg


Who is in the dating scene? Is it really like this?  https://image.nostr.build/af30a1361e7e8de985eb8a11dc29efad86172807bf21fed0160c7359d0b6c311.jpg


Bigger market. It's always bigger market.


:thugamy:


I’m stoked to build healthcare applications on #nostr and #bitcoin with nostr:npub1hqaz3dlyuhfqhktqchawke39l92jj9nt30dsgh2zvd9z7dv3j3gqpkt56s and nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z!!

 Introducing nostr:npub1healthsx3swcgtknff7zwpg8aj2q7h49zecul5rz490f6z2zp59qnfvp8p, the key to your own health data 📊 ⚡ 🩺

Read on 👇 and we’d love to hear from you Nostriches 🤙🏽🤠 nostr:note1c8kxf7y69qhsms6qn9e0cwjzajxgy4qwp8668gmswr7j9xsrw3dqcux55f


AI + Amy = 💜 #amystr #memes #amythyst nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z nostr:npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424 nostr:npub1nxa4tywfz9nqp7z9zp7nr7d4nchhclsf58lcqt5y782rmf2hefjquaa6q8  https://v.nostr.build/v45u0RaP2zK4UxPp.mp4


31234

https://github.com/nostr-protocol/nips/pull/1124


Nuclear is back.

1. Google backs the construction of seven small nuclear-power reactors in the U.S (500 megawatts)
2. Microsoft struck a deal to restart a reactor at Pennsylvania’s Three Mile Island (835-megawatts)
3. Earlier this year, Amazon purchased a data center at another Pennsylvania nuclear plant (960 megawatts)


yeah, you won't be able to use Amethyst without approving all NIP-44 encrypt decrypt as of now... We use it multiple times a second.


Remember Google Reader?

Man.. good days.


Bring blogging back.


Find a better keyboard. That only happens on the default AOSP keyboard with by now it's a 10-year old codebase with little maintenance.


Yeah, I am trying to find a way to have multiple globals, for different relay sets.


It would indeed.


I'm seriously surprised how great nostr:nprofile1qqs24yz8xftq8kkdf7q5yzf4v7tn2ek78v0zp2y427mj3sa7f34ggjcpzamhxue69uhhv6t5daezumn0wd68yvfwvdhk6tcppemhxue69uhkummn9ekx7mp0qyg8wumn8ghj7mn0wd68ytnddakj703s8dt works with all Tor settings enabled, everything loads quick enough.


Like caching the last message from each user/group chat to easily build the user list in the DM tab without loading any actual messages.
nostr:nevent1qqsytppyu2my7qcz9pk5wm0yp372rchef6sacep39u37j00u42h8vpqpzemhxue69uhkummnw3ex2mrfw3jhxtn0wfnj7q3qgcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqxpqqqqqqzlg2m6x


I might end up using Trusted Assertions to cache computed values that Amethyst calculates on Citrine. And maybe other clients running in the phone can also process their stuff and serve attestations back to Amethyst via Citrine.
https://github.com/nostr-protocol/nips/pull/1534


The Jobs board will definatelly be a NIP. There are some clients already have something and I might just integrate with them.

The local stuff can have both. NIP-29 local relays can certify themselves if their posts are indeed local while just posts that tag a location can be more open to anyone posting on it.

My only need is to make sure if you post to a location it doesn't show up in your global timeline at the same time, like on: https://github.com/nostr-protocol/nips/pull/1233


there are 100s of clients that do that :)


nostr:nprofile1qqsdpg0lhpmph96va39rh6xtevhfdfcfph85vhl74jpe4fx2yry6t8spzpmhxue69uhk2tnwdaejumr0dshsz9mhwden5te0wfjkccte9ehx7um5wghxyctwvshszyrhwden5te0d4hhxarj9ec82c3029cgkl added Right to Vanish to nos.social and relay.nos.social. I hope more relay implementations follow suit.

Amethyst will have a purge account button soon, but Account Management mini clients are also welcome to code and help people migrate relays and delete their stuff from unwanted servers.

https://github.com/nostr-protocol/nips/pull/1256


Kinda similar to marketplace, but with people for hire instead of products.


Interesting... I need to do some testing, but maybe this is the beginning of a modified Nostr protocol for enterprises and trully private groups.

I do think there is a lot of need and money waiting for solutions in that realm.


If you use open relays on Nostr, all your data is available for anyone to surveil you.

This is why choosing the right relays for your content is important.


The idea is indeed to disallow re-sharing.

Picture a company relay. All the information should be strictly contained into that main relay.

However, for Nostr clients to work, they need to verify events by themselves. Which means they receive a full copy of the event and can re-broadcast that copy to another relay very easily.

That creates a problem.

We could just delete the signature field and ask Nostr clients to not verify and "trust" that the company or its relay is not modifying the message from its original author. But relying on trust defeats the purpose of using Nostr in the first place.

Since the company relay authenticates who is connecting to them, it could easily modify the event to make sure only that user can verify it.

My initial solution was simply to encrypt the signature field to the pubkey of the connecting user. Then the client would have to decrypt it before verifying. The issue is that once the user has decrypted, the user has access to the full signature in plain text and can add it back in the event and re-share it with another relay.

Which is not really a solution to the problem.

This led me to the question in this post. How do we make a modified event signature that only one user can verify. It could be still possible to allow other people to verify the new event, but that implies having to make the user's main private key public and hopefully there is enough sensitive information in that private key to serve as a deterrant from users doing so.


nostr.band becomes the first provider to offer their trust analysis as assertion events, enabling users to select their service and display additional info about each pubkey from a global network standpoint. I hope more service providers join.

This is particularly useful for summaries about users and events that are impossible for clients to compute locally, like the total amount of zaps sent and received by users, average daily zap amounts, most common topics a pubkey talks about, etc. https://github.com/nostr-protocol/nips/pull/1534


cause I am not a web developer :)


:thugamy:


Se não me engano, ambos são baseados no Hyperledger Besu


Pode ser o sistema da índia tbm, que eu sempre achei que é de onde o PIX vem


Yeah, I was surprised as well. It will never be the same speed as the open web but extreme speed is overrated. You can design things in ways that minimize the impact on users while significantly increasing privacy and decentralization.


It varies if the network is busy or not, but the average user doesn't notice a difference on an average day.

I have used it for everything for the past 4 weeks or so. Tor disconnects when the app goes to the background and reconnects when it comes back. Connecting takes about 200ms but from there it all loads with a couple frames of difference.


Yep. That was the purpose of adding it :)


Unless you have an embed Tor :)


But then if you use 10 clients, you get 10 duplicated databases. It's not an efficient way to use nostr, especially if we start using more micro clients.


On the relay side, I think that is a feature for Citrine itself, since Amethyst is not supposed to be a relay.


The public inbox relays should receive your notes if you are tagged on them. So all your replies, likes, zaps etc go to your inbox as well. New notes shouldn't. Because a reply cites a post, that goes also goes to your inbox/outbox to make sure your follows can find it when loading replies from you.


Yep, on Amethyst and any app that uses the jetpack compose. Basically the keyboard is too old for the new APIs.


Nip 29 could work, but we can also just do geotagged kinds 1s in the default relays. The key part is helping people to setup the feed and to help them post exclusively to locations like on https://github.com/nostr-protocol/nips/pull/1233


The deletion thing is a bug on your keyboard. There is nothing we can do to fix it.

We can fix the search thing.


Yeah. You can just connect to a local relay.

Or you can connect to a global relay and search for posts from a city/state/country, depending on how many posts you want. Obviously that filter can be from anywhere, it doesn't necessarily mean you are in those locations.


Also, unless you are using Tor for everything, you are already giving your location to relays.


No need to.


We will have more of them as soon as we ship it.


Yep. It's basically onboarding with the local community first in the hopes that less trash is available.


Imagine registering for a new account in your favorite Nostr client and instead of getting the boring global trending, you are presented with posts from your city/neighborhood.

That's where we are going.


I can see your feed. How is your General Relay list setup?

Are you using Tor? If so, something could be blocking it.


Which should we develop next on Amethyst?
- a Jobs board where you can offer your services and find people to hire, fiverr style.
- local feeds, where the app will present a feed based on locations and allow you to post only to people in your location.
- integration with nostrnests, with voice participation, like on Nostur/Twitter spaces.
- realtime voice and video calls that integrate with 0xchat.


Looking good! https://image.nostr.build/db738dacbfa82c75a7f5522f6e15acabffd5ec7b0370ba437770ff0d252de793.jpg


Well, you can log into nostrapp.link on a desktop and remove the recommendation


Have you used highlighter before? It might have added automatically


nostrapp.link


I am sure they are going to build whatever text wall they can. But this is a win regardless


It should but I doubt it will. Apple will put up a much bigger fight because the Apple Store is more fundamental to Apple's survival than the Play store is to Google.


Final ruling in Epic v. Google, ordering Google to effectively open up the Google Play app store to competition, is some awesome news.

Google will have to distribute rival third-party app stores within Google Play, and it must give rival third-party app stores access to the full catalog of Google Play apps, unless developers opt out individually.

It also forbids Google from requiring the use of Google Pay on apps shipped through their store, freeing devs to offer other payment APIs to go around the 30% fees from Google.

This is a separate judgement from the DOJ vs Google that is considering a breakup of Google, forcing it to sell Android, Chrome and some other units.


Yep, it would be super easy to make a push notification mini client that simply receives a push event and redirects to installed clients based on  NIP-89 and a simple URI intent.

Many push clients could use different stacks: Google/Apple/Samsung/UnifiedPush/Foreground service that keeps connection to the user's favorite relays etc.


:amy:


Checking some padding/marging/rendering issues with under screen camera placements in some phones today. Can you reply this post with a screenshot of your Amethyst home feed (make sure only public info is there) and the phone brand/model you are using?

Thanks!


Yep, that's why it's important to know your relays and work with them to manage your data correctly. Encryption can only go so far.


Yes, Amethyst already displays Vision Prescriptions :)


I have 15 years in multiple levels of health care. Believe me when I say that if the government wants your data they WILL have it. They have all the power over the rest of the players inside health care, both officially and unoficially. Picture what happened on the censorship level with Twitter and Facebook over the past decade and apply the same methods to ALL health care companies, constantely, over the past 30-40 years.

If you trully think government doesn't have the power, you are the one being naive about this.

But yes, obviously all juridictions are different and get your data in different ways. I know particularly well the US, canadian, european, indian, chinese and brazilian system. Other than that, all dictators out there have full access to your data. Indian, Chinese and brazilian systems do have your complete health record with the government. Europeans and Canadians also have large chuncks of their health information with the government. US is per state. Some states have a lot, some states have little info. But all states have SOME info. The Federal information usually comes from the insurance companies when you use them.

Anyway, if you trully think the status quo is good and you want to support the government surveillence that exists TODAY you can keep using it.

All we are doing is to create a balance of power, where patients can decide where to store their data, which clients they cant to use to access and manage that data, and which keys they want to encrypt that data with.


>  You had and still have this fucked up view that the State is all powerful and the people, individuals, don’t have any say in the matter.

What did I say that makes you think that?

I said in this post that it's all about what people let their governments do. I don't know how do you even go from there to your conclusion about me.

In the end, you can use Nostr and opt out of the health care system as it is today and keep your info with the government or not. It's up to you.


The health care system has been doing this for 20 years. We are breaking that up by allowing users to choose relays, clients and which keys they want they data encrypted to.


Why would opening the option to put your relay data on Nostr, on any relay you choose, reduce your options? I don't think you understand what we are building.

No one is requiring you to use Nostr, or any particular client or relay.

We are pushing the amount of options to the limit.


Yep, we want/need 1000s of these projects.


What you don't understand is that if people allow, government can always put you in jail for anything they want. During COVID, people allows governments to check if you have taken the vaccine or not. They dont need a signed QR for that. The CDC card was used more than any QR code was.

It's about how gov uses the tech, not the tech itself.


You are mixing things .. I am not talking about the key. It's about your posts. The things you sign.

Also Health data is encrypted.

Also, you can just put your health data into a Nym account. It's up to you.


Yes I know the difference. The state can force you to show your Nostr posts. They can do this literally with everything, including Bitcoin as well. In fact, most health checks were made with the regular CDC card, which is not signed. Adding things to Nostr doesn't change any of that.

Tech is tech. The state can always fuck any stack.

Also, the state already has access to your health data on today's system centralized systems. Adding Nostr, removes some of their existing knowledge of you because you can store it in your own relay, away from governments and b8g corporations.


Why are you in Nostr then. Every single post is a certificate.


Yep. That's basically Nostr but instead of relays, the information is privately stored in the QR.


You can send a vision prescription to yourself today: Desktop-only vision prescripton micro app demo: http://lazereyes.nosfabrica.com


Nopes.


STAY HUMBLE AND STACK YOUR HEALTH DATA ON NOSTR.


If Nostr had a token everybody would be here.

But for the wrong reason.

GM.


They should be able to do that without using anything more than basic crypto libraries.


It's Friday... You know the drill. We ship.
nostr:nevent1qqs959p8r87kg2v5hwz5wcs0ypr8arwgs96agjj7dn4y8zntkmgzt4cppemhxue69uhkummn9ekx7mp0qgs24yz8xftq8kkdf7q5yzf4v7tn2ek78v0zp2y427mj3sa7f34ggjcrqsqqqqqp7ha8d6


Yeah, my bad. This was part of the old template.


#Amethyst v0.92.2: More animations

This is the first release of our new contributor nostr:nprofile1qqsrv06lgp4ht6m0sxnj4gdy389k5a6j8chpfyllrcvdaanyrhpgy6spzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctcl7hrp7

Features:
- Adds animation to notification chart by nostr:nprofile1qqsrv06lgp4ht6m0sxnj4gdy389k5a6j8chpfyllrcvdaanyrhpgy6spzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctcl7hrp7
- Adds animation to FABs by nostr:nprofile1qqsrv06lgp4ht6m0sxnj4gdy389k5a6j8chpfyllrcvdaanyrhpgy6spzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctcl7hrp7
- Adds animation to zap and reaction popups by nostr:nprofile1qqsrv06lgp4ht6m0sxnj4gdy389k5a6j8chpfyllrcvdaanyrhpgy6spzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctcl7hrp7
- Adds new fields on vision prescriptions
- Prioritize search results that start with the search term by nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsshgmkj

Bug Fixes:
- Fixes the ability to see muted lists in Shorts
- Use "use" blocks to close resources automatically by nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsshgmkj
- Fixes the shorts feed not aligning with the padding of the screen
- Fixes the Zap Setup re-openning when going back after the setup was completed from Alby
- Prevent clicks outside reaction and zap popups by nostr:nprofile1qqsrv06lgp4ht6m0sxnj4gdy389k5a6j8chpfyllrcvdaanyrhpgy6spzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctcl7hrp7
- Video Rotation: actually rotate if the device orientation is not locked by nostr:nprofile1qqswc4nrhvp4lrjct0ayy0ps8f2hvj8e2guucp63dwcx6m6e8pka9fqppemhxue69uhkummn9ekx7mp0qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcghxpeh

Performance
- Faster logout processing without closing the account switcher dialog.

Code Quality Improvements:
- Support for login with hex key when using amber
- Updates the API with amber from signature to result
- Adds some test cases for video compressions
- Adds Unknown media type test
- Updates AGP and compose, fragment, navigation, benchmarking and firebase libraries.

Updated translations:
- Czech, German, Swedish and Portuguese by nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsshgmkj
- Dutch by nostr:nprofile1qqs82l74z7g3x8j3avpn2wrjrwn855nyvmpxa4v5pftfvtv5lrvrc5cpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhscpdyrq
- French by nostr:nprofile1qqs8av5uzf4nv2q80chrmp3mj9a9dd6zjw4fmz56hsn2gzar72rxhtcpzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qg3waen5te0w4kkyun9dsargwp58qhsnxcg72
- Polish by nostr:nprofile1qqsdyfz0ewdhmgp3a4r3pxvezx5r8yalrgvjn38v2ml5qrusnv7yywgprdmhxue69uhhwetn9uhkummnw3ezuenfd3khwetz9ecxclhx62d
- Chinese by nostr:nprofile1qqsyxnuhnymz0u0xru2watmqe25vlh8vzzje9jhlsfgvsff9942gc9gpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpr9mhxue69uhhyetvv9ujumt0d4hhxarj9ecxjmnt9uq3kamnwvaz7tmjv4kxz7fwwajhxar9wfhxyarr9e3k7mf0ey7g93
- Slovenian by nostr:nprofile1qqsqqqqqqp0fmkspg7w8d305ln96a0jw0ptwqtuwskkm5pddv2kkjfcpg4mhxue69uhhx6m60fhrvcmfd4nxga34v5e8q6r2vv68ju34wcmkj6mz0p6xudtxxajxkamwx43nwa35xa6xgat6d33x7um3d4ckgtn0de5k7m30qydhwumn8ghj7un9d3shjtn0wfskuem9wp5kcmpwv3jhvtcprfmhxue69uhkummnw3ezuurvv43xx6rpd9hzummjvuhsld22qm
- Thai by nostr:nprofile1qqsxdhmq2cke8xk6scfyxeyfj3dyancavg6xk0v50r023gec7vsrceqpp4mhxue69uhkummn9ekx7mqpzpmhxue69uhkummnw3ezuamfdejsz9rhwden5te0wfjkccte9ejxzmt4wvhxjmc25yu8l
- Bengali by nostr:nprofile1qqsgs9hgjw87vz36jf2r83m5zree2q87zvs8s7kty9jljdz7wprytyspzpmhxue69uhkummnw3ezumt0d5hstgqjd9
- Hindi by nostr:nprofile1qqs88dt78wgnzvaph6fcstfvsd98xc2qs8eg8tllwv2zlutu8ehec2cppemhxue69uhkummn9ekx7mp0qyg8wumn8ghj7mn0wd68ytnddakj7qgkwaehxw309aex2mrp0yhx6mmnw3ezuur4vghscrwkdn
- Spanish by nostr:nprofile1qqs07tjpyvvlq9ugdpax8h3jfrpwn7kr72k3tc7ky83tggn4et9eangprpmhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuef0qyghwumn8ghj7mn0wd68ytnhd9hx2tcpzamhxue69uhhyetvv9ujuen0w4h8gctfdchxvmgacqrg2
- Hungarian by nostr:nprofile1qqs88rmfrp9wmfn4qq4kslly0j8futmmrgn86mu3gkc3jvcjl97p3mcpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpz4mhxue69uhkummnw3ezummcw3ezuer9wchsz8nhwden5te0dehhxarj94c82c3wwajkcmr0wfjx2u3wdejhgtcqngjsj

Download at http://amethyst.social


There is a NIP proposal for IoT devices somewhere...


So, I am not finding any reference to Google analytics on the WP's scripts. Can you point me to where you found the Google link?


Yep... And this is one of the reasons people tend to use a large number of relays. The reply times are quite "random" from the set of relays they have. Adding more relays just makes things work out of luck.


We are counting on it. When they noticed it is going to be too late.


I know..


Btw, your profile picture doesn't load over Tor. Why are you tracking everyone's IP?


We will remove it. The website is just using a default install of WordPress... So relax...


Hahahah.. look! They are breaking down the silos of a 3T  dollar industry! Oh no Google analytics on the company's website... Everything is wrong.


Everything will be saved in the patient's relay.


I will be presenting NosFabrica for the very first time tomorrow (October 12th) at nostr:npub10hj9rg5gds5x2gk0z0s2jlqnq04jg7g30aj2t5pqzdaaztfactgsnze5ny

Come on down if you want to hear about it and several other great talks and panels that nostr:npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424 and nostr:npub15u3cqhx6vuj3rywg0ph5mfv009lxja6cyvqn2jagaydukq6zmjwqex05rq have put together nostr:note1e88y5clqwfqlp6723mhu423h3wmseh9thwu2c2mvz6jhsc4dvf5sdk96e3


Encryption + private relays.


It's a micro website 😅


Health Care 🤝 Nostr.

Micro apps all the way.

Who else is joining this movement?
https://nosfabrica.com/


Hum... Gotta fix that


You want microapps? You are going to have micro apps!
nostr:nevent1qqstefmq6hrlyq0u2xgrgpxct73ryg7u77kl52cch60unxy4ufhg8dcpzemhxue69uhkummnw3ex2mrfw3jhxtn0wfnj7q3q8pudjhdhhp2v8gxnkttt00um729nv93tuepjda2jrwn3eua5tf5sxpqqqqqqzpjtmpd


It will come in time


Imagine creating a bank account with just your npub...

Oh wait!..


Must Watch For Doctors and Developers, How #Nostr Saves Healthcare With nostr:nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq3wamnwvaz7tmkd96x7u3wdehhxarjxyhxxmmd9uq3zamnwvaz7tmwdaehgu3wwa5kuef0qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcpr9mhxue69uhkc6t8dp6xu6twvaex2mrp0yhxxmmd9uqzq3svyhng9ld8sv44950j957j9vchdktj7cxumsep9mvvjthc2pjukw0a9a
https://cdn.satellite.earth/946febab18c8ba2ca226ceb3a16763ba2422e261eb1363e78ad7a7343a33c8eb.mp4
In today's video, we dive into the pressing challenges facing the
healthcare system and explore how doctors, patients, and health
institutions can harness the power of Nostr to drive meaningful
improvements. Think of Nostr as the wild west of innovation—an exciting frontier where the potential to create something transformative and profitable that benefits everyone is ripe for the taking.

We also delve into the fascinating world of the carnivore diet and
lifestyle in southern Brazil, discuss how Bitcoin is revolutionizing
payment processes for healthcare providers, and cover a host of other intriguing topics.

Remember to check out my content on Fountain and Flare!
https://flare.pub/channel/npub1dd8vnrczuer7q9zqk3emhkf207hzrcqmd2nvvh3jmw22xcyjyuhqdfuvr6

https://fountain.fm/show/X0FYoyalr3N4i1Pmq9YK


I just added a "Common Topics" idea that will just bring up the common topics each of us write about and allow clients to display in each user's profile.

This could become a really cool NIP, with lots of real value-adds by decentralized services out there.
nostr:nevent1qqswhw3c4l60tcpvv99ul576akq9m3zwhhest00slutuqk8d8vea7uspzemhxue69uhkummnw3ex2mrfw3jhxtn0wfnj7q3qgcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqxpqqqqqqzdrmup7


In the early days, yes. As it grows we can break it off.

Right now we just need to start the work of specifying stuff.


Nice! Yeah, it feels like BTC Map can attest for who currenctly controls each place in this PR. We just need to create a new kind with the d-tag equals to the identifier of the place. That event would then have a "result" field with the pubkey of the current owner.

Or maybe the opposite, the event's d-tag is the user and BTC Map lists the locations that user owns.


You can def do Place scores and things like that. I don't know what other assertions it would need to be signalled, but it could be added.


That's correct. But none of those settings are saved on NIP-78. They have been generalized to be used by any client.


True, bandwidth will always be high on Nostr. But Negentropy can help. Clients most likely will have to have a local relay to sync to and work with directly. And some of the Client-side processing will never be possible to solve, like like a true WoT with graph analysis.


I don't think this is optional for non-personal relays. They will have to grow up to use thousands of servers if they want to serve users globally.

The Client won't even know if it is an enterprise stack or not. It will just use the same interface we have today.


Hum.. it has nothing to do with NIP-78 because it is not client-based.

Its more like relay lists: you just select a few for the app to use.

Trust is needed because they are doing the calculation for you and there is no way to check if the calculation was done correctly.


I will need your services in a consulting gig soon. But let me get some cash first.


Makes sense


I think the main points that nostr:nprofile1qqsdulkdrc5hdf4dktl6taxmsxnasykghdnf32sqmnc7w6km2hhav3gppemhxue69uhkummn9ekx7mp0qywhwumn8ghj7mn0wd68ytfsxyhxymmvwshx7cnnv4e8vetj9uq3uamnwvaz7tmwdaehgu3dwp6kytnhv4kxcmmjv3jhytnwv46z7qmml2f somewhat missed is that there is no SQL for Nostr relays and there is, currently, no easy replication scheme to support load balancing, especially for geo-distributed semi-mirrored servers.

Relays ARE databases in the sense they store stuff, but if you need advanced querying capability OR if your events are too big (binary or text) or has too many tags (too many indexes), the relay operator might not be able to support it and might either reject it or become super slow.

The lack of a query language is a limit we are forcing on ourselves. The rest is pretty much solvable with the usual enterprise stack without changing the protocol.


I agree. We don't need to put everything on 30382.

What we do need is to specify what the "service" is calculating so that the user can chose which provider of that calculation they trust and clients can know what the value means.

There will be some differences between providers, but the goal and the final result spec (type, range, tags, etc) should be just one.

Hopefully this NIP enables that multiple provider specification to come together.


You clearly never experienced a BlockClock flying at your face.


What a weird list of some inflammatory, some incorrect and some confusing takes to build an argument against devs using Nostr as a database.


That's a DVM service on Amethyst's 4th tab.

This one will be automated and global, instead of personalized for you.


It's New-NIP Friday!

Certain calculations in Nostr require access to the entire dataset of events and are impossible to do directly by Clients. This NIP offers a simple way for users to declare their trust in  service providers for those calculations.

https://github.com/nostr-protocol/nips/pull/1534


It's nice! There is so much going on in this repo. :)


I am currently trying to replicate this somehow...


0xChat users on iOS and Android, don't forget to set your DM relays on "Me" / Settings / Relays / DM Relays.

You can easily just add their relay into it: wss://relay.0xchat.com

The important part is to signal to the network that you are ready to receive private DMs.


Correct. You have to keep the ratcheting state outside of Nostr, which means that either only one client had access to your DM and/or different clients see different DMs, or that you have a way to import and export the ratcheting state from app to app manually, off from nostr.

The later becomes a better point of attack. You don't need to break the decryption if you can just get the state by attacking the import/export function directly.


?? That doesn't mean you can buy without a prescription...

It's the same as before.. docs write, patients get it.

If you write and you are not a doc, straight to jail as usual.


Things Google thinks I am interested about...

Yes, I clicked it. Cool research. 😁
https://scitechdaily.com/geologists-crack-134-million-year-old-mystery-of-amethyst-geode-formation/


Relay probing is becoming a reality (I know nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgnwaehxw309ac82unsd3jhqct89ejhxtcpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcppemhxue69uhkummn9ekx7mp0qyf8wumn8ghj7mn0wd68yat99e3k7mf0qqswwud0pvzu362lehm0av6sq4zd97cue5uy0z8f7jgtk0hz368dvmceue66m    nostr.watch has probably been doing this for decades now)

https://video.nostr.build/b462b6568e3cb10410cd5c25a41f61407895d09ad806f354657140c15ddab36d.mp4


Is there a way I can tweak an EXISTING secp256k1 signature with a user's pubkey so that only that user's private key can verify the event without allowing that user to find out the event's real signature?

Meaning, can I give an event to a user without allowing that user to reshare a verifiable version of the event without also exposing their main private key?


Nostr quiz: Which popular Nostr figure is absolutely obsessed with Jesus as a space traveler so much so that he repeated it 7 times in a single podcast episode?


No. You can download those things from the relay.


Coracle is trying, but nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3kamnwvaz7tmgdajxccn0vshxxmmjv93kcefww3hk7mrn3mpe85's mustache gets in the way.


Maybe I can search for bundles my follows are using?

Or just allow people to create their own bundles from apps they have installed + a few more they can dynamically add.


:thugamy:


It can store more relays but devs generally add just one to keep it small.


Hey nostr:nprofile1qqs8y6s7ycwvv36xwn5zsh3e2xemkyumaxnh85dv7jwus6xmscdpcygpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz8thwden5te0dehhxarj9ekh2arfdeuhwctvd3jhgtnrdakj7qghwaehxw309aex2mrp0yhxummnw3ezucnpdejz7qxvpy4, when are we going to get app bundles on zap.store?

I want a bundle with every single functional Nostr app for Android. I want to install all of them with a single click.

And, ideally, they are already logged in with my nsec somehow (Amber?).


#Nostr101

"npub" is your public key. It never changes.

"nprofile" has both your public key and your current home relay. It changes as your outbox relay list changes.

When you are sharing your user, prefer to share it as an nprofile since the receiving user / app can quickly figure out where to get more information from the user.

If the receiving app only has the npub, it has to search for a relay that has the user. If the receiver is using the same relays as the sender, that's easy. But if the receiver is on a separate relay set, then it's likely the receiver will never load the user.

Outbox model fixes this but it requires you to share the nprofile, not just the npub.


My feedback is to work on app managers. Get zap.store to recommend micro apps given the apps you have installed or make a collection of apps that need to be installed to execute a use case.

For instance, today, it's virtually impossible for new users to get the idea of installing Amber and Citrine before installing Amethyst. And it's just 3 apps.

If we trully go forward with micro apps for everything, users will have to install 10s to 100s of apps at a time.


Almost everyone. Our operating systems make installing and managing 100s of micro apps virtually umberable.

We can break Amethyst today into 9 fully featured clients (Feeds, DMs, Shorts, Public Chats, Marketplaces, Communities, Live Streams/Spaces, Blogs, Events/Calendars), ~40 mini apps or about ~190 micro apps.

Even with today's breakoff, it's already very hard to get new users to install Amber and then Citrine before even opening Amethyst.

And it's just 3 apps that already work really well together.


So, you are making a super app of micro apps?


Lucid dreams again?


Few people know this, but NIP-17 DMs are all yours to control. It doesn't matter if you sent them or if you received them.

Your DM relay can delete them at any time YOU want them to without affecting the other party.

You can download all your messages, both sent by you to your friends and sent by your friends to you, delete everything and even re-wrap and republish them all back to you. The sender cannot stop you. And you don't need the keys of the sender to do any of this.

If you want disappearing messages but your peer wants to keep them, you both can be served. Because once a DM event is received, it is completely detached from the sender or any other external state that must stay in sync with yours.

All the power to you.


nostr:nprofile1qqsvdac80utfn4gvly4fv54la0l6cp0udpptnm3ezzyajkdc44w53lgpzdmhxue69uhhwmm59e6hg7r09ehkuef0qyvhwumn8ghj7un9d3shjtnwdaehw6r9wfjjucm0d5hszymhwden5te0wp6hyurvv4cxzeewv4ej7egk2j9 which of your apps do you want me to add to the list? You have so many :)


added


In the early days of Nostr, developers often competed to see who could implement the most NIPs. Although all were optional (except NIP-01), it became a point of pride and vital for the ecosystem's growth. Back then, there were only a few dozen relatively simple NIPs to implement. Fast forward to today, with nearly 100 NIPs, maintaining and implementing everything has become nearly impossible. Yet, the drive among developers to "code all things Nostr" remains as strong as ever.

nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9 raised the point that everyone, even I, agrees:

nostr:nevent1qqsqqqp2zrs7836tyjlsfe7aj9c4d97zrxxqyayagkdwlcur96t4laspzemhxue69uhhyetvv9ujumt0wd68ytnsw43z7q3q80cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsxpqqqqqqzgcrrrp

But how big is too big? How can we better understand the range of options available for devs out there?

I went out for a hunt in my own brain to figure out how to clarify the situation. I came up with the following 4 categories for Nostr Clients:
- **Super Clients**: These apps merge vastly different domains into a single application, offering basic support for reading, writing, configuration, and data management for each use case within each domains. An example would be an app that combines a Marketplace and Live Streams under one roof.

- **Clients**: These apps provide comprehensive support for a single domain, handling all its use cases in a single home. They manage the complete set of reading, writing, configuration, and long-term data management within that domain. An example is a marketplace app that helps users manage product catalogs, process orders, collect payments, and handle fulfillment and reports.

- **Mini Clients**: These apps focus on read and write functionality for a single use case, including configuration management and any actions related to that specific task. For example, a fulfillment app that helps users view orders placed from another client to then pack and ship them.

- **Micro Clients**: These apps have a single interface and perform one specific action. Viewing and creating a record is handled by separate micro apps. An example is an app that simply scans an order's QR code and marks it as shipped.

Based on my made-up categories described at the end, this is how I would split our most known apps.

**Super Clients**
- [amethyst](https://amethyst.social)
- [nostrudel](https://nostrudel.ninja)
- [coracle](https://coracle.social)

**Clients**
- [damus](https://damus.io) - twitter
- [primal](https://primal.net) - twitter
- [snort](https://snort.social) - twitter
- [gossip](https://github.com/mikedilger/gossip) - twitter
- [lume](https://lume.nu) - twitter
- [ditto](https://soapbox.pub/ditto/) - twitter
- [rabbit](https://rabbit.syusui.net) - twitter
- [freefrom](https://freefrom.space) - twitter
- [nos](https://nos.social) - twitter
- [flycat](https://flycat.club) - twitter
- [straylight](https://straylight.cafe) - twitter
- [nostter](https://nostter.app) - twitter
- [iris](https://iris.to) - twitter
- [nostur](https://nostur.com) - twitter
- [nostrmo](https://apps.apple.com/us/app/nostrmo/id6447441761) - twitter
- [yana](https://yana.do) - twitter
- [openvibe](https://openvibe.social) - twitter
- [freerse](https://freerse.com) - twitter
- [0xchat](https://0xchat.com) - chats
- [cornychat](https://cornychat.com) - chats
- [coop](https://github.com/lumehq/coop) - chats
- [nostrchat](https://nostrchat.io) - chats
- [blowater](https://blowater.deno.dev) - chats
- [habla](https://habla.news) - blogs
- [yakihonne](https://yakihonne.com) - blogs
- [highlighter](https://highlighter.com) - blogs
- [blogstack](https://blogstack.io) - blogs
- [stemstr](https://stemstr.app) - music
- [wavlake](https://wavlake.com) - music
- [fountain](https://fountain.fm) - podcasts
- [zap.stream](https://zap.stream) - live streaming
- [shopstr](https://shopstr.store) - marketplace
- [plebeian.market](https://plebeian.market) - marketplace
- [flotilla](https://flotilla.coracle.social) - communities
- [satellite](https://satellite.earth) - communities
- [zapddit](https://zapddit.com) - communities
- [nostr.kiwi](https://nostr.kiwi) - communities
- [hivetalk](https://hivetalk.org) - video calls
- [flare](https://flare.pub) - long-form videos
- [nostrnests](https://nostrnests.com) - audio spaces
- [wherostr](https://wherostr.social) - location
- [yondar](https://go.yondar.me) - location
- [stacker.news](https://stacker.news) - news
- [flockstr](https://flockstr.com) - events
- [nostrocket](https://nostrocket.org) - issue tracker
- [docstr](https://docstr.app) - docs
- [satshoot](https://satshoot.com) - freelance
- [wikifreedia](https://wikifreedia.xyz) - wiki
- [formstr](https://formstr.app) - forms
- [chesstr](https://chesstr.pages.dev) - chess
- [memestr](https://memestr.app) - meme feed
- [npub.cash](https://npub.cash) - wallet
- [npub.pro](https://npub.pro) - websites
- [gitworkshop](https://gitworkshop.dev) - dev tools
- [onosendai](https://onosendai.tech) - metaverse
- [degmods](https://degmods.com) - games
- [turdsoup](https://turdsoup.com) - prompts

**Mini Clients**
- [amber](https://github.com/greenart7c3/Amber) - signer
- [alby](https://getalby.com) - signer
- [nos2x](https://github.com/fiatjaf/nos2x) - signer
- [nsec.app](https://nsec.app) - signer
- [keys.band](https://keys.band) - signer
- [nostrame](https://github.com/Anderson-Juhasc/nostrame) - signer
- [nokakoi](https://nokakoi.com) - anon
- [zap.cooking](https://zap.cooking) - recipes
- [anonostr](https://anonostr.com) - anon
- [getwired](https://getwired.app) - anon
- [lowent](https://lowent.xyz) - anon
- [creatr](https://creatr.nostr.wine) - exclusive content
- [lightning.video](https://lightning.video) - exclusive content
- [zaplinks](https://zaplinks.lol/slides) - slides
- [listr](https://listr.lol) - lists
- [zap.store](https://zap.store) - app store
- [badges.page](https://badges.page) - badges
- [oddbean](https://oddbean.com) - news
- [dtan](https://dtan.xyz) - torrents
- [nosta](https://nosta.me) - user pages
- [pinstr](https://pinstr.app) - pinterest
- [pollerama](https://pollerama.fun) - polls
- [swarmstr](https://swarmstr.com) - trending
- [nostrapp](https://nostrapp.link) - apps manager
- [noogle](https://noogle.lol) - search
- [ostrich.work](https://ostrich.work) - job postings
- [emojito](https://emojito.meme) - emoji manager
- [nostree](https://nostree.me) - links
- [citrine](https://github.com/greenart7c3/citrine) - local relay
- [joinstr](https://joinstr.xyz) - coinjoins
- [heya](https://heya.fund) - crowdfunding
- [zapplepay](https://zapplepay.com) - zaps
- [nosbin](https://nosbin.com) - clipboard
- [shipyard](https://shipyard.pub) - scheduler
- [tunestr](https://tunestr.io) - live streams
- [filestr](https://filestr.vercel.app) - files
- [nostrcheck.me](https://nostrcheck.me/) - media hosting
- [sheetstr](https://sheetstr.amethyst.social) - spreadsheets
- [crafters](https://crafters.amethyst.social) - curriculum vitae

**Micro Clients**
- [w3](https://w3.do) - url shortener
- [nosdrive](https://nosdrive.app) - backups
- [zaplife](https://zaplife.lol) - zaps dashboard
- [zapper.fun](https://zapper.fun) - payments
- [nostrends](https://nostrends.vercel.app) - trends
- [zephyr](https://zephyr.coracle.social) - trends
- [wavman](https://wavman.app) - music player
- [nostrrr](https://nostrrr.com) - relay info
- [nosdump](https://github.com/jiftechnify/nosdump) - relay info
- [notestack](https://notestack.com) - blogs
- [nostr.build](https://nostr.build) - media hosting
- [nostr.watch](https://nostr.watch) - relay info
- [nostr hours](https://snowcait.github.io/nostr-hours/) - use reports
- [lazereyes](https://lazereyes.nosfabrica.com) - vision prescriptions
- [snakestr](https://satoshipuzzles.github.io/Snakestr) - games
- [deletestr](https://zaplinks.lol/deletestr) - deletion requests
- [2048str](https://zaplinks.lol/2048str) - games
- [nostrqr](https://zaplinks.lol/nostrqr) - qr generator
- [notanostrclient](https://zaplinks.lol/notanostrclient) - anon

Super apps will try to do everything, but can't really do most things super well. Regular-sized Clients will try to manage most of a given domain but are likely to centralize users on themselves, an unwanted effect inside of Nostr. If we want Nostr to grow in a decentralized fashion, we have to start betting on and using more **Mini** and **Micro** clients.

Nostr is not in its infancy anymore. There's too much going on. Coding everything is not only not viable but it should become an anti-pattern. We should focus in Mini and Micro apps moving forward.

This is a long form article, you can read it in https://habla.news/a/naddr1qvzqqqr4gupzq3svyhng9ld8sv44950j957j9vchdktj7cxumsep9mvvjthc2pjuqqxnzdej8q6rswphxuunvdfnyvwa0w


Added to the blog post


Little demo of a NIP-82 prescription sender: http://lazereyes.nosfabrica.com/ :)


Learning: Doing is faster than watching


Just add an expiration tag to your gift wraps and/or use a DM relay that only you can download them and that it allows you to delete these events in whatever schedule you want.

It's much easier for users than dealing with secondary keys for DMs that can't be saved on Nostr because if you do, you lose all the forward secrecy gains.


THE SEPARATION OF MONEY & STATE
David Zell and I discuss the political landscape surrounding #Bitcoin & its role as an insurance policy for individuals & nation-states

Listen on Fountain: https://fountain.fm/episode/HMa1Y5nBT9FGeuLhpBEY
Watch on Rumble: https://rumble.com/v5i5go9-mob012-david-zell.html


Full working demo, but yes. :)

Just log in with the extension, insert the patient's nprofile1, insert the numbers and hit send.


Feel free to build one :)


Looks like amethyst is not connecting. There might be some Tor misconfiguration somewhere.


Just go for MLS. 1 on 1 chats are good enough today with regular gift wraps. The key unsolved problem is efficient private group chatting.


We have been building exactly that for the past year or so. Current thinking is here https://github.com/nostr-protocol/nips/pull/357


You need to account for inflation


😎 https://image.nostr.build/f6be11267710cf48b4743fbe43dc77bcbb09d5e01bc23c5565696027d1a27130.jpg


But blogging on a phone sucks... :)


Annotations suck. It's very academic. Nobody likes them.


Habla.news


Yeah, because everybody else thinks edits "destroy Nostr". They are just new events like anything else.


No, this one:  https://github.com/vitorpamplona/nips/blob/content-editable-kind1-unboundlist/37.md


We are live! nostr:naddr1qqjrzety8qenzvfn94jkvcnx956xvenp95ux2e3395urzcehvg6rxenrvcmkvq3qeaz6dwsnvwkha5sn5puwwyxjgy26uusundrm684lg3vw4ma5c2jsxpqqqpmxw8etczk


Yep


Correct. And they are not replaceable (relays don't delete previous versions). They are all available to be rendered in sequence if the Client wants to show the history of edits.


Kotlin became necessary because of Kotlin Multiplatform. Java codebases can't be used when Kotlin compiles to native.


Based on my made-up categories, this is how I would split our most known apps. Also... Microapps are clearly not getting the marketing they deserve

Super Clients
- amethyst.social
- nostrudel.ninja
- coracle.social

Clients
- damus.io - twitter
- primal.net - twitter
- snort.social - twitter
- gossip - twitter
- lume.nu - twitter
- rabbit.syusui.net - twitter
- freefrom.space - twitter
- nos.social - twitter
- flycat.club - twitter
- straylight.cafe - twitter
- nostter.app - twitter
- iris.to - twitter
- nostur.com - twitter
- Nostrmo - twitter
- yana.do - twitter
- openvibe.social - twitter
- freerse.com - twitter
- 0xchat.com - chats
- cornychat.com - chats
- Coop - chats
- nostrchat.io - chats
- blowater.deno.dev - chats
- habla.news - blogs
- yakihonne.com - blogs
- highlighter.com - blogs
- blogstack.io - blogs
- stemstr.app - music
- wavlake.com - music
- fountain.fm - podcasts
- zap.stream - live streaming
- shopstr.store - marketplace
- plebeian.market - marketplace
- flotilla.coracle.social - communities
- satellite.earth - communities
- zapddit.com - communities
- nostr.kiwi - communities
- hivetalk.org - video calls
- flare.pub - long-form videos
- nostrnests.com - audio spaces
- wherostr.social - location
- go.yondar.me - location
- stacker.news - news
- flockstr.com - events
- nostrocket.org - issue tracker
- docstr.app - docs
- satshoot.com - freelance
- wikifreedia.xyz - wiki
- formstr.app - forms
- chesstr.pages.dev - chess
- memestr.app - meme feed
- npub.cash - wallet
- npub.pro - websites
- gitworkshop.dev - dev tools
- onosendai.tech - metaverse
- degmods.com - games
- turdsoup.com - prompts

Mini Clients
- amber - signer
- alby extension - signer
- nos2x - signer
- nsec.app - signer
- keys.band - signer
- nokakoi.com - anon
- anonostr.com - anon
- getwired.app - anon
- lowent.xyz - anon
- creatr.nostr.wine - exclusive content
- lightning.video - exclusive content
- zaplinks.lol/slides - slides
- listr.lol - lists
- zap.store - app store
- badges.page - badges
- oddbean.com - news
- dtan.xyz - torrents
- nosta.me - user pages
- pinstr.app - pinterest
- pollerama.fun - polls
- swarmstr.com - trending
- nostrapp.link - apps manager
- noogle.lol - search
- ostrich.work - job postings
- emojito.meme - emoji manager
- nostree.me - links
- citrine - local relay
- joinstr.xyz - coinjoins
- heya.fund - crowdfunding
- zapplepay.com - zaps
- nosbin.com - clipboard
- shipyard.pub - scheduler
- tunestr.io - live streams
- filestr.vercel.app - files
- sheetstr.amethyst.social - spreadsheets
- crafters.amethyst.social - curriculum vitaes

Micro Clients
- w3.do - url shortener
- nosdrive.app - backups
- zaplife.lol - zaps dashboard
- zapper.fun - payments
- nostrends.vercel.app - trends
- zephyr.coracle.social - trends
- wavman.app - music player
- nostrrr.com - relay info
- nosdump - relay info
- notestack.com - blogs
- nostr.watch - relay info
- snowcait.github.io/nostr-hours/ - usage
- lazereyes.nosfabrica.com - eye prescriptions
- satoshipuzzles.github.io/Snakestr - games
- zaplinks.lol/deletestr - deletion requests
- zaplinks.lol/2048str - games
- zaplinks.lol/nostrqr - qr generator
- zaplinks.lol/notanostrclient - anon


Based on my made-up categories, this is how I would split our most known apps. Also... Microapps are clearly not getting the marketing they deserve

Super Clients
- amethyst.social
- nostrudel.ninja
- coracle.social

Clients
- damus.io - twitter
- primal.net - twitter
- snort.social - twitter
- gossip - twitter
- lume.nu - twitter
- rabbit.syusui.net - twitter
- freefrom.space - twitter
- nos.social - twitter
- flycat.club - twitter
- straylight.cafe - twitter
- nostter.app - twitter
- iris.to - twitter
- nostur.com - twitter
- Nostrmo - twitter
- yana - twitter
- openvibe.social - twitter
- freerse.com - twitter
- 0xchat.com - chats
- cornychat.com - chats
- Coop - chats
- nostrchat.io - chats
- blowater.deno.dev - chats
- habla.news - blogs
- yakihonne.com - blogs
- highlighter.com - blogs
- blogstack.io - blogs
- stemstr.app - music
- wavlake.com - music
- fountain.fm - podcasts
- zap.stream - live streaming
- shopstr.store - marketplace
- plebeian.market - marketplace
- flotilla.coracle.social - communities
- satellite.earth - communities
- zapddit.com - communities
- nostr.kiwi - communities
- hivetalk.org - video calls
- flare.pub - long-form videos
- nostrnests.com - audio spaces
- wherostr.social - location
- go.yondar.me - location
- stacker.news - news
- flockstr.com - events
- nostrocket.org - issue tracker
- docstr.app - docs
- satshoot.com - freelance
- wikifreedia.xyz - wiki
- formstr.app - forms
- chesstr.pages.dev - chess
- memestr.app - meme feed
- npub.cash - wallet
- npub.pro - websites
- gitworkshop.dev - dev tools
- onosendai.tech - metaverse
- degmods.com - games
- turdsoup.com - prompts

Mini Clients
- amber - signer
- alby extension - signer
- nos2x - signer
- nsec.app - signer
- keys.band - signer
- nokakoi.com - anon
- anonostr.com - anon
- getwired.app - anon
- lowent.xyz - anon
- creatr.nostr.wine - exclusive content
- lightning.video - exclusive content
- zaplinks.lol/slides - slides
- listr.lol - lists
- zap.store - app store
- badges.page - badges
- oddbean.com - news
- dtan.xyz - torrents
- nosta.me - user pages
- pinstr.app - pinterest
- pollerama.fun - polls
- swarmstr.com - trending
- nostrapp.link - apps manager
- noogle.lol - search
- ostrich.work - job postings
- emojito.meme - emoji manager
- nostree.me - links
- citrine - local relay
- joinstr.xyz - coinjoins
- heya.fund - crowdfunding
- zapplepay.com - zaps
- nosbin.com - clipboard
- shipyard.pub - scheduler
- tunestr.io - live streams
- filestr.vercel.app - files
- sheetstr.amethyst.social - spreadsheets
- crafters.amethyst.social - curriculum vitaes

Micro Clients
- w3.do - url shortener
- nosdrive.app - backups
- zaplife.lol - zaps dashboard
- zapper.fun - payments
- nostrends.vercel.app - trends
- zephyr.coracle.social - trends
- wavman.app - music player
- nostrrr.com - relay info
- nosdump - relay info
- notestack.com - blogs
- nostr.watch - relay info
- snowcait.github.io/nostr-hours/ - use reports
- lazereyes.nosfabrica.com - vision prescriptions
- satoshipuzzles.github.io/Snakestr - games
- zaplinks.lol/deletestr - deletion requests
- zaplinks.lol/2048str - games
- zaplinks.lol/nostrqr - qr generator
- zaplinks.lol/notanostrclient - anon


Super Clients
- amethyst.social
- nostrudel.ninja
- coracle.social

Clients
- damus.io - twitter
- primal.net - twitter
- snort.social - twitter
- gossip - twitter
- lume.nu - twitter
- rabbit.syusui.net - twitter
- freefrom.space - twitter
- nos.social - twitter
- flycat.club - twitter
- straylight.cafe - twitter
- nostter.app - twitter
- iris.to - twitter
- nostur.com - twitter
- Nostrmo - twitter
- yana - twitter
- openvibe.social - twitter
- freerse.com - twitter
- 0xchat.com - chats
- cornychat.com - chats
- Coop - chats
- nostrchat.io - chats
- blowater.deno.dev - chats
- habla.news - blogs
- yakihonne.com - blogs
- highlighter.com - blogs
- blogstack.io - blogs
- stemstr.app - music
- wavlake.com - music
- fountain.fm - podcasts
- zap.stream - live streaming
- shopstr.store - marketplace
- plebeian.market - marketplace
- flotilla.coracle.social - communities
- satellite.earth - communities
- zapddit.com - communities
- nostr.kiwi - communities
- hivetalk.org - video calls
- flare.pub - long-form videos
- nostrnests.com - audio spaces
- wherostr.social - location
- go.yondar.me - location
- stacker.news - news
- flockstr.com - events
- nostrocket.org - issue tracker
- docstr.app - docs
- satshoot.com - freelance
- wikifreedia.xyz - wiki
- formstr.app - forms
- chesstr.pages.dev - chess
- memestr.app - meme feed
- npub.cash - wallet
- npub.pro - websites
- gitworkshop.dev - dev tools
- onosendai.tech - metaverse
- degmods.com - games
- turdsoup.com - prompts

Mini Clients
- amber - signer
- alby extension - signer
- nos2x - signer
- nsec.app - signer
- keys.band - signer
- nokakoi.com - anon
- anonostr.com - anon
- getwired.app - anon
- lowent.xyz - anon
- creatr.nostr.wine - exclusive content
- lightning.video - exclusive content
- zaplinks.lol/slides - slides
- listr.lol - lists
- zap.store - app store
- badges.page - badges
- oddbean.com - news
- dtan.xyz - torrents
- nosta.me - user pages
- pinstr.app - pinterest
- pollerama.fun - polls
- swarmstr.com - trending
- nostrapp.link - apps manager
- noogle.lol - search
- ostrich.work - job postings
- emojito.meme - emoji manager
- nostree.me - links
- citrine - local relay
- joinstr.xyz - coinjoins
- heya.fund - crowdfunding
- zapplepay.com - zaps
- nosbin.com - clipboard
- shipyard.pub - scheduler
- tunestr.io - live streams
- filestr.vercel.app - files
- sheetstr.amethyst.social - spreadsheets
- crafters.amethyst.social - curriculum vitaes

Micro Clients
- w3.do - url shortener
- nosdrive.app - backups
- zaplife.lol - zaps dashboard
- zapper.fun - payments
- nostrends.vercel.app - trends
- zephyr.coracle.social - trends
- wavman.app - music player
- nostrrr.com - relay info
- nosdump - relay info
- notestack.com - blogs
- nostr.watch - relay info
- snowcait.github.io/nostr-hours/ - use reports
- lazereyes.nosfabrica.com - vision prescriptions
- satoshipuzzles.github.io/Snakestr - games
- zaplinks.lol/deletestr - deletion requests
- zaplinks.lol/2048str - games
- zaplinks.lol/nostrqr - qr generator
- zaplinks.lol/notanostrclient - anon


Weird.. It was on my draft..


It's there, no?


Just the simple DM client on the web is already good enough for me :)


WAT


Now we are talking... Great idea


The rise of the incidental dev.


Like I said, I keep fucking up.


nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3kamnwvaz7tmgdajxccn0vshxxmmjv93kcefww3hk7mrn3mpe85 is on fire. 👀

Here's a discord/slack Nostr client:
https://flotilla.coracle.social


Regular client, since its just for the "twitter" domain


Yep, but that wasn't the goal. The goal is to move devs to enjoy making micro apps.


Going live on zap.stream with nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpzamhxue69uhhv6t5daezumn0wd68yvfwvdhk6tcppemhxue69uhkummn9ekx7mp0qyghwumn8ghj7mn0wd68ytnhd9hx2tcewvzaw in 3 hours. Join us!


Based on my made-up categories, this is how I would split our most known apps. Also... Microapps are clearly not getting the marketing they deserve

Super Clients
- amethyst.social
- nostrudel.ninja
- coracle.social

Clients
- habla.news
- damus.io
- primal.net
- 0xchat.com
- snort.social
- yakihonne.com
- iris.to
- satellite.earth
- highlighter.com
- hivetalk.org
- flare.pub
- zap.stream
- shopstr.store
- gossip
- lume.nu
- flockstr.com
- cornychat.com
- nostrocket.org
- docstr.app
- rabbit.syusui.net
- satshoot.com
- Nostur
- Coop
- stemstr.app
- freefrom.space
- wavlake.com
- nos.social
- wikifreedia.xyz
- flycat.club
- fountain.fm
- nostrnests.com
- blogstack.io
- go.yondar.me
- formstr.app
- chesstr.pages.dev
- plebeian.market
- memestr.app
- zapddit.com
- Nostrmo
- wherostr.social
- npub.pro
- nostrchat.io
- degmods.com
- npub.cash

Mini Clients
- listr.lol
- amber
- citrine
- alby extension
- no2x
- zap.store
- badges.page
- oddbean.com
- dtan.xyz
- nosta.me
- pinstr.app
- lowent.xyz
- pollerama.fun
- swarmstr.com
- noogle.lol
- ostrich.work
- emojito.meme
- nostree.me
- joinstr.xyz
- heya.fund
- zapplepay.com
- nosbin.com
- ostrich.work
- shipyard.pub
- anonostr.com
- getwired.app
- tunestr.io
- sheetstr.amethyst.social
- crafters.amethyst.social

Micro Clients
- nosdrive.app
- zaplife.lol
- zapper.fun
- nostrends.vercel.app
- wavman.app
- notestack.com
- nostr.watch
- lazereyes.nosfabrica.com


yep


Yeah, short names are not good. There is going to be millions of people with "Ge" in Nostr. I am surprised that the right one even shows up.


Reminds me of the fight for what name to use: Nostr Client, Nostr App or Nostr Browser.


I always fuck things up....


Are these definitions clear enough to non-devs out there? Do they make sense?

- Super Clients merge vastly different domains into just one application, generally providing some basic support for read, write, configuration and data management of each use case inside of each domain. Example: when Marketplace and Live Streams are placed into the same app.

- Clients provide complete support for a single domain and its many use cases, including read, write, configuration and long-term data management. Examples: A marketplace app that help users manage product catalogs, manage orders, collect payment, manage fulfillment and tax reports.

- Mini Clients provide read and write support for single use cases, including configuration management and all actions related to the use case. Example: A fulfillment app that helps users view orders placed from another Client, pack and ship them.

- Micro Clients are single interface apps that execute only one action. Viewing some record and creating the same record are separate micro apps. Example: An app that simply scans the QR code of an order and marks as shipped.


Here's where I stand:

- Super Clients merge vastly different domains into just one app, generally providing some basic support for read, write, configuration and data management of each use case in each domain.

- Clients provide complete support for the many use cases in a single domain, including read, write, configuration and long-term data management.

- Mini Clients provide read and write support for single use cases, including configuration management and all actions related to the use case.

- Micro Clients are single interface apps that execute only one action. Viewing some record and creating the same record are separate micro apps.


Here's where I stand:

- Super Clients merge vastly different domains into just one app, generally providing some basic support for read, write, configuration and data management of each use case in each domain.

- Clients provide complete support for the many actions in a single domain, including read, write, configuration and long-term data management.

- Mini Clients provide read and write support for single use cases, including configuration management and all actions related to the use case.

- Micro Clients are single interface apps that execute only one action. Viewing some record and creating the same record are separate micro apps.


Here's where I stand:

- Super Clients merge vastly different domains into just one app, generally providing some basic support for read, write, configuration and data management of each use case.

- Clients provide complete support for the many actions in a single domain, including read, write, configuration and long-term data management.

- Mini Clients provide read and write support for single use cases, including configuration management and all actions related to the use case.

- Micro Clients are single interface apps that execute only one action. Viewing some record and creating the same record are separate micro apps.


Here's where I stand:

- Super Clients merge vastly different use cases into just one app.

- Clients provide complete support for the many actions in a given use case, including read, write, configuration and long-term data management.

- Mini apps provide read and write support for single actions, including configuration management related to the action.

- Micro apps are single interface apps that execute only one action. Viewing some record and creating the same record are separate micro apps.


I need definitions for Client, Mini Client and Micro Client. How would you separate the 3 types?

Go.


:thugamy:


Yes, there can only be one Amethyst. 😎
nostr:nevent1qqsqqqp2zrs7836tyjlsfe7aj9c4d97zrxxqyayagkdwlcur96t4lasprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsygpm7rrrljungc6q0tuh5hj7ue863q73qlheu4vywtzwhx42a7j9n5psgqqqqqqs2juafc


Yes. Sometimes hidden (Pegasus), sometimes right on your face (Google malware), sometimes lied to you (Apple malware).


Never use Google Drive as a database.


Why Nostr Matters.
https://video.nostr.build/78256188e7e35e237f62cffeb12a3c80250959eacbf04decefc17a7573935dd9.mp4

alt Evolution on how couples met over time


Clearly dog people...


They should have named Steve Jobs.


Nada muito difícil, mas meio que vai contra a arquitetura que montamos. A ideia era que o feed se atualizasse automaticamente. Até temos o pull to refresh para atualizar o feed, mas normalmente o feed já está no mais atual possível.


Very iOS this layout :)


My point is that we shouldn't just dismiss the state of DMs as you suggested in the first reply. Devs should implement NIP-17 as it stands today even though NIP-104 is in the horizon.

Considering that NIP-17 took about 1.2 years to be developed, audited, implemented by 2+ clients and merged, MLS will take another year to be ready.


There is never going to be a unicorn. MLS is good but there will definitely be better things.


Ohh cool! And it also tells me which models will be too slow in my computer. That's awesome.


Very cool desktop-based LLM studio with access to multiple models, all run locally lmstudio.ai
https://image.nostr.build/b393edd42deb913b3bace4ee8ca3aee0beff842ead290f4fbbbcde834e95c35d.jpg

alt LM Studio screenshot showing a chat application


Hum... Interesting... I will fix this


I wouldn't use this logic. There is always something better. I am sure after MLS gets coded and merged a new DM protocol will emerge and then nobody is going to code anything because we are all waiting for the perfect spec.


If know how to make videos and want to help Nostr, doing a Why Nostr Matters video is the way to go. Here's nostr:nprofile1qqsftzm4fgwnmed4ajs0uvwj642lg5fjt7zf32pa5xvhkl7dtsu73rqpz4mhxue69uhkummnw3ex2mrfw3jhxtn0wfnszynhwden5te0wahhgtn4w3ux7tn0dejszxmhwden5te0wfjkccte9e3xjarrda5kuurpwf4jucm0d5nggkmy's version:
nostr:nevent1qqs0tlx9e32djz50hqkf8pyxf938g32el0n24fp6m6amlvr3vnw2xcqpzemhxue69uhkummnw3ex2mrfw3jhxtn0wfnj7q3qjk9h2jsa8hjmtm9qlcca942473gnyhuynz5rmgve0dlu6hpeazxqxpqqqqqqzje3hj8


Do it again. We already forgot about it. :)


What's your version of Why Nostr Matters?
nostr:nevent1qqsqd8exd6x5f37q6qhv7rag6ygtx97yzwelmu7zhms499t7a0520dspz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsygqyey2a4mlw8qchlfe5g39vacus4qnflevppv3yre0xm56rm7lveypsgqqqqqqsap32vc


Nostr prompted me to redesign my entire online presence:

- Personal website: Built using nostr:npub1pr4du5xl28dy5sh4msz9uddnwxgzupkk4qzjzklv84edc6ruevzqlxmkzp, it aggregates long-form articles published with  nostr:npub1w0rthyjyp2f5gful0gm2500pwyxfrx93a85289xdz0sd6hyef33sh2cu4x, and it uses a custom domain courtesy of  nostr:npub1xdtducdnjerex88gkg2qk2atsdlqsyxqaag4h05jmcpyspqt30wscmntxy.
(https://marco.barulli.it)
- Contact page: While still hosted on Github, it now embeds a contact form created with  nostr:npub1qu7dsd44275lms4x9snnwvnnmgx926nsppmr7lcw9dlj36n4fltqgs7p98, an amazing Nostr-based form builder service
(https://mbarulli.github.io)
- X/Twitter, Facebbok, and LinkedIn: I've pinned posts announcing Nostr as my new home. This is also my advice to you: don't delete your existing social media accounts, keep them active to direct your audience to Nostr.


Also: https://heya.fund/


I haven't seen anyone create a spring boot project in Java for the last year or so. They all hit the Kotlin button.


I said this before and will say it again: Nostr's long-term goal is to make sure an AI can create a fully-functional Nostr client from scratch with minimal instructions.

True freedom is freedom from devs. 💀


habla.news with an npub.pro website is the new standard for blog hosting.


Kotlin too :)


There are 2 coding realities today:
- Every C code is being rewritten in Rust.
- Every Java code is being rewritten in Kotlin.


It depends on the needs, some folks want it to be in every interaction.


> Nostr is the infrastructure behind an app ecosystem, equivalent to Android/iOS/Gnome

nostr:nprofile1qqsrx4k7vxeev3unrn5ty9qt9w4cxlsgzrqw752mh6fduqjgqs9chhgppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg3waehxw309ahx7um5wgh8w6twv5hsxct838


> Nostr is the infrastructure behind an app ecosystem, equivalent to Android/iOS/Gnome
nostr:nprofile1qqsrx4k7vxeev3unrn5ty9qt9w4cxlsgzrqw752mh6fduqjgqs9chhgppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg3waehxw309ahx7um5wgh8w6twv5hsxct838


If they force all of us to use on chain transactions so that they can surveil us all, is it still a good thing?


It doesn't follow to the letter but it is very close.

Flimsy JS app here

https://github.com/vitorpamplona/amethyst-push-notif-server


:thugamy:


How Nostr Devs see their app: https://video.nostr.build/6b7cbd657e5ea5492ce4d0a11f6f0f081ba5a1eb69fe874f18683309535215bf.mp4


nostr:nprofile1qqsrmpp2lmx4u2fl9zmxy7fnwp9rlwxwz5a2j8tep2c376n494z2gtgpzamhxue69uhkxetvd3shytnwdaehgu3wwa5kuegpzamhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuegpzpmhxue69uhkummnw3ezuamfdejsumlnkj nostr:nprofile1qqs8eseg5zxak2hal8umuaa7laxgxjyll9uhyxp86c522shn9gj8crspz9mhxue69uhkummnw3ezuamfdejj7qgjwaehxw309ahx7um5wgerztnrdakj7qgwwaehxw309ahx7uewd3hkctc58hv2s any chance you guys can offer this service for the authed relays, like inbox.nostr.wine and auth.nostr1.com ?

Since an external service, like push.amethyst.com , cannot login with the private key of the user because it doesn't have it, the only way to get DM notifications working is if you implement something like this.


Just default.


Activates that relay for Group chats


This NIP creates the equivalent of NIP-96 media servers but for push notifications. Users will be able to choose which servers are watching their events and sending notifications down via Google/Apple/Ntfy systems.

If other people start implementing it, Amethyst will kill our last server. 🚀
https://github.com/nostr-protocol/nips/pull/1528


This NIP creates the equivalent of NIP-96 media servers but for push notifications. Users will be able to choose which servers are watching their events and sending notifications down to Google/Apple/Ntfy systems.

If other people start implementing it, Amethyst will kill our last server. 🚀
https://github.com/nostr-protocol/nips/pull/1528


This NIP creates the equivalent of NIP-96 media servers but for push notifications. Users will be able to choose which servers are watching their events and sending notifications down to the Google/Apple/Ntfy systems.

If other people start implementing it, Amethyst will kill our last server. 🚀
https://github.com/nostr-protocol/nips/pull/1528


This NIP creates the equivalent of NIP-96 media servers but for push notifications. Users will be able to choose which servers are watching their events are sending notifications down to the Google/Apple/Ntfy systems.

If other people start implementing it, Amethyst will kill our last server. 🚀
https://github.com/nostr-protocol/nips/pull/1528


Our understanding is that there will be a stable release of Android 15 on October 15th. We fully ported all our changes to it by September 3rd after the early source code release in September. We'll aim to have a release out within 24h of the stable release being pushed to AOSP.


I am kidding... Just watch for conflicts and add +1 to the previous message's created_at...


Pow: Add a nonce and make sure the event id, ordered alphabetically, comes after the previous message.


When AIs throw the truth in your face...

> Is Nostr Web3?

ChatGpt: Nostr can be considered part of Web3 due to its decentralized nature, user ownership of data, and censorship resistance, aligning with core Web3 principles. It enables users to control their identity and messages via cryptographic keys, fostering privacy and interoperability. However, unlike many Web3 projects, Nostr does not rely on blockchain or native token economies, making it a distinct, lightweight approach within the broader Web3 landscape.

Gemini: Yes, Nostr is a decentralized social media protocol that aligns with Web3 principles. Unlike traditional social media platforms, Nostr doesn't rely on blockchain technology or tokens. Instead, it uses a network of independent servers to ensure user privacy and control. This decentralized approach makes Nostr resistant to censorship and aligns with the core values of the Web3 movement.


What the fuck...


NIP-29 is definitely in the roadmap, but so is other 15 or so NIPs.


I will be focusing on the outbox model for the next 2 months or so. So, if people want new features, we need to attract new devs.


Where is the bounty or the PR? :)


Nice way to get some replies here...


Is there a list of LSPs and their fees/reserve requirements out there?

Spending 100 USD to open a 5M channel is not fun.


Ideally I don't want to cash out, but simply add more liquidity to the other channels. But maybe that's the way to do it...


My friend just LIKED MY EMAIL!! Is this a new thing? Was I living in a cave for the last years?
https://image.nostr.build/a48cc7c6ce6604644262478c2cce9b6a4a897332474fa072b24f07b2c451a844.jpg


Mine is more fucked. https://image.nostr.build/3a0eae57fe4ae58a8daff68c10ad29f4471df236b9b539178338c7b12d5d9c8e.jpg


Agree. But they could be a start. Imagine an NFC-based TapSigner card for nostr posts.


How do I rebalance my channels on AlbyHub? #asknostr


The usual folks (coldcard, seedsigner, ledger, etc) are not seeing the need/maket for it yet.


YES! HARDWARE PEOPLE STEP UP. LET'S GO!
nostr:nevent1qqs9dczn8slzmpevlyx0dwnykvy334lycznzzpt8c88az5qnh5nhypcpzdmhxue69uhhwmm59e6hg7r09ehkuef0qgsqfjg4mth7uwp307nng3z2em3ep2pxnljczzezg8j7dhf58ha7ejgrqsqqqqqp7ynnaa


GM, MEMO guy


Hank makes the case for nostr:nprofile1qqsgydql3q4ka27d9wnlrmus4tvkrnc8ftc4h8h5fgyln54gl0a7dgspzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgqg5waehxw309aex2mrp0yhxgctdw4eju6t0qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyfehcpn to buy the Twitter brand out of X.
https://youtu.be/NyV54qfSZwg?si=aYa2mHakLMEJLOsy


What are the new features?


That's why I said my Next goal :) the current version still requires some amount of relays in the general section.


Probably old name when the app only did signatures.


They can just track the encrypted payloads themselves. They don't need to decrypt it.


That's why I said 3 :)


No. And if you use Tor, then not even your IP is available.


The general section, and thus the relay recommendation section, won't even be there.


All of them, just keeping nostr.wine and my relay.


Because it was pinging the counter in our servers, I could see what posts everyone was looking at in real time.


Today's amethyst still depends on more relays because of the legacy model, but that will change soon.


My next goal is to get users to reduce their relay lists from an average of 20 to 3.

You don't need to trust 20 relays. You just need 1. But 3 adds redundancy in case 2 of them are busy at the same time.

And remember: Relays can see what you are looking at in real time because the app is requesting the post, likes and replies from them as you scroll. They can even count which posts captured more of your attention.

So, make sure you trust your relay operators.

GM.


Btw, relays can see what you looking at in the same way the view counter was. That's why it's really important to only use relays you trust. They can see everything you do because the app is downloading posts from them.


You just need to ask them to


Only for new users, existing users must setup manually (we don't override their previous setting)


The app received 4k times a post that was duplicated.


Humm.. because it is spam, it will not be cached locally. So, if you are going back to one of the hashtag views, it will keep asking for it. I will check when I get back home


The app received 4k times as post that was duplicated.


Which note?


Because it was pinging the counter in our servers, I could see what posts people were looking at in real time.


If you have to activate, whoever you are talking to doesn't have a DM relay setup and then your conversation is going to relays you don't know and may be tracking you.. so talk to them to set it up.


Blues


This is only true for the old nip04 dms. The new one we have implemented since last year leaves no public trace.


That's gone forever. It was a huge privacy risk tracking views on everything.


It's more like Google changing the component without telling devs kind of bad design.


Nashville and Memphis couldn't be more similar and more different than one another


:thugamy:


I just don't know how primal can be sure it's going to work before running all those steps. Maybe they just assume it works even when it doesn't?


Yep


Yesterday was Country Spicy Chicken, today is Blues BBQ Ribs.

Am I doing this Tennessee thing right?
https://image.nostr.build/7b6c266761495bb77aeebecc0840c4e3dfe12923762e45ec070bde5154dc9b12.jpg
https://image.nostr.build/92ddd73963d3cf3dc6dafd33fabfaf28d0fc673826b883d3ebcd319a725708c6.jpg


Yesterday was Country Spicy Chicken, today is Blues BBQ Ribs.
https://image.nostr.build/7b6c266761495bb77aeebecc0840c4e3dfe12923762e45ec070bde5154dc9b12.jpg
https://image.nostr.build/92ddd73963d3cf3dc6dafd33fabfaf28d0fc673826b883d3ebcd319a725708c6.jpg


I think this one goes to far ... nostr:npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424 ... nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z 😂 #amystr #nostrAI #grownostr #memes https://v.nostr.build/sjz9kbQb40CmQXEJ.mp4


:amy:


Jesus, the new progress bar component for Android is completely borked.


Yeah, we try to avoid it, but sometimes the AI just overrides the process and translates the link itself. Happens here and there on the Google translate web version as well.


On the general list, yes. You can click on the arrows. The outbox and inbox lists have their own rules. Outbox/Home relays are always read/write, inbox is always read and write if the post tags you.


Hum.. strange, we have been decrypting private lists from listr.lol for years now.. I will check if there is a new bug in it.


So sorry.


Do you use any other client? Clients that don't implement hashtag following will clear it as soon as you follow somebody over there.


Fixed!


Yeah, if you upload too much on a free plan, they limit you


Right,.but if you blocked the community, isn't that supposed to happen?


Ok, but that is this view for then? Is this a Global filter? Or are you inside the /n/Brasil community?


Humm.. I don't we I have migrated yet, but I did add the parser for nip04 and NIP-44. There might be a bug somewhere. I will check.


Either that or you added an empty space in the hidden words and amethyst is just hiding everything


Why is there so much hidden posts in /n/Brasil? If they are all real spam, this can only be solved by selecting better relays.


It will look at the authors name and all of the about info of each author.


We did operated a proxy. But then I realized that I not only had all the locations for our users but ALSO all their image and content requests. And I could easily associate both. The proxy doesnt only knows your location but know what you are looking at in real time.

To me, the proxy is WAY worse from a privacy standpoint.


We have embed tor that reason. If people want they can protect themselves.


:thugamy:


Hi. I'm a author of "The Girl with Seven Names" and escapee from North Korea. I'm here in Nashville to learn about Bitcoin for the first time in my life♡ https://image.nostr.build/14a71787e95f07d346130b6247d0209c65a6e3daec1cdac89a3594fc427c0206.jpg


Nostr is a group therapy


This is awesome!


JOIN US LIVE nostr:note1n4msv8j5x2tq70ah2dqn65cc68ucpe3d7jpa9azz78ctuqqrq37sznl5ae


Using Amber or with the nsec directly into amerhyst?

I am hunting for this bug. It's some form of decryption that went wrong.


Isn't that what pools do?


We did it.


Before or after paying income tax? :)


Correct. Which is great if you don't want servers censoring you. :)


Sure, but that's just spam. It's true for the whole of Nostr and the old nip04. Any key can send you a DM.

But a Sybill attack is about using fake identities to gain majority power. The fake identities on Nostr don't give the attacker extra power/influence in the network.


? How does any of this lead you to a Sybill attack?


? How does any of this lead you to a Cybill attack?


Landing in 1hr.


I am not sure if it's a good use of your time.

But if you want...


Interesting. Is your ISP or VPN blocking Tor connections?


Ohh yeah, I need to implement the dynamic markers thing...


Yeah, that's a major problem to me. The company should not even run any server. It's too easy for court orders.


Decrypt all from the past week. Then load the week before as the user scrolls the list down.


:thugamy:


I have enabled the internal TOR and, to my surprise, it has no latency deterioration.

Excellent work.


To me, servers should not even know which messages go in which queues.


It's noticeable, but barely.


More stable Amber support for NIP-46  nostr:nprofile1qqs827g8dkd07zjvlhh60csytujgd3l9mz7x807xk3fewge7rwlukxgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qgswaehxw309ahx7um5wghx6mmd9usjfpck and a desktop signer to do the same.


I am trying to video record how slow Tor is on a plane, but the loading is faster than me pressing the button. 😅


Are those things the default now? Last time I check they were still opt-in. And since most of those servers were been run by the same entity, in practice people can still be traced.

But yes, this is way better than their version from last year.

Do you know why they decided to not use Tor sessions to do proxying and masking?


I thought this was an Ad.

I was like WTF. What did I do? Which library is doing this? WTF!


Using Tor for everything at 30,000 ft.

Cool.


No idea. I think they use their own relays when the DM relay is not set, without setting the DM list for the user. Which is bad, imo.


In theory, all NIP-17 implementers must use it. At least 0xchat, amethyst, coracle, gossip, coop use them.


Zaps are identifiable. If they start using zaps, most of the privacy is gone.


The protocol uses channel IDs and generated keys that are visible to the servers. Those can be used to track you around. Especially if both users use the same server, which is common for the default setting of the app.


SimpleX servers know more about you than DM relays.


Yep, the incognito will light up if the receiver's DM relay list can be found.


Get him to add DM relays to his account.


Did you know that NIP-17 was designed to keep metadata private even if devs make mistakes in their apps?

Designing a DM protocol where you control the server and app on a single codebase is very different than designing something anyone can code flawlessly from scratch.


0xchat, amethyst, Coracle, gossip and Coop


Either way, Its not a good idea to not know which relay is being used if the DM relays aren't there.


If it wasn't, the 0xchat is not setting the DM of your friend per spec. Or there is a bug somewhere.


So, they basically said: "just use a spy app... they are already there"


Devs are never competent.


We are starting a trend.
nostr:nevent1qqsp9x0qf3tgj8qj4qqwyd8w0mszqec49ck098u7z7mmf7te7huvqagpz9mhxue69uhkummnw3ezuamfdejj7q3qye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjsxpqqqqqqzg0gyhc


That's great. The reporter deserves it. :)


If the incognito icon lights up, you both are good.


This is why you must add DM relays to your list... The incognito becomes active by default and no one can see who you are talking to.
nostr:nevent1qqsx8g553v99e6559lrg9sa6vv79spfl7mutgsnlydpkp7a8vw4a5ecpzemhxue69uhkummnw3ex2mrfw3jhxtn0wfnj7q3q64r4kfyyre2w2yy85zdsvlyk8xl2rj99xqjk4r65zfvfeqycu8zqxpqqqqqqzpyvsmq


And giftwrapped DMs.

All of those are NIP 04.


If only those two relays are there, we don't even know when you have a new event. :)


Ohh yes. Most definitely the list got deleted at some point or the relay that had it got busy, was offline and didn't send on time. Then Amethyst started a new one when you added a bookmark.


Interesting. Maybe we can start to develop it to see how it goes.


I don't know... People already complain we use too much battery today. Keeping a service running will definitely make things worse..


So you didn't lose all bookmarks but only the ones from the last 2 days?


Private and public at the same time? It can be either the relay deleted it or it is too busy, OR some decryption is not happening in time.


One example of a hidden relay would be your own relay from relay.tools but we don't have many settings to make it work better yet.


Come to Kotlin, man


Rust sucks


Better


Echo here too


You suck


Listening on 4g from the airport o/


Who wants to write a cool post about all Nostr apps new Android users should explore? I need a cool post to send to newish users.

Emphasis on the "other stuff".


Or maybe DM relays should have their own Push system and each user must set it up in a way that it sends to their NTFY handler when they receive a new one.

Not as easy as Google Play notifications, but it can work.


Ohhh, I will check


nostr:nprofile1qqsd3uut39959acqsvzua0chkjyj2e20y2ccp3vxrwq3g8uqenmjsjqpz9mhxue69uhkummnw3ezuamfdejj7qg6waehxw309ac82unpwe5kgcfwdehhxarj9ekxzmny9uqsuamnwvaz7tmwdaejumr0dshs05s5y4 but yes, that's how DM relays work. They just don't work well with Push Notification systems.


What's the problem here?


We basically have to options:
- Auth with a key used by the Push Server itself. Everybody would have to white list that key to download their own DMs.
- Change the relay spec to allow a REQ, authed in the past by the user, like on https://github.com/nostr-protocol/nips/pull/1148/