Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The not-so-talked-about but killer feature of Matrix is that you can bridge other services into it. I'm currently able to send and receive messages from Hangouts, iMessage, SMS, and Slack all from within Matrix. If I'm working on my laptop I can put my phone in my bag and not even touch it for 8 hours, because there's no need. I have Riot running on my laptop with a full keyboard and access to all my communication platforms.

It's not exactly easy to do (iMessage requires a dedicated Mac, for example), but it's possible. And it works pretty well. Pulling out my phone to tap out an SMS when I have a full keyboard in front of me seems silly at this point. Hopefully the bridging will continue to evolve and become more accessible to the average user, because it's amazing.



This interests me, as a potential user; but it’s only a killer feature if it’s accessible.

I start by looking into Hangouts matters, because I use Hangouts to talk to some of my family, currently only on my phone and not on my laptop; and I see three projects listed in https://matrix.org/docs/projects/try-matrix-now: matrix-appservice-hangouts, mautrix-hangouts, and Hangouts Bridge. https://matrix.org/docs/projects/bridges/#hangouts lists two, matrix-puppet-hangouts and matrix-appservice-hangouts.

Bridge, puppeting bridge, appservice—I have no idea what any of this means. I’m generally hoping for something like an instruction to install a piece of software on my laptop with `curl … | sudo bash` or some unsigned .exe or something. (Are any of these things basically a Matrix server that I could run on localhost, or do they slot into a Matrix server that I’d need to host elsewhere?)

And so I give up. The content formatting of those pages on matrix.org was super-ugly anyway, it’s clearly either not a good product or not for normal people. (This remark may seem harsh, but this is how most will think.)

What do I need to do for all of this to get Hangouts, SMS and Slack working in Matrix? Is Matrix ever going to focus on users and make questions like this easier to answer, or will it remain a niche product that I should not bother with?


The most mature bridges are available today via a user-friendly appstore if you click on the integration button in Riot. The matrix.org site is intended for developers rather than end-users. If you want to see user-focused stuff, go to Riot.im. That said, there is still work to be done to make the UX around bridging better.


Maybe "killer feature" was the wrong way to put it. Matrix has good support for things like bots and bridges, but those bridges are written by people like myself who are mostly just trying to hack something together and make it work. Over time they're becoming more solid and easy to use, and hopefully at some point it will just be a matter of `pacman -S hangouts-bridge` or whatever.

For certain things it's pretty easy. Bridges like IRC, Gitter, and Slack are a couple clicks from within the Riot app, although you do have to go goof around in the settings for those third party services to get it talking to Matrix. There's also starting to be some hosted services for bridging public rooms where you can just invite the bridge bot to the room to get things going. Like here: https://t2bot.io

