- contrapunctus is working towards either extending an old Common Lisp XMPP client library, or writing a new one
-
thomaslewis
cl-xmpp?
-
contrapunctus
thomaslewis: hey 🙃️
-
contrapunctus
Yes, that one.
-
thomaslewis
I was looking to update it but didn’t see a reason for what I’m (sometimes) working on.
-
contrapunctus
I tried connecting using it before, but I was informed that the way it authenticates is no longer supported by modern servers.
-
thomaslewis
Were you using the TLS connection function?
-
contrapunctus
Not sure if I was, so I tried again.... ```cl * (ql:quickload :cl-xmpp-tls) * (defvar *connection* (xmpp:connect-tls :hostname "616.pub")) <?xml version='1.0' ?><stream:stream to='616.pub' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> UNHANDLED: #<xml-element stream:stream (6attr:0child:0data) {1007952EE3}> UNHANDLED: #<xml-element stream:features (0attr:1child:0data) {10043953C3}> <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/> UNHANDLED: #<xml-element proceed (1attr:0child:0data) {10044FA8B3}> ; Evaluation aborted on #<simple-error "Unexpected reply from TLS negotiation: ~a." {10044FBBA3}>. ``` ...task failed successfully?
-
thomaslewis
I think there’s an option/function for STARTTLS. I’d have to look at the code again.
-
thomaslewis
Those are just unhandled elements. The connection is created. I try to auth, though, and get an ssl-write syscall error.
-
contrapunctus
> https://harmonyapp.io/ > Protobuf is the new JSON https://github.com/harmony-development/protocol/issues/77
-
contrapunctus
lovetox: > i wonder how many chat apps humanity will build 42 😏️
-
edhelas
contrapunctus time to release XEP-xxxx: Protobuf over XMPP
-
contrapunctus
heh
-
contrapunctus
So, as someone who's never worked on XMPP anything before...how much work can an XMPP library take away from writing an XMPP client?
-
Kev
Quite a lot.
-
edhelas
About that much yes
-
contrapunctus
I mean...how many hours would it take a single developer to write a client (compliant with the advanced client compliance suite) starting with an XMPP library vs starting with a DNS, TLS, and XML library?
-
contrapunctus
(I say "hours" to avoid ambiguity, but perhaps "X days/months assuming Y hours a day" would be equally clear.)
-
defanor
That'd vary depending on one's familiarity with XMPP, the DNS/TLS/XML libraries (and whether alternative ones are to be supported), perhaps the used programming language, on whether you're going to implement additional/generic bits that aren't in the compliance suite, perhaps whether some WebRTC library is going to be used, or you'll deal with ICE/DTLS/SRTP/audio manually. I think it may be something in the vicinity of a couple of months working full-time to make a compliant library alone, but estimates are hard even for better defined projects. Could be a couple of years or decades as well.
-
contrapunctus
_shudder_
-
defanor
I find that generally it works fine to use additional libraries at least for a prototype, then handle alternative libraries and/or make them optional. A lazy/delayed version of yak shaving.
-
lovetox
contrapunctus, i rewrote a library from scratch, and this is a big project. It depends very much on your familiarity with xmpp, and how experienced you are a software developer and there especially with library design. If you have no experience you probably write the library 3 times. If you have no experience with xmpp you often need to rewrite parts, because without knowing what specs there are, and knowing them indepth, its very hard to make good decisions about your library design.
-
lovetox
also if you dont have a good lib to begin with you spend very much time on the lib, very little on the client GUI, which means after months of work, you have nothing really to show, under the hood it may look good, your client UI still looks like shit and does not work half of the time
-
contrapunctus
lovetox: thanks for the insight 😶️
-
lovetox
another proble is you need to choose your dependencys wisely
-
lovetox
choosing the wrong xml lib, and you rewrite the lib again at a later point
-
pulkomandy
I'd say the XMPP world need better GUIs and not really more libraries or backend implementations, too?
-
MattJ
I think it would certainly be beneficial if there was more code reuse, yes :)
-
MattJ
I think we average too close to 1 library = 1 client
-
Zash
Perhaps that Official SDK wouldn't have been so bad
-
moparisthebest
I think there's a good reason for that really
-
moparisthebest
The way a library author structures the library often defines what kind of UI you can make etc, also most try to do... Too much? To the point that implementing a new XML element requires you jumping through so many hoops you give up and go with your own library
-
Sam
^