Has anyone built a Nostr client, where the DMs are a #SimpleX client?

So that it's one client, with two protocols, and you just invite someone to your SimpleX chat, with a Nostr DM containing the SimpleX code?

Or something, like that? Is that a dumb idea?

Reply to this note

Please Login to reply.

Discussion

Sounds like super app, which I don't like

Okay, but you're only one person and a lot of people are using both protocols and stuck with two apps on their phone, digging around for DMs.

I actually thought #Freerse might do something like that, since it's DM-first.

I like this idea. There could also be closer integration, without them being merged in the same app.

Sister-apps for sister-protocols. Or a plug-in.

I don't know that would work. Nostr is inherently based on user identities, and SimpleX is inherently based on not having user identities of any kind. I don't know how you'd handle associating an npub with the SimpleX message queue system. And if you did, it would automatically defeat SimpleX's core identity-free functionality.

Well, SimpleX message queue codes are typically exchanged out of band already.

This would just make it a standard.

I mean, I have DMed SimpleX codes. This would just be a UX change.

No they're not. One-time connection keys are exchanged off-band. Not the message queues themselves. The message queue is dynamically created when one person's key is connected with another person's key.

It sounds like you're talking about have one app that's actually two apps with no integration. And if that's the case what's the point?

Your terminology is the correct one, couldn't remember the word. Connection keys.

Yes, literally could be just a "request connection key" function in the Nostr app.

Its not much of a change, I agree, but I'm also keen to reuse whatever works already.

I just don't see a meaningful integration. There's too much incongruity. The keys are ephemeral and exist only in the user's client, so there's no central mechanism to obtain and exchange keys. Nostr's key system with nsec and npub wouldn't have any relevance in the SimpleX key exchange or chat process. Because again, nostr keys are permanent user identities, and SimpleX exclusively uses ephemeral, local keys. It would be like trying to connect your Blu-ray player to a ham sandwich.

The SimpleX app knows its talking to BillyBob ðŸŪ in Arkansas. It can just list BillyBob ðŸŪ. The user won't notice a difference. It will just be sending DMs to this BillyBob ðŸŪ entry. Not everything has to involve Nostr keys, to work. You can just label stuff.

I obviously wouldn't be trying to connect to everything, everywhere, only an npub I agreed to send my SimpleX link to. I know that it's really BillyBob ðŸŪ, as he's the npub I did the handshake with.

I don't disagree, but I would also use the functionality I described.

I mean, its the same workflow some of us are using now, just with fewer manual steps.

I mean, you could probably include some links to some of SimpleX's basic functionality in a nostr client without too much difficulty provided you're proficient in Haskell. But it wouldn't be an actual integration with Nostr. It would basically just be shortcuts to a seperately installed SimpleX client within the Nostr client. Personally, I wouldn't find value in that, but maybe some people would. I certainly encourage you to give it a shot. Frankenstein coding can lead to some amazing results!

Hahaha your last line is gold :D

Its not adding a lot of additional value, I agree 100%, but that's kinda the point. Our Nostr devs reinvent the wheel a lot, and the SimpleX wheel already has iron rims and all-tension sinew spokes.

Adopt it into the tribe already, so we can go conquer Europe.

One thing that makes it difficult is the fact that virtually all of SimpleX is original coding. It hardly borrows from any other projects, or uses anything standard. Add that to the fact that it's 100% Haskell and it's easy to see why it's a very difficult codebase to work with.

I agree. And my Haskell experience is zero. Sad.

I took one look at the code and I immediately wanted to hang myself.

Yeah, that's the whole point. It's just integrated superficially, in the display. You can make two things look like one thing, by changing the way they're displayed to the end user.

I like using Nostr DMs for quick questions or exchanging SimpleX links, but not for regular convos with my besties. I use SimpleX, for that. I like SimpleX.

Don't know why it's so often treated like a competitor.

Only need to download one app, open one app, get notifications from one app. 😂 Like, do you know how many apps I have?

The app could just have DMs over Nostr, allow for a "move this convo to SimpleX handshake", if you have the plug-in, and then the plugin handles future convos and displays them in the same feed with Nostr convos, with a little icon on the npub profile, to show that chat as using SimpleX. Done.

I suggest you go to the SimpleX github and read the SimpleX MQ whitepaper that details the messaging system. I know it sounds easy to you, but that's just not how it works. There's no reasonable way to integrate the two systems because they are fundamentally based on two mutually exclusive philosophies and design architectures. But it's all open source so you're certainly free to try!

You're the only one talking about integrating the protocols. I'm talking about display options in a client.

If I have an Outlook app, that sends email, HTTP, and OATH, they don't have the mesh the three protocols together. Protocols can work in parallel. That is the standard way software is developed: multiprotocol.

I am not a Nostr dev. I am a dev. I develop products for customers.

I don't know why you're getting defensive. I am also a dev and I've spent a lot of time studying SimpleX and communicating with the lead SxC dev. I'm not saying it's impossible because that would be ridiculous. But what you're talking about is not even close to as easy as you're making it out to be. And understanding the underlying protocol and methodology is essential to understanding what you can do and how you'd have to do it. Knock yourself out.

And, like, I have an e-mail identical to my NIP-05 and a nostr:nprofile1qqsggm4l0xs23qfjwnkfwf6fqcs66s3lz637gaxhl4nwd2vtle8rnfqprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj7qfqwaehxw309ahx7um5wghx26tww4hxg7nhv9h856t89eehqctrv5hsz8rhwden5te0w35x2cmfw3skgetv9ehx7um5wgcjucm0d5hsjmvd7t support e-mail. Why do I need an extra client, to look at it? Give me an e-mail plug-in, too. 😂

Like why not?

I've read the whitepaper, BTW.

I am not new to computers.

We can also send events over Simplex, of course, since they're just strings. Don't know, if there is a use case, for that.

Yes, no keys I think!

Well, events are signed with keys, but you could send some person an event using Simplex and their local relay could load it onto Nostr, and make it relayable.

Like a private Tor.

Sounds wrong, but it's an open to aÄšl.

Yo, I can send you an event over email or an API, or just write it down on a piece of paper. Events are just signed json snippets. They're data capsules.

This will make private DM"s? Door open ,

Trying to find out about API, sounds fun.

I would just think in terms of micro-apps.

Maybe your Nostr app says "You want to do DMs? There's this great app, Simplex, over here that's perfect for that. Here, I'll help you get connected with this other guy via Simplex."

Once you've connected, you leave the Nostr app and DM on Simplex.

Yeah, micro-apps. Or extensions.

I guess I'm used to the VS Codium or Jenkins format, where you have a basic window, with a terminal (in this case, a Kind 1 note input box) and a profile editor, settings, and etc., and then you can just customize the window with whatever you want, by installing from a menu.

Nostr doesn't have the equivalent of a text editor "base app" that extensions could be popped into. Until such a thing exists, I think the best way to keep apps small and focused is to develop good practices for transferring the user's workflow between apps smoothly without losing context.

Just realized that our idea is the closest to this, just the other way around. Put Nostr in VS Code, which already has an e-mail client, markdown editor, Asciidoc editor, Linux terminal, PlantUML compiler, etc. Just need to add a Simplex client, as well.

I'd never use anything else, on my PC, ever again. 😂 Just give me a Nostr button, in the left-hand menu, to open up my Nostr apps, and I'm done.

Replace the Windows key with the Nostr key.

You know, I am _that_ lazy. 😂 Spend all day, in the same app.