The thing that I find particularly exciting about Matrix is that it 1) has support for doing that kind of thing, and 2) it can scale pretty gracefully from a 1-to-1 chat all the way up to a room with thousands of users. So you can (even if it isn't always easy, currently) bridge a 1-to-1 Hangouts chat, or a Slack room with a few dozen people, or a Discord server with thousands.

I'm not trying to oversell it right now. Many of the bridges are difficult to set up and not really something the average user will be able to do (although there are many that are). But it's pretty damn cool that we're able to do it, and I expect it to get easier as things progress. Matrix itself is only just now leaving beta, and even then the reference server is slow and still missing some big features. So the "extra" stuff written by the community is going to take a while to develop into "click to enable".


> or not for normal people

Given that the documentation you're reading is for sysadmins, it shouldn't be a surprise that its not targeted to end-users (assuming that is what you meant by "normal people")

> but it’s only a killer feature if it’s accessible.

Again, depends on your definition of accessible. Personally, if there is a feature I really like, I don't mind being patient and spending couple of hours to understand the docs.

I'm not denying that Matrix needs to improve the issues that you've pointed out, but that shouldn't make one disregard how useful it is.


This interests me too; just this weekend I tried to set up a matrix homeserver with matrixsms, puppet-hangouts and puppet-facebook integration and I got no single integration working. I did try to get it working in docker containers, but still.. I would be very grateful to learn if anyone has a recent, detailed write-up! (I also planned to integrate with Skype and WhatsApp, but didn't get that far)


For selfhosting with lots of bridges, the best bet is https://github.com/spantaleev/matrix-docker-ansible-deploy. Is this what you tried?



huh, i've never seen that for, and we don't link to it from matrix.org. how did you find it, ooi?


I think I just googled `docker matrix-puppet-hangouts` (seems to be second link in my results), but I googled a lot of stuff :)


With approach like this we would still use horses - cars are too complicated.


Without the simple wheel/pedal UX, operating cars would be to difficult for most people.

Dont underestimate the value of a easy user interface for a products success.


You can build simple UI around complicated things, it is exactly my point.


I personally think horses are far more complicated to "own" (and operate) than a car; however, horses were freely available back when, and cars were not.


>The not-so-talked-about but killer feature of Matrix is that you can bridge other services into it

This is useful, but why is it killer ? Stuff like this has always existed even with IRC or XMPP. The annoying part with all these proprietary services is reverse engineering their APIs and APIs not being stable etc. Once you do the main legwork, can't you pipe it to anything, whether it's Matrix or not ? What does Matrix add to this ?


Well, not directly, but for seamless bridging to work properly, your protocol must support being able to mock users easily. Many new protocols simply don't allow that. This means you need to fall back on a protocol session per user (like with IRC, telegram, etc), Bot Api hacks (Discord, Slack), or, worst of all, putting the name of the chat participants into the message.

Unlike that, matrix has the concept of Application Services, which are priviledged "users" that can pretend to be any number of users that are bridged over from other protocols.


Is that any use when the bridged protocols don't support mocking users? It might look a bit cleaner to you in your Matrix client but not to the users on the other services


To the other users it looks just like you normally would, no?


I thought the idea is that there is one bridge running per room. For example a discord room would be bridged to a matrix room by one running bridge. In discord, unless the API allows impersonating multiple users so that they appear as normal users in discord, the bridge couldn't mirror messages from all users in the matrix room and make them look like discord users. Unless I am misunderstanding how it works completely?


The slack one uses puppeting which is a 1-to-1 relationship to users. I expect most of them do this.


> iMessage requires a dedicated Mac, for example

You had me really excited until this part. I'm moving away from a Macbook soon and my most missed feature will be desktop texting.


Yeah sorry :/ There isn't an iMessage API to talk to, so the only way that anyone has found to bridge with iMessage is to have an instance of macOS running, logged in as you, and to send messages through the iMessage app via AppleScripts and to watch the filesystem for incoming messages. It would be great if there were some API you could use to send messages through, but Apple has worked hard to keep iMessage locked down to Apple devices.

Having said that, I bought an old Mac Mini off of ebay for about $100, and it's been working pretty well for the past year or so. It's not an easy solution, but as far as I know it's the only solution for using iMessage on an Android or non-macOS desktop.


Yikes that’s a lot of work to keep messages synced, but kudos to you for engineering around Apple!


There's (still) no sanctioned way to run os x in a VM (on non apple hw)?


I’ve been wanting to do this since I run a Linux desktop and laptop.

What software did you use to make it work?


https://github.com/matrix-hacks/matrix-puppet-imessage is the main one; i've used it at points and it worked pretty well :)


If you're willing to ditch iOS, Android has Messages for Web (an official service by Google) which lets you view/send SMS from any browser and supports file attachments etc. It's pretty great.


Now this just needs a matrix bridge


It's great. I use it all day, for just the reasons outlined above.


If you are willing to wade in gray, you can make a virtual machine Mac for this.


given iMessage's DRM looks superficially to stretch down to the silicon, I'm wondering if a hackintosh or VM actually solves the problem here...


At the moment there are still supported Macs without hardware security, a Macbook Pro 2013 for example. It should work OK for the time being.


As someone actively blocked by Apple's restrictions on development, care to share a link to an up-to-date, working guide on how to do this?



The best solution here is to convince your friends to move to Matrix too.


Pulse sms does that with android, don't know if it exists in iphone.


You can switch to a protocol like signal. It had a desktop client.


imessage: not even once


Probably not so talked about because, in my experience, it barely works. The bridges I've tried to install were either largely outdated for either matrix or the service it's federating to (Discord for example), or dropped a lot of messages going through (Slack, IRC), or had incredibly annoying limitations (SMS, Hangouts). I don't see how that is a "killer feature" if it's barely developed.


The bridging API in matrix hasn’t really changed since day 1, so unsure how they can be outdated for Matrix. For something like Discord, folks are constantly hacking on the bridge; PRs merged 5 days ago on https://github.com/Half-Shot/matrix-appservice-discord for instance, and last I checked it worked relatively well and targets the highest common denominator of functionality between Matrix and Discord. Lost messages sounds like the server is overloaded (certainly there is performance work still to be done). Unsure it’s fair to say that it’s barely developed...


Well, here is my experience with the discord bridge:

I installed the bridge and provided as the readme specified all the config options. Upon startup it started spamming requests at my matrix instance all of which were failing. After some tinkering I got it to relay about 70% of the messages from discord to my matrix instance and about 80% of my messages to discord. The server in question was not overloaded but idling at a load of around 3 (8 cores total).

The "common denominator" functionality is a joke that establishes on the minimum I would consider functional for a chat client, not what either Matrix or Discord could offer.


> The not-so-talked-about but killer feature of Matrix is that you can bridge other services into it.

It seems to be getting brought up each time Matrix is mentioned, with a standard reply that it's not unique, and available in XMPP for a while.


Is there a way to bridge Matrix with ActivityPub? I see MXToot[1] as an option, but I'm hoping for something a little less Mastodon-specific. I'd like to be able to bridge Matrix with Mastodon, Hubzilla, Peertube, Pixelfed, and the other ActivityPub federated services that are popping up.

Would it be possible to get the Bifrost[2] to integrate with ActivityPub?

[1] https://github.com/ma1uta/mxtoot [2] https://github.com/matrix-org/matrix-bifrost


There isn't a particularly sophisticated ActivityPub bridge yet, but there's also nothing stopping someone from writing one.

Bifrost would be a nice framework for writing such a thing - it's basically a bridge server you can plug protocols into as needed, a bit like Bitlbee is for IRC.


Can you point to any tutorials/articles/documentation? I got off Mac for Linux or Chromebook with the whole keyboard horror.

About the only thing I miss is a full keyboard for sms & iMessage. And I have an old Mac Mini laying around that could be put to use if necessary.


It very much depends on the kind of bridging you want to do and on the service you want to do it with. My iMessage bridge, for example, is a "double puppeted bridge", meaning the people receiving messages from me via iMessage don't even know I'm using a different service, and they show up in Matrix as if I got a message from a matrix user. It's also possible to bridge the contents of an entire room (on, say, Slack or Discord) into a matrix room. The two rooms mirror each other and anyone who talks in either room has their messages relayed to the other.

A good place to get a basic rundown would be here: https://matrix.org/docs/projects/bridges For the puppet bridges (which is what I'm running), you can take a look at this repo: https://github.com/matrix-hacks/matrix-puppet-bridge. You're also very welcome to ask around in #matrix-puppet-bridge:matrix.org about getting the bridges set up. We're pretty friendly in general :)


I'm also really interested in setting up a bot/bridge with our Matrix server.

Anyone know of a bot that will send emails for messages in a room? I basically want to bridge a room with an already existing email list to send out announcements using Matrix.


Is this difficult to setup? How much of the data do you control?


Huge props to the Matrix team! It's given me back ownership of my messages for which I am very grateful. Simple integration is a really killer feature!

I'm not sure why every matrix post seems to be met with a lot of negativity here on HN, but I always appreciate the way devs handle it.

Well done!


It's not super easy, I'll say, but you have all the data and it's searchable in the Riot client.


> Pulling out my phone to tap out an SMS when I have a full keyboard in front of me seems silly at this point.

Responding to SMS encourages people to keep using it.


I wish you the best of luck getting everyone you communicate with to stop using SMS.


Is that bad?


I wouldn't call it bad, but I would call it incredibly expensive if you're using non-English alphabet.

Try filling out all the characters available within a single message, then replace one of them with something unusual (let's say "ć" for example). What used to fit into a single SMS will now be three.


I'd bet he's implicitly expressing his concerns about SMS's vulnerabilities in terms of security, especially compared to other, more secure alternatives.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: