‹ BackHN Continuity

Thread

Parley: Federated, decentralised chat that speaks plain IRC

330 points · 190 comments · davidcollantes

  1. Conlectus · · focus · HN ↗
    There’s a specific downside to LLM-based development that people can get neck deep in a new project without interfacing with the existing work in the field.

    In this case, this is basically a poorly specified implementation of half of XMPP. Of course, I half expect the LLM would have mentioned that at some point, but the repository does not.

    1. dale_glass · · focus · HN ↗
      Unfortunately XMPP is an absolutely terrible protocol. IRC's not much good either, but at least it has the excuse of being ancient and limited in what it wanted to achieve.

      I don't know how it just happens that sending text messages to people can manage to result in specs that are painful to implement.

      1. monkeywork · · focus · HN ↗
        >Unfortunately XMPP is an absolutely terrible protocol

        Can you provide more details here? I've never seen an issue with the protocol at all, more issues with feature difference between servers depending on what they have decided to implement or not.

        1. dale_glass · · focus · HN ↗
          Other people provided some info:

          <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9772968">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9772968

          <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31133082">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31133082 (article and discussion)

          But TL;DR:

          * It&#x27;s hard to even parse, XMPP uses an uninterrupted XML stream. * The contents are often baroque and complex * Standards are a mess, and stuff that should be in core isn&#x27;t * Data loss is possible * Protocol wasn&#x27;t made for mobile devices * Multiple devices are terribly supported * Data loss is possible

          From my attempts long ago, and other testimonials, writing an XMPP client is a full time job of solving weird problems that shouldn&#x27;t exist in something better designed.

          1. fishgoesblub · · focus · HN ↗
            Regarding the part part: <a href="https:&#x2F;&#x2F;www.process-one.net&#x2F;blog&#x2F;stop-telling-us-xmpp-should-use-json&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.process-one.net&#x2F;blog&#x2F;stop-telling-us-xmpp-should...
            1. p2detar · · focus · HN ↗
              &gt; We hear this too often: “XMPP uses XML. It should use JSON—it’s more modern.”

              I can&#x27;t take this write-up seriously if it starts like that. I still read the whole thing though and I couldn&#x27;t find any solid argument as to why someone would prefer XML to JSON for XMPP.

              &gt; This is especially true in browser environments, where XMPP streams run over WebSockets, which naturally frames the XMPP protocol. That’s why you are never actually working with XML trees consuming large chunks of memory. Modern implementations like XMPP.js go further and use LTX—a lightweight parser built specifically for XMPP’s streaming model—rather than the browser’s DOM parser. The result: developers work with JSON-like objects anyway. The wire format becomes invisible to your application code.

              That to me, is an argument for using JSON, not XML. XML is strong when you have elements referencing other elements in your document structure or DOCTYPE for grammar defs. I might be missing something but I don&#x27;t get how streaming XML is to be preferred over JSON for XMPP.

              1. Dylan16807 · · focus · HN ↗
                If it was actually using XML as a markup language then that would be a reason to stick with it. But XML seems to be complicating things much more than it simplifies.

                &gt;&gt; XML remains the best format for representing trees—deep hierarchies of nested data. JSON handles flatter structures well, but good messaging protocols are extensible: extensions can be embedded at different levels and composed together, like Lego bricks. That’s where XML shines.

                Anything reasonable you&#x27;d be doing with messaging protocol is pretty flat.

                1. someonebaggy · · focus · HN ↗
                  It should be JSON with embedded XML for message text markup, playing to each ones strengths... not combining two sets of weaknesses by framing in XML and then using Markdown to format the messages.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.