User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
2d
So because I have gone temporarily off my rocker, I'm working on an client using 10 and WPF, with artalk-xmpp for XMPP, libsignal for , and prism for screen reader output where needed. I'm only an evening into it, and I can already tell that OMEMO is going to be the source of complicated, inexplicable, and unreproducible bug reports for decades to come. It's still not as overcomplicated as , though.
9
5
8
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
2d
OMG what am I even doing This is a huge project it's going to need Jingle and that needs WebRTC and then file transfers and voice messages and oh also localization and sounds and hotkeys and settings and multi-account support and Oh God. even with AI this will take fifteen years why did I get out of bed today and choose this for myself
4
1
4
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
2d
@fastfinge there's always Delta Chat which solved almost all of these problems already :)
2
0
2
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
2d
@feld I dropped Jami and signal from my life for the same reason. “Just use the official clients” is not an open protocol. Not even if the client and server are open source.
1
0
2
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge you're completely wrong we have third party clients and more coming all the time

github.com/trufae/parla

lambadalambda.github.io/estuary/

Unreleased tui client by
@jae
1
0
2
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae Nope. These are just running deltachat-core or libdeltachat, from what I can tell. If I want a library in C#, there is none. If I want to write my own library in C#, without depending on deltachat-core, I can't. There's no list of RFCs I can look at, nothing like xeps or IRCV3 caps, etc. It's just "use our library".
2
0
4
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae there is no "library" to write. It's PGP emails and SMTP/IMAP. Go ahead and do it yourself, there's nothing proprietary being implemented. It's just emails.

Name a feature that you think is some secret proprietary thing
1
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae It's not, though. Deltachat does weird shit with email headers to anonymize everything. I couldn't just read a message from deltachat in my regular email client. And I have no idea how they're doing federation and key exchange and things. But it's all based on weird links that require deltachat's domains and servers to exist and be running. I can't just type an email in the chat client and send a deltachat message.
2
0
3
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae
key exchange
It's Autocrypt, there's an RFC for it


Mime headers being encrypted? There's an RFC for it


The subject header being changed to [...] is a client / chatmail server implementation detail unnecessary

The Date header being smeared +- a few days is a client implementation detail too

None of that is required

All you needed to do to read the message in your email client is decrypt it. There are users reading messages in Thunderbird/Mutt/Proton Mail
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae Interesting that everyone uses libdeltachat or deltaachat-core, then. There is no ecosystem of standards compliant implimentations. And seemingly no clear idea what that would even mean to deltachat.
1
0
3
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae because deltachat-core is a nice implementation of the core protocols in a simple Rust package and presents a clean JSON-RPC API for you to build anything you want on top of it. And none of that has anything to do with accessibility anyway, that's all in the UI. So as long as you have a UI you can control, you're fine
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae That's what we thought with Twitter and Reddit. Then they discontinued the API's. Those are just two recent examples of something that has happened dozens of times in the last 25 years. Slack discontinuing IRC is another. If I depend on an API that could be taken away at any moment, I have nothing. If there are no competing and interoperable implementations of the standard, you're just at the whims of the owner of the one true version.
2
0
0
0

User avatar
ArcaneChat @arcanechat@fosstodon.org
1d
@fastfinge you are comparing a web API of a central server to a local API of a library

which is completely wrong, for your information, ArcaneChat uses its own core that is a fork of the official chatmail core with some modifications and additions

you can do the same and of course you could implement a chatmail core in C# if you wanted to but it is a lot of useless uninteresting work reinventing the wheel while you didn't deliver anything useful to the users

@feld @jae
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@arcanechat @feld @jae And what happens when the local library is discontinued in order to force everyone onto the official clients? From what I can tell no other viable library exists. I never build on an app or library controlled by the same organization that controls the protocol for that reason.
1
0
0
0
User avatar
ArcaneChat @arcanechat@fosstodon.org
1d
@fastfinge for that first the whole client needs to become proprietary, and as said you can always fork it, as we are already doing, at that point then the community can keep developing the chatmail core

it will only mean a different group of people continuing the project, people don't last forever anyway so this is something that has to happen one way or another

