Hacker Newsnew | past | comments | ask | show | jobs | submit | mickael's commentslogin

You need a stream parser like expat. No need to code your custom parser and once you settle at level n+1 in the XML it is just like parsing independent document. But again, the parsing is hidden by existing XMPP library, so you do not even need to go to that level of details.


I meant for implementing the protocol of course. If you don't have to implement it, then of course it does not matter as much if it's bad or not.

At the time I was looking into it closely, there were issues with XML, like with the starttls messing the original document, there were issues with XML validation (for xml namespaces I think?), and other minors arrangements with the XML spec such that using a normal pull parsing lib was not enough to solve all problems. But it was quite a long time ago (10+ years), possibly that have been solved for a while.


in term of practical impact of using XML like this, at the time, the server has to practically parse everything that was in the content of messages not addressed to the server itself. I would imagine a reasonable protocol should separate addressing from the content in such a way that the router doesn't have to parse all the content to do its job


You should compare it to other messaging protocol. You may change opinion, as it is actually elegant, modular and quite versatile. It managed to adapt over 25 years which I think it is quite a testimony. All messaging apps from that time disappeared.


I do not understand who could deploy a nationwide chat and support those costs.


I have written an article explaining the difference between Matrix and XMPP, and why it cannot be as scalable by design.

You can read it here: https://www.process-one.net/blog/matrix-and-xmpp-thoughts-on...

TL;DR: Matrix protocol is based on document replication and synchronisation, while XMPP is based on message passing. Matrix requires to constantly replicate and merge the data. It is an intended feature, but as it does more, you cannot expect to scale to the same level.

That said, we want ejabberd to be able to suit all types of messaging needs and we have already implemented 1-to-1 gateway with Matrix server inside the protocol. We are fine tuning our chatroom interop with Matrix. It means that we have already most of the code in place to support Matrix chat (as we need to implement the replication part). It means, the next step could be to implement full Matrix support for those who would rather use Matrix clients.

Disclosure: I am ProcessOne Founder, XMPP developer since 1999 and working on ejabberd since 2002.


Yes, I confirm you can build the same starting from ejabberd. A lot of changes are related to the ability to scale horizontally only some subcomponents, to fine tune the processing power, and also things that are related purely to Whatsapp infrastructure.


I have been using an event XML parser to process XML on iOS (such as expat). You can processed the XML as a stream and it is very efficient.


I have been funding Murena, because it’s probably the most ambitious and challenging project that aims to make the world better. We need to make the tech an opportunity again for people, to make it work for the people.


Exploring the 'Commons' in the digital economy. I discuss the French government's endorsement of a proprietary messaging platform, highlighting a deep misunderstanding of key digital dynamics.


I am using Obsidian as well and I am considering using an Android eInk tablet (Like a Boox), with a keyboard to be able to use Obsidian. I may give it a try it some day.


Please share your experience!


Thanks for this repo :) I also writes in French, but decided to switch to Qwerty layout a while back to get access to a wide-range of nice keyboard. Very happy with this move. I know this will not help you right now, but just saying you may not totally stuck to AZERTY forever.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: