<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: ara4n</title><link>https://news.ycombinator.com/user?id=ara4n</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 16 May 2026 10:49:10 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ara4n" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ara4n in "Dropbox has open-sourced Zulip"]]></title><description><![CDATA[
<p>Yup, agreed. We're planning to provide domain vhosting (ie point the SRV for your domain to matrix.org and you'll get your own server instance) which should help a bit, although doing that for free could start to get uneconomic. We also need to work out a nice way to let users migrate between providers.</p>
]]></description><pubDate>Sat, 26 Sep 2015 09:34:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=10282634</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=10282634</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10282634</guid></item><item><title><![CDATA[New comment by ara4n in "Dropbox has open-sourced Zulip"]]></title><description><![CDATA[
<p>We're still alive and going strong - currently supporting glossy client development like Vector.im and building out bridges to as many other networks as possible (IRC, Slack, HipChat etc) using <a href="http://github.com/matrix-org/matrix-appservice-bridge" rel="nofollow">http://github.com/matrix-org/matrix-appservice-bridge</a> and similar. In terms of being picked up by a large user base... yes, we need it if we are to be really relevant. And that means relying on folks like those commenting on this thread to try using it, contributing to it, and help us make it better.</p>
]]></description><pubDate>Sat, 26 Sep 2015 07:17:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=10282416</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=10282416</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10282416</guid></item><item><title><![CDATA[New comment by ara4n in "Dropbox has open-sourced Zulip"]]></title><description><![CDATA[
<p>[Matrix lead here] The open source clients for both Matrix and XMPP are improving a lot currently. On the Matrix side there's vector.im; on XMPP there's Kaiwa and Conversations.im. If you want to help break the fragmentation and have an open standards based approach please run the clients and help us make them better - it is open source, after all!</p>
]]></description><pubDate>Sat, 26 Sep 2015 07:12:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=10282406</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=10282406</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10282406</guid></item><item><title><![CDATA[New comment by ara4n in "Dropbox has open-sourced Zulip"]]></title><description><![CDATA[
<p>Whilst we're not trying to replace XMPP, Matrix.org does provide an entirely different architecture (decentralised and evetually-consistent history, high baseline feature set, HTTP-based, etc) that can be used for group chat/VoIP/etc.</p>
]]></description><pubDate>Sat, 26 Sep 2015 07:03:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=10282393</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=10282393</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10282393</guid></item><item><title><![CDATA[New comment by ara4n in "Dropbox has open-sourced Zulip"]]></title><description><![CDATA[
<p>Matrix.org is heavily inspired by Wave, albeit using HTTP rather than XMPp, for those searching a more alive option :)</p>
]]></description><pubDate>Sat, 26 Sep 2015 07:00:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=10282387</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=10282387</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10282387</guid></item><item><title><![CDATA[New comment by ara4n in "Dropbox has open-sourced Zulip"]]></title><description><![CDATA[
<p>This is precisely the problem we're working on with Matrix.org - providing a standard API that can be used to bridge together all of these different protocols in one decentralised model. It's better than Trillian in that the defragmentation happens serverside and you can use any compatible client with it (or one of the existing services if you prefer). For instance, we turned on our first Matrix<->Slack bridge this week - see <a href="https://github.com/matrix-org/matrix-appservice-bridge/blob/master/HOWTO.md" rel="nofollow">https://github.com/matrix-org/matrix-appservice-bridge/blob/...</a> for how easy it was.</p>
]]></description><pubDate>Sat, 26 Sep 2015 06:57:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=10282384</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=10282384</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10282384</guid></item><item><title><![CDATA[New comment by ara4n in "Mattermost: Open-source, on-premises, Slack alternative"]]></title><description><![CDATA[
<p>For now, it's an implementation detail (rather than specced) as to how homeservers persist their state. The synapse implementation stores all data unencrypted in sqlite or postgres - /however/ that data may be end-to-end encrypted (we are releasing our e2e support over the course of this week - the first bit of the puzzle can be seen at <a href="http://github.com/matrix-org/olm" rel="nofollow">http://github.com/matrix-org/olm</a>). We should probably store all data AESed in the db to avoid casual snooping too.<p>This doesn't obfuscate metadata like room membership or profile data however; but fixing this is Hard. For now it's just a fact of life that Matrix servers have visibility on communication metadata - i.e. the identities of who talks to who, and when, and with what kind of event. In future we may support better privacy preserving semantics by evolving the federation architecture: eg running homeservers on clients and using Pond-style hidden Tor services for message transport, or layering on GNUnet as a transport. We've tried to design Matrix to support this sort of evolution, but right now today Matrix provides the same level of metadata privacy ss (say) an IMAP or SMTP server.</p>
]]></description><pubDate>Sat, 27 Jun 2015 22:08:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=9791677</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=9791677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9791677</guid></item><item><title><![CDATA[New comment by ara4n in "Mattermost: Open-source, on-premises, Slack alternative"]]></title><description><![CDATA[
<p>There's no harm in having loads of options - you just get a Darwinian survival of the fittest for which app works best. Competition is healthy.<p>The thing that sucks is that as end users we end up having all our chats and identity fragmented over all these different silos - be they selfhosted ones or proprietary SaaS. There's no way I'll rely on MatterMost or any of the above unless I can access my existing communities (be they on IRC, XMPP, Slack, HipChat or whatever); adding yet more fragmentation into the mix helps nobody.<p>This is why it's vital to have an open standard for decentralising the conversations between all these different islands that kills fragmentation whenever a new one pops up. And it's actually beneficial to new contenders like MatterMost as it could help them onboard users into their UX and app without having to start new conversations and contacts.<p>[Disclaimer: Matrix.org is such a standard, providing an open HTTP API for decentralised chatrooms, and I work on it.]</p>
]]></description><pubDate>Wed, 24 Jun 2015 13:11:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=9771269</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=9771269</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9771269</guid></item><item><title><![CDATA[New comment by ara4n in "Pidgin working on implementation of Facebook Messenger protocol"]]></title><description><![CDATA[
<p>The client-server API of Matrix only uses http+json as the lowest common denominator baseline for compatibility. Folks are more than welcome to implement custom more efficient transports like COAP/CBOR or whatever.<p>The server-server API is currently just targetting https+json just for expedience in getting started, but nothing to stop us negotiating more efficient transports in future - capn proto has come up a lot in conversation as a possible option. Handling signing is a bit more fun as we currently rely on signing canonical json, but surmountable.<p>As for binary transfers... well, random blobs are just handled as pure HTTP with a mimetype currently :)</p>
]]></description><pubDate>Mon, 15 Jun 2015 20:58:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=9722047</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=9722047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9722047</guid></item><item><title><![CDATA[New comment by ara4n in "Matrix – An Open Standard for Decentralised Persistent Communication"]]></title><description><![CDATA[
<p>This would be a really cool use for Matrix - the eventual consistency and offline operation stuff is a perfect fit :D<p>You <i>don't</i> need an email address to sign up currently - the way it works is that it's up to the homeserver to decide how to validate new users (if at all).  So Matrix.org uses a CAPTCHA to check you're human, but otherwise just sends a username & password.  We also let you optionally specify a mail address, mainly just to prove that we do support validating 3rd party IDs like email (and in future MSISDNs and other IDs).<p>For gatewaying, the main thing we've been missing is an Application Service (AS) API on Matrix which lets your gateway masquerade multiple users & rooms/channels from the remote protocol.  Currently you can write a back-to-back bot which creates, per user, an IRC user on the IRC network and a Matrix user on the Matrix network and bridges them together - this is how the current Matrix<->IRC bridge works.  This sucks if you want to easily project hundreds of users & channels from IRC into Matrix and vice versa, though - you need better server support, a bit like IRC Services' architecture.<p>The good news is that this is <i>very</i> nearly implemented - we got our first AS up and running a few hours ago (it currently just logs traffic rather than bridging it anywhere).  It's all happening on the application-services branch of <a href="https://github.com/matrix-org/synapse" rel="nofollow">https://github.com/matrix-org/synapse</a> and the doc is at <a href="https://github.com/matrix-org/matrix-doc/blob/application-services/drafts/application_services.rst" rel="nofollow">https://github.com/matrix-org/matrix-doc/blob/application-se...</a> and <a href="https://github.com/matrix-org/matrix-doc/blob/as-http-api/drafts/as-http-api.rst" rel="nofollow">https://github.com/matrix-org/matrix-doc/blob/as-http-api/dr...</a> if you're interested.<p>Twisted is probably overkill for many ASes, but it could be a great way to do the XMPP & IRC bridging in future.</p>
]]></description><pubDate>Thu, 05 Feb 2015 16:06:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=9003912</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=9003912</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9003912</guid></item><item><title><![CDATA[New comment by ara4n in "Matrix – An Open Standard for Decentralised Persistent Communication"]]></title><description><![CDATA[
<p>There is no link between RedMatrix and Matrix.org - the fact that both have Matrix in the name is total coincidence.  On the Matrix.org side, we came across RedMatrix for the first time a few months ago when stumbling across <a href="http://lists.w3.org/Archives/Public/public-fedsocweb/2013May/0061.html" rel="nofollow">http://lists.w3.org/Archives/Public/public-fedsocweb/2013May...</a> in Google, which then linked from Friendica/Red to RedMatrix.<p>I've never played with Friendica/Red/RedMatrix/Zot, but from what I can see, it's more about federated blogging/social networking than messaging or pure JSON synchronisation like Matrix.  Architecturally I'm not sure how they compare - I only just found <a href="https://github.com/friendica/red/wiki/zot" rel="nofollow">https://github.com/friendica/red/wiki/zot</a>; we'll have a read and see what the difference is.<p>Something we're very keen to do with Matrix.org is to build as many gateways and bridges through to other comms ecosystems as possible - so the fact that both Matrix.org & RedMatrix (& Diaspora & Identi.ca & all the others) are operating in a similar space isn't at all a problem - so long as they all talk to each other.  It'd be a bit embarrassing if we were building federated communication systems which couldn't gateway to each other!</p>
]]></description><pubDate>Thu, 05 Feb 2015 15:53:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=9003833</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=9003833</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9003833</guid></item><item><title><![CDATA[New comment by ara4n in "Matrix – An Open Standard for Decentralised Persistent Communication"]]></title><description><![CDATA[
<p>Yes, it's deliberately much harder for this failure mode to happen:<p>1. Matrix's baseline featureset is much more comprehensive than XMPP and doesn't yet support API extensions; only datatype extensions. So for a Google to become the defacto implementation and then start lobotomising the featureset they really would not be speaking Matrix at all any more.<p>2. Federation is completely fundamental to Matrix. All rooms are distributed over all participating servers with no single points of control or failure. So rooms and the network will always live on in other servers, even if a big player becomes a default provider.</p>
]]></description><pubDate>Thu, 05 Feb 2015 08:44:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=9002282</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=9002282</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9002282</guid></item><item><title><![CDATA[New comment by ara4n in "Matrix – An Open Standard for Decentralised Persistent Communication"]]></title><description><![CDATA[
<p>XMPP and Matrix are fundamentally different things. XMPP is all about message passing. Matrix is all about state synchronisation. In many ways Matrix is more like an eventually consistent distributed DB like Cassandra or Riak, albeit optimised for storing persistent messages and with open federation (anyone can spin up a node and join the DB) and an HTTP/JSON API.<p>So: if you want decentralised message history as a first class citizen, use Matrix. It's not just for group chat; it's for any data.<p>If you want lower-latency message passing with history as an optional extra, use XMPP.<p>In terms of how to make XMPP cool again - projects like XMPP-FTW and Buddycloud and FMUC are pretty cool :)</p>
]]></description><pubDate>Thu, 05 Feb 2015 01:37:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=9001260</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=9001260</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9001260</guid></item><item><title><![CDATA[New comment by ara4n in "Matrix – An Open Standard for Decentralised Persistent Communication"]]></title><description><![CDATA[
<p>...where "We" is the Matrix team :)</p>
]]></description><pubDate>Wed, 04 Feb 2015 23:20:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=9000757</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=9000757</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9000757</guid></item><item><title><![CDATA[New comment by ara4n in "Matrix – An Open Standard for Decentralised Persistent Communication"]]></title><description><![CDATA[
<p>Matrix is basically an eventually consistent object database with open federation and pubsub. It's optimised for messaging at the moment - you can use it for group chat, or WebRTC signalling, or M2M/IOT stuff, or anywhere else you want to pubsub data and keep a history. The similarity with Tox is that Matrix can implement a chat system that looks like Tox. The architectures are completely different though: Tox is a big distributed hashtable smeared over lots of peers; Matrix is client/server with synchronisation between te servers. (disclaimer: Matrix is my fault)</p>
]]></description><pubDate>Wed, 04 Feb 2015 23:16:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=9000734</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=9000734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9000734</guid></item><item><title><![CDATA[New comment by ara4n in "Matrix – An Open Standard for Decentralised Persistent Communication"]]></title><description><![CDATA[
<p>We've also been looking at Axolotl as a better-than-OTR for the E2E crypto. But nothing is set in stone yet.</p>
]]></description><pubDate>Wed, 04 Feb 2015 23:05:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=9000654</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=9000654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9000654</guid></item><item><title><![CDATA[New comment by ara4n in "Wire – Modern Communications Network"]]></title><description><![CDATA[
<p>Because we don't want client implementers to be forced to have to jump through end-to-end crypto hoops if they don't want to.  The simplest way to send a message in matrix is:<p>curl -XPOST -d '{"msgtype":"m.text", "body":"hello world"}' "<a href="https://matrix.wherever.com/_matrix/client/api/v1/rooms/$roomid/send/m.room.message?access_token=$token"" rel="nofollow">https://matrix.wherever.com/_matrix/client/api/v1/rooms/$roo...</a><p>...and we'd like to keep it that way.  But you can always insist on only ever communicating with folks who are on E2E crypto clients if you so desire.</p>
]]></description><pubDate>Thu, 04 Dec 2014 13:39:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=8699130</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=8699130</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8699130</guid></item><item><title><![CDATA[New comment by ara4n in "Wire – Modern Communications Network"]]></title><description><![CDATA[
<p>It's a shame that XMPP didn't save us from this situation. My hunch is that the baseline featureset over federation was too low: no federated medsage history; MUCs are single point of failures.<p>We're trying to fix this with Matrix.org - folks frustrated with yet another communication silo might want to check it out and help us tear down the walls between these gardens. (obvious disclaimer: i help run matrix.org)</p>
]]></description><pubDate>Wed, 03 Dec 2014 11:20:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=8693068</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=8693068</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8693068</guid></item><item><title><![CDATA[New comment by ara4n in "A new basis for open, distributed, real-time communication"]]></title><description><![CDATA[
<p>Oops - I should have called it out more clearly in the blog.<p>The biggest difference we have over XMPP is probably that messages in Matrix get synchronised over all the participants of a conversation... so you get distributed chat history for free, and no single points of failure on group chat (as you do with XMPP MUCs).  And obviously Matrix is plain HTTP+JSON rather than messing around with XML.<p>One of the reasons we built Matrix is because, in practice, pretty much <i>all</i> the current big players started off using XMPP for developing their chat solutions: Google Talk was originally XMPP; I believe Facebook Messenger was built out at first on ejabberd; WhatsApp was originally XMPP etc; even APNS was originally XMPP!<p>But <i>ALL</i> of them have ended up mutating it to a proprietary closed standard - and nobody has even tried open federation other than Google's misadventure with Talk.  So, unfortunately, it seems XMPP hasn't ended up being the interoperable web-for-IM that we all hoped.<p>Now, I have absolutely no idea if Matrix will be more successful in solving the problem; the hope is that by keeping it simple and using HTTP APIs there's more of a chance that players of all sizes will start exposing Matrix APIs for federation.  Only time will tell.  It's also worth noting that end-to-end encryption is a relatively recent potential obstacle: given iMessage and Telegram etc are all end-to-end encrypted, for them to ever federate with Matrix we'll need to support the same semantics and crypto.  Hopefully we're going about this the right way (although end-to-end crypto isn't formally specified or implemented yet), but will be an interesting challenge.  And one that XMPP hasn't tried to solve at all, as far as I know.<p>(disclaimer: Matrix is my fault)</p>
]]></description><pubDate>Fri, 05 Sep 2014 01:38:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=8271869</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=8271869</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8271869</guid></item><item><title><![CDATA[New comment by ara4n in "A new basis for open, distributed, real-time communication"]]></title><description><![CDATA[
<p>SIP+SIMPLE/MRSP's overheads are just as bad as HTTP/1.x, if not worse.  We decided to build Matrix after 10 years of fun doing commercial SIP and XMPP work; we have some experience.  For instance, the worst scenario we've seen in a real-life SIP/MSRP user-agent in the wild was 50KB of SIP/MSRP nego to send the word "Heh" between two contacts (with a delivery report) :)  Meanwhile SPDY and HTTP/2.x improve the overhead situation and pipelining situation enormously - although frankly we haven't seen any real-life problems using HTTP/1.1 yet at all...<p>The "simplicity" of HTTP I mentioned in the Matrix blurb refers to the fact that RFC2616 is relatively compact and self-contained, whereas SIP/SIMPLE/MSRP involves a huge number of RFCs, different protocols (SIP,SDP,MSRP...) and really is a lot more complicated to implement than just doing GETs and PUTs.<p>Now, the irony is that rather than being "designed by someone who doesn't know much more than how to build web apps" - it's more the other way round.  Our experience is mainly with SIP/RTP/STUN/ICE/TURN etc; genuinely RESTful APIs are relatively new territory for us.<p>I would genuinely love to know what aspects of the Matrix client-server (or server-server) API is 'not anything like RESTful' - it's not too late for us to change the APIs (they've already been rewritten several times, oscillating between more or less RESTful purity), and half the point of releasing Matrix in its current early proto-form is to get detailed feedback from folks on whether we've Got It All Wrong :)<p>(disclaimer: Matrix is all my fault)</p>
]]></description><pubDate>Fri, 05 Sep 2014 01:20:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=8271817</link><dc:creator>ara4n</dc:creator><comments>https://news.ycombinator.com/item?id=8271817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8271817</guid></item></channel></rss>