@feld @jae
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@arcanechat @feld @jae But when deltachat includes proprietary features your fork is screwed because the protocol won’t allow capability negotiation. So deltachat still effectively controls you.
1
0
0
0
User avatar
ArcaneChat @arcanechat@fosstodon.org
1d
@fastfinge my friend, this can and is done all the same in xmpp

can your lil xmpp client communicate with WhatsApp or all the many custom proprietary xmpp platforms out there???

if Delta Chat does some "proprietary"-something at that point they will likely even turn off federation, I would not care to be compatible with them at that point, and the current federation of chatmail servers will continue to work all the same by voluntaries

@feld @jae
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@arcanechat @feld @jae Watsapp is not and doesn’t claim to be xmpp compatible. So who cares what they do? I don’t use them.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae If I don't like the c# library I'm using to build XMPP, I can rip it out and pick another one. There are like 6 to choose from. If they disable an API I needed, I can build it myself, or use a different library. Those are not options with deltachat.
2
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae why aren't they options? You can write your own little core in C# with pgp/imap/smtp and do it yourself and have your own API forever if you really want
2
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae Because the only way to find out all the implementation decisions deltachat has made is to examine the code. They're "based on" the standards they list, not compliant with them. If I write a core just with those standards as written, It's not going to work correctly with the deltachat app.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae until it was disabled by default on relays relatively recently, plaintext emails completely worked. Group chats. Video/image attachments. There's nothing quite as special about it as you think. If the MIME header is in the encrypted part, it reads that one. If it's plaintext, it reads that one.
2
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae you want to know what a group chat is? Subject is group name, chat members are just To/CC recipients. That's it.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae And that's documented where? Not in the RFCs, certainly. Deltachat has changed the semantic meaning of certain fields, and thus how a deltachat interoperable client must present them to users in order to limit confusion and achieve feature parody. There's "What CC means in deltachat land" and "What CC means in email". From a UI and UX and feature compatibility perspective those are critical differences.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae name one field they changed
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae You just did. "CC" in deltachat land is "group chat". That's not how a normal email client uses it.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae I didn't say that, I said an email thread is a group chat. Just throw the recipients in to/cc and it works.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae So what about the reply-to email address? What should my mythical interoperable client do with that? Or "on behalf of"? Do I mark large threads with the mailing list headers? Do I specify the msgid my email is in reply to in the headers or not? Are group chats expected to support threads or always be flat? A chatmail client can't be dfully compatible without documented answers to these questions. And the documents that answer those questions are usually, you know, the documents defining the standard.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae
So what about the reply-to email address? Or "on behalf of"?
why would you need to set a reply-to header? I guess you could but why?
Do I mark large threads with the mailing list headers?
it's not a mailing list and doesn't use mailing list style headers
Are group chats expected to support threads or always be flat?
Flat for now but it's possible to change the subject of a reply to make something that would be a subthread. Some email clients kinda work that way. I've asked but this isn't planned because there's no real RFC for this kind of thing. If you want a "subthread" you can literally just use the client functionality to clone that chat to a new one, set a new subject for the subthread, and continue there. It's basically a shortcut for starting a whole new group chat is all, nothing special.

You're overcomplicating it again.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae There is absolutely a standard for this; usenet and email has had the in reply to header for years. But now we know chatmail doesn't use it, I guess.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae I think you misunderstand: what purpose would this header possibly be used for in a chat client situation?
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae Showing message threads, the way slack and discord do, and having multiple threads in a single chat.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae you would use in-reply-to and on-behalf-of for that ? For a message thread?
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae in reply to, yes. See: cr.yp.to/immhf/thread.html
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae I'm sorry I kept reading "In-Reply-To" as just "Reply-To" and I was like "Why would you want the other person to reply to some other address??????"

Yes, In-Reply-To is used... that's the normal MIME header for threads, it has the . Which I told you an email thread is just a group chat. Both In-Reply-To and References are used.

I've never seen On-Behalf-Of used anywhere (at all, period, in all my years of email usage). I just searched my email archive going back 20+ years (all MIME headers are indexed) and I don't have a single email with On-Behalf-Of.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae And when this changed, how were the authors of third party clients notified? Was there an open discussion period at a standards committee or a request for comment? No, because the assumption is that everyone should just use libdeltachat. That's not how open standards work.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae that wasn't a client change that was a server change and people who didn't want it didn't deploy that server change.

