XMPP seems to be moving away from that as it is impossible to do reliably with the current brokenness of the internet. The current hotness involves uploading the file to the XMPP server and then just providing a https link to the other client(s). The contents can be encrypted but client support is spotty. So sometimes you have to trust the server. Still way better than the old thing.
I am personally not at all sad if my IM client can't do audio/video. Just let me send a damn text message and have it come out at the other end reliably.
Could be even more cool if you could just post a file to a group chat and it would be shared via BitTorrent behind the scenes.
> I am personally not at all sad if my IM client can't do audio/video. Just let me send a damn text message and have it come out at the other end reliably.
I agree. I can hardly see why texting and voice calling is always meant to be done with the same app.
So why won't somebody just make a great XMPP client with all the features, make it closed-source and commercial and earn money from it? They could make 3 versions: enterprise with some enterprise features (like CRM/LDAP integration etc), standard and adware - I would gladly buy the second or use the first if the ads were unintrusive and not personalized with my personal data like messages text or contacts.
People make instant messengers, why does everybody have to invent their own protocol? Is XMPP actually so hard to implement?
Pidgin is quite lacking as far as Carbons and OMEMO is concerned. Last time I checked you need to install custom plugins, issue text commands to configure the plugin, issue different commands to trust/distrust OMEMO keys etc. It's a lot of work which is probably partly due to the fact the libpurple tries to handle a lot of different protocols using a more-or-less transparent API. It does a fairly good job with most protocols (including proprietary ones through plugins; like hangouts [1]) but unfortunately its XMPP support is not really up to modern standards without effort (much more so than Gajim).
Dino is good and I think they solved some OMEMO compatibility issues they had. But it's Linux only. This is not necessarily bad since they can do much better work by focusing on a specific platform, both functionality- and aesthetics-wise. It's too bad there isn't anything comparable on Windows/Mac.
[0]: https://dev.gajim.org/gajim/gajim/wikis/help/GajimXEPSupport
[1]: https://bitbucket.org/EionRobb/purple-hangouts/wiki/Home
The only solution out there that supports cross platform JINGLE is AstraChat[^1], which is closed source and commercial, but they lack OMEMO and Carbons.
Conversations on Android has both OMEMO and Carbons, but no audio/video or p2p transfer files.
Pidgin, Empathy, Gajim, etc are lacking behind with features, though Pidgin can be made reasonable up to date, still without JINGLE[^2].
Dino[^3] is promising, but it linux only.
I don't know how Trillian is doing these days.
[^1]: https://astrachat.com/
[^2]: https://petermolnar.net/instant-messenger-hell/#adding-netwo...
[^3]: https://dino.im/