Send and Receive Text Messages SMS with Element

What makes Matrix uniquely different from other messaging platforms is the ability to have bridges to other chat services. Matrix has all the signs of being the great chat unification platform that adequately reduces complexity in communication. Element feels complete, well polished and is enjoyable to use so using Element as my front-end, I should be able to access many of my various chat platforms that I am in quite nicely.

I will describe the process to set up a SMS Matrix bridge utilizing the appropriately named project SmsMatrix. The instructions on the GitHub project page are adequate and I want to supplement that with some more explanation and my experience in using it.

Bottom Line Up Front: The SMS Matrix bridge is fantastic. Although I am still in the early stages of using it, I truly believe it will streamline my SMS communication and it will hopefully reduce the likelihood of missing incoming messages in the future.

Step 1 – Create Bot account on Matrix

As per the project GitHub readme, there is currently there is no end-to-end encryption implemented in this SmsMatrix so it is advisable to use our own Matrix server. Since SMS itself is not a secure form of communication and since I don’t have the wherewithal nor desire to do this, I will happily use the Matrix.org server for the time being. This could change in the future.

My first step is to create a matrix account for my “Bot”. To do this, I navigated to element.io to create a new account. On the initial page there is a button to “Try Element”, select it.

The top option, and the one you should select is “Open in your Browser.” It is advisable to set up the bot using Element as it is is very straight forward and easy to do.

Next you will need to create the account for your bot. I recommend it is something you understand well and while you are at it, go ahead and store it in your password manager, Bitwarden, because what else is there really?

Once you verify via email the Matrix account, you will have to decide how you wish to safeguard against losing access to encrypted messages. Here you can generate a Secure Key for this bot. Although it isn’t really necessary for this purpose, due to the lack of end-to-end encryption with SmsMatrix, you will have to do that or enter a security phrase. Either way, you can store that information in Bitwarden, once again.

Go ahead and leave that browser window open, for the time being. You may want to refer back to it at some point. At least, I did.

Step 2 – Install SmsMatrix

This has a sub-step of setting up F-Droid. If you already have F-Droid installed, skip down a bit. This is necessary since SmsMatrix isn’t in the Google Play store and I want to keep it updated and not think much about it. Alternatively, You can just install the SmsMatrix APK.

To install F-Droid is pretty simple. Navigate to the page and select the blue “Download F-Droid” button on the home page.

There are a few steps involved in making F-Droid work on your system but it is straight forward. Download the APK, side-load (install) it, you will be required to set the permissions of your mobile device to allow it. Once installed, open up F-Droid and search for SmsMatrix in the store. If you find that I should add that information here, let me know.

Step 3 – Configure SmsMatrix

The configuration of SmsMatrix is very straight forward. Use the Bot Username and Password previously set up. Since you use the convenient Bitwarden password manager, this step will be no problem at all.

Enter the Homeserver url, which, in my case is the matrix.org server.

Enter the Devicename, which can be whatever you want.

Finally, I left the SyncDelay and SyncTimeout just as it was by default.

Select “Save” and you are done. Wait for your next text message to arrive and you will be pleasantly surprised, 12 seconds later!

Step 4 – Profit

Profit from the convenience, that is. When you receive your next text message, the bot will create a chat with your user account, place it in the “People” section, and rename the account to the phone number or contact information if you have it in your address book. Within that chat, you are able to respond to the message, just as you would any other Matrix chat and the message will send out to the recipient.

Another fun little note is that if you change or update the contact name, the next SMS you receive, the bot will update that account name. I found that to be very slick.

What I Like

All SMS messages you receive are right there in your list of direct messages in the People section. Sending a message to an SMS recipient or a Matrix recipient is no different from your perspective. It quite literally doesn’t matter and to the other end of the SMS, they will not know the difference.

What is such a slick feature is that SmsMatrix will update the chat, automatically, to whatever the contact is in your address book. I was amazed to see this and was pleasantly surprised by this fantastic feature.

This bridge makes SMS so much more accessible. I don’t like to actually have my phone in my hand or near me much of the time. When I arrive home, it tends to get plugged into the charger and set in the corner of the kitchen on the counter and often forgotten about unless there is a rare occasion of a phone call… which is often just a robocall.

What I Don’t Like

I don’t see a way to initialize a text message from Element to an SMS recipient. I tried several things, unsuccessfully such as [phone number]@smsbot:matrix.org but that didn’t work. As far as I can figure out at this time, the only thing I can do is respond to an SMS conversation. This is sort of unfortunate as it does require me to use my phone just a bit more than I would like. I truly have no idea how you would implement access to the address book and start a conversation but it sure would be a welcomed addition. Element / Matrix is real close to just replacing the need to use my phone or some other web interface to access my SMS so it doesn’t make for a complete interface but it is so very close. Once you get the conversation going, you are golden.

There is no message history, available through the Element client. Based on how SmsMatrix initializes the chat, I don’t see how you would anyway. Not a deal breaker but combine that with the need to start the conversation from the phone, it does make for a bit of context loss in the conversation thread.

After establishing the SmsMatrix bridge, should I send a message from the phone, SmsMatrix won’t show that message in the Matrix conversation thread. This could be a problem, depending on how you end up using SMS from that point forward. This also makes the bridge just a bit… fiddly or at least not exactly a solid-feeling experience.

Final Thoughts

I have only been using Element for a short while on openSUSE and so far, I am quite happy with it. I have not yet found anything irritating about it. It is a bit more spartan than Telegram as it doesn’t have all the fun little things like gifs and the breadth of stickers. What makes Element / Matrix so exciting is the bridging capability and the SMS Bridge, although, not perfect it is really quite fantastic. I will just have to make sure that I use the mobile Element client to respond to messages and resist using the SMS application

I have shamefully been using messages.google.com for messaging from my desktop to send SMS. I can say now, that I am no longer using it. I suppose I can keep it bookmarked for those occasions where I have to initiate an SMS but once a conversation is established, using Element would be the way to go.

Assuming that Element / Matrix isn’t too resource intensive, I think this might be my modern day solution for a unified messaging platform. I will see as I continue to use it, and add more bridges. I am incredibly optimistic that I will be able to make my communication on the various platforms much easier and hopefully, leave fewer messages unread. Next step, Facebook Messenger. I don’t particularly enjoy Facebook Messenger, the interface is awfully slow and cumbersome. If that works well, I will most certainly espouse the glory of Matrix… some more.

References

https://matrix.org/bridges/
Element | Matrix Chat Client on openSUSE
https://element.io/
https://f-droid.org/

8 thoughts on “Send and Receive Text Messages SMS with Element

  1. Thanks for the write up. Did you ever figure out a way to initiate an outbound message from Element?

    1. You are very welcome and no, I have not figured out outbound messages, nor how to respond to group messages. Otherwise, I have been using this daily and quite happy with it.

Leave a Reply