you can still right now connect DeltaChat to regular email servers and send messages around unencrypted. I wouldn't recommend it but you can do it.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae But my client connects to the servers. If they make a change it's going to just break my client without notice. That's a change that needs to be reflected by a new version of some standards document, somewhere.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae connects to which servers? if you choose to use someone else's server, yes, you get their limitations like how large of an attachment they'll allow.

nobody is forcing you to use any servers operated by DeltaChat or running the Chatmail configuration
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae And what if I send a message to another deltachat user on a different server from mine? How should that be handled? Will they refuse it if it's plaintext? What will I get in return, and how do I surface that to my user? I'm certain it's going to be different from how an email client would handle it. Either way, there's no, you know, standards document documenting these kind of implementation requirements for my third party client. And no infrastructure for warning me when they are about to change, so I can let my user's know we're only compliant with chatmail standard version 5, but an update to bring the new features and requirements of chatmail version 8 is coming soon.
2
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae Also, if I choose not to implement deltachat apps in my chatmail client, what is the method of capability negotiation that I should use to indicate that to the deltachat app, and let that user/app know what features I do and do not support? What if I create shiny feature X? How do I tell deltachat to indicate support for that feature? Without those bits, any third party chatmail client is going to just break randomly for users, and nobody on either end will know why.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae
Also, if I choose not to implement deltachat apps in my chatmail client, what is the method of capability negotiation that I should use to indicate that to the deltachat app
You don't have to do anything, like Parla for example doesn't support WebXDC apps at all because it doesn't have a browser engine to run them in. The app is just a zip file with a .xdc extension. You could choose to just ignore those messages or display the attachment for download or do whatever you want really
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae So then my grandmother gets strange inexplicable zip files from her cousin who wants to play a Wheel of Fortune game together. And neither my grandmother nor my cousin can understand why it's not working. My cousin, in fact, would have no way of knowing the app she sent did not run. That's a terrible experience all around.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae what client is your grandmother running? A custom one that you wrote and you didn't implement all the functionality yet?

I gotta say Samuel it sounds to me like you really want to reinvent XMPP and the XEP hell where you never know what the other person's client actually supports
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae But because the standards are defined, and capability negotiation is part of them, you always know what the other person's client supports, and what both of your servers will allow. With deltachat, that's impossible. And my grandmother uses the console and runs a text based client. She can never run deltachat apps. But her client can never tell any other client it interacts with about that limitation.
0
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae
And what if I send a message to another deltachat user on a different server from mine? How should that be handled?
I don't know what you mean? It's just an email address, it gets sent by your email server like any other email.
Will they refuse it if it's plaintext?
They could, just like they can refuse a message with an attachment that's too big. But why are you trying so hard to send plaintext emails anyway?


Everything you've described today is like one-millionth as complicated as the mess you're dealing with in regards to multiple competing OMEMO standards and not knowing who has what, or trying to figure out which client has which XEPs
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae It's really not. To know what a server supports, you just ask it. And it will return the list of capabilities it has in a standard way. Same for other clients. Service and capability discovery are solved problems. Deltachat seems to just ignore them completely, because the expectation is that everyone should just use libdeltachat.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae you're talking about what a server supports, not what a client supports. How do you know if your friend's client can receive a call? That isn't communicated to your client in XMPP is it?
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae Yup, it sure does! XEP-0030 allows any client or server to be queried about exactly what features it does and does not support.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae but what if they didn't implement XEP-0030
2
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae Then they're not an XMPP compatible client, and servers should just drop them with an error.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae so there are non-optional XEPs that shouldn't be XEPs?
2
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae Why does the fact it's required mean it shouldn't be a xep? If someone wants to change how service discovery works, they can create a new xep. If everyone else agrees, after an open discussion on a standards mailing list, XEP-0030 can become deprecated, and the new service discovery xep will be the required one. Most current clients will probably implement both, but over the years new clients will only do the new xep, and eventually clients will slowly drop the deprecated one. This is how controlled transitions, and making changes to an open standard, work.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae If you check the xmpp website, there are many xeps that are marked deprecated. And many others marked not yet widely supported. Developers should implement accordingly, with full transparency into what the standard is now, what it's going to be in the future, and what it was in the past. This is the only way you can get thousands of different people and organizations to build things that all interoperate.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae Note that this is exactly how the fediverse works. Start with Activity Pub, then consult the list of feps. Nobody gets to say "just use libfediverse". The code is not the standard. codeberg.org/fediverse/fep
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae Some xeps are optional, and some are required. The XMPP standards are quite clear about what's optional and what is not.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae that's incredibly stupid tbh

this whole thing is terrible.

So XEP-0030 is only required by XEP-0073: Basic IM Protocol Suite, but that has been obsoleted and superseded many many times by XEPs which have become called:

XEP-####: XMPP Compliance Suites YYYY

So they kept rolling the expected core list of XEPs into new XEPs.

Except all the old ones are OBSOLETE and the latest one (XEP-0479: XMPP Compliance Suites 2023) is marked EXPERIMENTAL

So now people have to chase experimental XEPs to be part of the modern XMPP network. No stability?
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae You don't have to conform to XEP-0479. You can (and should) conform to the previous one. But you should also be working on the stuff in XEP-0479, because eventually it's going to not be experimental, so you should be thinking about how your client can be ready for that. Instead of having some random person make a configuration change, and surprise! The standard is now different in a way you didn't have like seven years to prep your code for.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae why should I conform to the one that's OBSOLETE though, this is just stupid
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae If someone cannot write a fully interoperable client, without examination of deltachat code, it's not an open standard. It's just a reference implementation.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @jae just want to be sure: have you ever seen this ? It was linked from the standards list

github.com/chatmail/core/blob/main/spec.md#chat-mail-specification
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae I did. But I submit that that's not enough for someone to go off and develop their own chatmail client, and then expect it to just work with deltachat. Whereas I can (and have) developed my own IRCV3 clients and had them "just work" without reference to anyone else's implementation, and am currently (though I'm using one of many libraries) developing a client that I can expect to "just work" on XMPP. For features I can't or don't want to implement, I can communicate to other servers and clients that users of my client don't have those features, I can know if another client supports a particular feature and give my user a friendly error if not, and I can do it all based on a normal looking jabber ID without requiring enormous web URLs that depend on the continued existence of deltachat's domains and servers. And my accessibility needs don't depend on the decisions and good intentions of some other organization.

Honestly, I like the idea of deltachat. I don't like the massive electron app, and I don't like being dependant on deltachat as an organization to do the right thing for accessibility. So I won't build any important workflows or relationships around it, or be part of any community that requires it.
2
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @jae Heck, just last week I contributed a pull request to this, as I was using and testing it to figure out what the ecosystem is like for third party clients and bots on deltachat: github.com/Simon-Laux/hermes-deltachat-platform/pull/2
1
0
1
0
@fastfinge @feld thanks for the pr on that repo, i pulled it in as well. @treefit and i are doing some interesting things with and i've also started an xmpp integration, but i'm stuck on implementation which i always seem to trip up on that xep
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@jae @feld @treefit I’ve done xmpp and Hermes’ already: github.com/fastfinge/hermes-xmpp-plugin
1
1
1
0
@fastfinge @feld @treefit just wired it up to both agents. works nicely. may have a pr for you with some ideas soon
1
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@jae @feld @treefit I would love prs. Data forms interactions also need love. I don’t use those features myself so they’re not battle tested.
0
0
1
0
User avatar
ArcaneChat @arcanechat@fosstodon.org
1d
@fastfinge
without requiring enormous web URLs that depend on the continued existence of deltachat's domains and servers
this is actually a misconception, there is no need or dependency on any delta chat URL, the invite links i.delta.chat are just a nice clickable representation of the actual invite link that is a openpgp4fpr:... link and you can easily convert an i.delta.chat link into openpgp4fpr

@feld @jae
0
0
0
0
User avatar
ArcaneChat @arcanechat@fosstodon.org
1d
@fastfinge
If I don't like the c# library I'm using to build XMPP, I can rip it out and pick another one
which already implies they each have different features or lack thereof, which is exactly the exact same situation you have in XMPP with a lot of fragmentation,

in fact, it is better if people don't create their own chatmail core implementation

if Delta Chat becomes evil, the core is open and you can just fork it and keep using it, no one can take anything away from you

@feld @jae
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@arcanechat @feld @jae If deltachat doesn’t want people indipendantly authoring libraries that use its protocol it is not an open standard. End of story.
2
0
1
0
User avatar
ArcaneChat @arcanechat@fosstodon.org
1d
@fastfinge if you don't want to have a shared-effort security-audited implementation that everyone uses, but instead waste resources with several people re-implementing the wheel and causing incompatibility between clients, assuming people want to have to deal with "ah Paul your client don't support this and that"

then in fact, you will only make more damage than help the chatmail ecosystem, please, keep ruining xmpp 🙏

@feld @jae
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@arcanechat @feld @jae Deltachat is just as much of a poison to openness as Bluesky and threads. All marketing and vibes to capture users.
1
0
0
0
User avatar
ArcaneChat @arcanechat@fosstodon.org
1d
@fastfinge not at all, but you are free to have your own wrong opinions, have a nice day

@feld @jae
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@arcanechat @fastfinge @jae if XMPP's design by committee process was in any way conducive to producing good results we'd have multiple high quality cross-platform XMPP clients right now that would make nobody care about Telegram or Signal or Whatsapp because literally all the same functionality is implemented (the XEPs are there, it should be possible!) and it would have the largest network effect because zero lock-in, so there would be no excuse to not be using XMPP

But there's zero high quality cross-platform XMPP clients because this process doesn't work

and then Delta Chat makes the right decisions:

- build a quality core everyone can use which guarantees compatibility and an even playing field of security (not even Signal can claim this -- e.g., each app has a completely different networking implementation)

- build an app for each major platform and make them as identical as possible -- originally built off a good design that users are comfortable with: the actual Telegram client

- publish them all under the same name/logo because modern users think of "platforms" not "protocols"

- do the groundwork to be prepared if the app ever gets blocked/banned or Merlinux sued/shutdown so the same Delta Chat app can be published under a different name by someone else

- work hard to produce RFCs that are useful for everyone, not just Delta Chat (e.g., AutoCrypt v2 is meant to be used for ANY protocol, not just Delta Chat / email -- which is also co-published by someone from IETF/ACLU, an active OpenPGP member, and a Delta Chat member)

- provide a ton of documentation and user support resources

- provide a realtime feedback channels to all interested parties who are running their own Chatmail Relays

- bend over backwards to provide extensive backwards compatibility

- be actively involved with helping real groups of disadvantaged people around the world who suffer under oppressive governments, actually fly to remote places and provide information and training

- provide more details of the project's funding methodology than probably any other open source project that has existed

- actually go to court to fight for users' rights (e.g., Delta Chat in Russia last summer)

but this is just not enough for some people and either the project is considered too opaque/proprietary, or gets complaints that they shouldn't be using email this way
2
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @arcanechat @jae Those all sound like intentionally promoting lock in to me. The long and short of it is: tomorrow deltachat could wake up and decide it doesn’t care about screen readers anymore. When they do, I’m locked out. That makes deltachat a danger to me and my community, and is just not possible to lock us out of xmpp in the same way, even if people wanted to. Until that changes, I have to treat deltachat the same way I treat any other hostile closed protocols: don’t depend on, promote, or trust it.
1
0
1
0
@fastfinge @feld @arcanechat i have macular degeneration. im moving to screen reader mode more frequently and eventually totally as its rapid. this affects me also now that ive had time to digest this very short thread
1
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@jae @feld @arcanechat I should clarify that deltachat is currently really really good about accessibility. But so was Twitter, once. Organizations change. And if you have a disability, you always have to have a plan for that, for every tool you use. When accessibility breaks, you need to be certain you have a way out. Preferably one that doesn’t involve forcing all of your friends to change apps, yet again. I don’t care how much they love you: you can probably get them to change once. But not twice.
3
0
1
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @arcanechat @jae which XMPP client are you using that has good accessibility, is open source, and you don't have to worry about rotting in the app store and eventually just getting removed?
2
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @arcanechat @jae Monal on iOS and Mac. Miranda-ng on windows. But in both cases I have at least one other option if they break.
2
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @arcanechat @jae And in the case of Miranda ng I think I can do better. But even if I can’t, Miranda is fine.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
23h
@jae @feld @arcanechat Yup, Monal is excellent. And actively developed; builds supporting new features are in testflight.
1
0
1
0
@fastfinge @feld @arcanechat i'm only recently re-entering the apple ecosystem (mostly bsd+linux) so looking forward to trying the newer builds. thanks for the tip, sir.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
23h
@jae @feld @arcanechat No worries! I'm assuming what's prompting your exit is your need to use screen readers more? I really do like the ideas behind BSD and wish I could actually use it. I think my fanatical dedication to openness in this thread makes it clear I would be on BSD or Linux if it was actually viable for me.
1
0
1
0
@fastfinge @feld @arcanechat accessibility plays a big part, but also having something "just working" that i dont have to think much about while i code or work on infra. i won't abandon bsd or linux anytime soon, but likely will be shifting it all to machine/server side vs daily driving a *nix box near-term.
0
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @arcanechat @jae And if worst came to worst, there’s always bitlbee. There’s no world where I could find myself unable to chat on xmpp.
0
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @arcanechat @jae I've been fortunate enough to convince them to change many times, so I guess they really really love me

IRC to GTalk to XMPP (bc gtalk shutdown) to Whatsapp (because XMPP was miserable) to Telegram to DeltaChat
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @arcanechat @jae Or you have techy friends. But even if they’d agree, I’m not teaching my elderly relatives deltachat just to have to teach them something else when, not if it breaks accessibility.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @arcanechat @jae kinda ironic tbh as elderly users are one of the biggest success stories of Delta Chat especially as they never have to think about the concept of a username or password
2
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @arcanechat @jae Yes, like I say, DeltaChat has some good ideas. They've just chosen to implement them in a closed way. Same with BlueSky; I like a lot of what they do. But I will never promote using a protocol where the same organization controls both the standard and its single implementation. Because that's not open.
0
0
2
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @arcanechat @jae You can do passwordless XMPP. Nobody does, but you can. And there's a standard for it. So when one or more people eventually do, it'll work in both apps that decide to do it, in the same way.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @arcanechat @jae "Nobody does, but you can." should be the tagline of XMPP honestly
1
0
2
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @arcanechat @jae And "Just use our client and our library and our invite links, because that's what openness means," can be the tagline of deltachat.
1
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
23h
@fastfinge @arcanechat @jae the invite links situation is well under its way to being solved precisely because of censorship and single point of failure sorts of things

but anyway -- if someone already has Delta Chat app installed, they never actually access
i.delta.chat as the app intercepts the URL
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
23h
@feld @arcanechat @jae That's good. Now once there's a viable implementation not using deltachat's libraries or controlled by deltachat, and a way for the two clients to negotiate capabilities so they aren't forced to just be identical, I can happily use and promote it. Deltachat has good ideas. It's just not safe for me, or anyone else with a disability, to risk becoming dependant on. Because "small open-source underfunded organization stops caring about accessibility" is a far more likely threat to my use-case than "government blocks my instant messenger". It's also a threat that has happened repeatedly, and will continue to happen.
1
0
0
0
@fastfinge @feld @arcanechat i've experienced this moving people off of signal -> deltachat. now that i'm looking at other possibilities, the feedback so far is not great.
0
0
0
0
User avatar
wafflesies @wafflesies@infosec.exchange
1d
@feld @fastfinge @arcanechat @jae isn't whatsapp just xmpp in the backend? Could be mistaken but maybe the solution is throw billions of dollars at something and it'll come out popular and polished
2
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@wafflesies @feld @arcanechat @jae I think it’s signal not xmpp.
0
0
2
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@wafflesies @fastfinge @arcanechat @jae correct, WhatsApp is just XMPP in a trenchcoat

Same with iMessage. And all push notification stuff on iOS/MacOS (APNS) is also just XMPP messages.

There's a bunch of IoT stuff out there using XMPP as well (and in some rare cases Matrix, but
why would you do that, it's a blockchain essentially, what a huge misuse)

Tons of XMPP out there in the world, but mostly for specialized use cases or proprietary messenger implementations because clearly trying to work with the standards body means you won't get to deliver anything to users until next decade instead of today


edit: Yes Whatsapp is XMPP, it was ejabberd running on FreeBSD servers
1
0
1
0
User avatar
Johnny Peligro @mischievoustomato@tsundere.love
1d
@feld @fastfinge @arcanechat @wafflesies @jae xmpp shines when its anything but decentralized
cc
@anemone
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@mischievoustomato @anemone @feld @wafflesies @arcanechat @jae This is not at all correct. WhatsApp uses the Signal Protocol. No relation to XMPP. en.wikipedia.org/wiki/Signal_Protocol
3
0
1
0
User avatar
Johnny Peligro @mischievoustomato@tsundere.love
1d
@fastfinge @anemone @feld @wafflesies @arcanechat @jae thanks for pointing it out
but otherwise people cite xmpp's usage by proprietary implementations as a "win" yet its all centralized
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@mischievoustomato @anemone @feld @wafflesies @arcanechat @jae I dunno, even APNS seems to have moved away from being based on XMPP. It was around 2012, back when apple had iChat and supported XMPP services in it. But once they moved to iMessage, APNS started using port 443, and I see no modern evidence whatever they're doing is XMPP.
1
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@anemone @feld @mischievoustomato @wafflesies @arcanechat @jae The only people I'm pretty sure are still using a proprietary version of XMPP are Nintendo, of all people. And that only because they posted jobs once or twice looking for folks with Jabber experience. But I'm not a gamer so I have no idea what they're doing with it.
0
0
0
0
User avatar
wafflesies @wafflesies@infosec.exchange
1d
@fastfinge @anemone @feld @mischievoustomato@tsundere.love @arcanechat @jae oh yeah just use that then easy
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@wafflesies @anemone @feld @arcanechat @jae The trouble with The Signal Protocol is it doesn't federate. So you can never exchange messages with people who don't use your particular app and server infrastructures. The Signal Protocol is mostly useful from the perspective of library developers.
0
0
0
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @anemone @mischievoustomato @wafflesies @arcanechat @jae Signal/Noise protocol is for E2EE, not what's inside. What's inside is a custom binary implementation of XMPP essentially

Here's a repo of someone reverse engineering this protocol:

github.com/raphaelvserafim/whatsapp-binary/

There's XMPP in there still, but they ripped out all the parts they didn't want or didn't scale
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @anemone @mischievoustomato @wafflesies @arcanechat @jae Interesting. Maybe the EU gateway provider thing will force them to federate again. Though I doubt it.
1
0
1
0
User avatar
Only 3 Easy Payments of $19.95 @feld@friedcheese.us
1d
@fastfinge @anemone @mischievoustomato @wafflesies @arcanechat @jae they'll do what everyone else is doing: spin up a company with a couple employees, build a proof of concept messenger that "federates" but restrict who can actually use it, then tell the EU gov that you satisfied their requirements because another company can interoperate with their network
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1d
@feld @anemone @mischievoustomato @wafflesies @arcanechat @jae Yes, probably. That's why I said I doubt it. And even if they did, we'd all block them just like the entire fediverse decided blocking threads was worth shooting ourselves directly in the face.
0
0
1
0
User avatar
rakoo @rakoo@blah.rako.space
15h
@fastfinge
Deltachat doesn't care that you're doing your own independent implementation. You can do your own, just like you can do your own http implem or json implem. The balance here is on where you want to bring value: to the ecosystem first, or to the users first. The claim is that for the same you can't prioritize both at the same time, for the same amount of work you either truly push on one side or the other or make mild improvements to both.

A high-quality C# core would certainly be high value. I can't stand rust and I can't even compile chatmail core, it takes too much resources. The ecosystem would greatly benefit from your work !

@feld @arcanechat @jae
1
0
1
0
@rakoo @fastfinge @arcanechat @feld even on a strong machine compiling rust core causes a fever. fastfringe if so inclined could likely add a lot of value in the user side.
0
0
0
0