SMS text messages are my main form of communication with most of my friends and with my office when I am not at my computer. While I am terrible at typing on touch screens – especially small touch screens – that issue did not hinder my texting from 2013 to spring 2021 when I used two BlackBerry phones with full QWERTY keyboards. However, I replaced my BlackBerry with a touchscreen phone last spring, for reasons that I will detail later in this post. Because I cannot readily type on a touchscreen phone while working on my computer, I looked for a good solution in line with the kinds of software solutions that I like. I settled, for the time being, on JMP – a new open source project that offers users a phone number to use through the XMPP (also known as Jabber) and SIP protocols.
My Use of SMS
Since I was in school in the 2000s, I have communicated with friends primarily through instant messaging clients and through SMS massaging. Email has always been a secondary form of communication for me – but less common than the first two. I hate talking on the phone and do that as seldomly as possible. I have never used social media as a way to keep in touch with people – and the social media accounts I have now are primarily for pushing New Leaf Journal content.
Back in the day, I used AOL Messenger (AIM) and MSN Messenger. AIM was mostly sufficient by itself in high school. In college and later, there were people I communicated with more through SMS messaging than through an instant massaging platform. I used to use AIM to send text messages.
However, even though I often used AIM for SMS, I was able to easily send messages from my phones because, from about 2006 to spring 2021, all of my BlackBerry phones had full QWERTY keyboards – which I became accustomed to typing on. For that reason, after my friend group moved from AIM to Slack in 2016, I did not miss not being able to send SMS messages from my computer. It was easy enough to do from my trusty BlackBerry phones.
Things changed last spring.
Long-time New Leaf Journal followers will know that I used my BlackBerry Classic when we launched the project because many of the photos that are on site were taken on it. In spring 2021, I moved on from my BlackBerry Classic. Why? There were two reasons.
First, I wanted to ditch Verizon, which is quite expensive, for a much cheaper phone plan. Since I use very little data and make phone calls sparingly, the only thing I really need a phone for is SMS. After some research, I settled on Tello, for which I pay about $10 per month for phone service. Alas, Tello was not compatible with my Verizon– locked BlackBerry Classic.
The second reason I switched is that although my BlackBerry Classic still works (albeit a bit slowly these days), its battery began to have issues starting in late 2018. It sometimes spontaneously dies in cold weather. One notable example came when I used it to take a picture of Blob Dylan graffiti in Bushwick, Brooklyn, that I featured in two articles. It was about 30 degrees that day. I took the picture for the article when my phone was about 80% fully charged. It died within a minute or two of my taking the picture, and I had to connect it to a portable charger to send messages.
There were no good deals on a QWERTY phone available. For that reason, I purchased a cheap Motorola Moto e6 as something of a transitional phone until I can find a good one to run an alternative to Android on.
I determined quickly that I cannot get used to typing on a touch screen. If I sit down and focus, I can type presentably, albeit slowly. Typing while outside is a non-starter. But I do not often need to type while outside. My issue was sending messages when I was at my computer. It goes without saying that spending a minute struggling to type a message on a phone disrupts one’s workflow.
My first solution was to bring my phone messages to my computer. For that, I used KDE Connect. KDE Connect is part of the KDE desktop suite (KDE is a desktop environment available on many Linux operating systems). At the time I switched phones, I was using the KDE desktop environment on my main computer, which runs Manjaro Linux. By installing KDE Connect on my phone, I could receive and send messages from my desktop.
The system generally worked, but I found it did not work seamlessly. Sometimes the connection between my phone and computer dropped. Other times there was a lag in receiving messages. On occasion, messages that I tried to send from my computer would not go through without restarting the connection.
To be clear, this is not intended to be a comprehensive review of KDE Connect, and I did not spend any time trying to troubleshoot the issues I had. This was simply my experience trying to rely on KDE Connect for sending and receiving SMS messages on my computer for several months.
In July, I switched desktop environments on Manjaro from KDE to XFCE – which I discussed tangentially in an earlier article. While I could still have installed KDE Connect, installing it would require installing a whole suite of applications that I do not need with my current desktop environment. In light of the fact that I did not find KDE Connect entirely reliable, I decided to look for another solution.
In 2020, I convinced my friends who I had communicated with on Slack to move over to Matrix, a federated instant messaging protocol. I use Element as my Matrix app on desktop and Fluffy Chat on mobile. Both clients work well for me. I hoped that I could convince my friends to use Matrix from their phones instead of SMS – at least when I was on my computer. That way, even if a friend was messaging me from his or her phone, I could easily respond from my desktop client. The results of my efforts were mixed. Suffice it to say, adoption was not sufficient to ameliorate my problem.
Before continuing, I ought to append a note about work. My office uses Microsoft Teams as an instant messaging client. Although there is no native Teams app for Linux, I run it and Element through Ferdi. When I am not at my computer, my office can contact me via SMS (I do not use Teams on my phone). Due to the generally low volume of messages when I am not at my computer, work messaging was not an issue that affected my decision-making.
I stumbled across the Battle Penguin blog and thought that its author, Mr. Sumit Khanna, produced very interesting content. I read a number of his articles. One caught my attention: Moving my phone numbers from Google Hangouts/Voice to an SIP/XMPP Service. Now I have only used Google Hangouts a couple of times, but I read the article yesterday to learn what solution Mr. Khanna implemented.
(For those who are interested – he also wrote an interesting article about creating Matrix bridges to all the services that he had contacts.)
Most of Mr. Khanna’s issues were not applicable to me beyond his wanting to move from Google Hangouts. However, I took note of his solution – JMP.chat. Mr. Khanna described it as follows:
JMP.chat … provides a gateway to connect phone numbers to SIP for voice and XMPP for texts and media.
While I do not need voice messages, the XMPP aspect appealed to me. I wemt to JMP’s website.
To begin, I am only discussing JMP from my own usage experience. While it does allow for 120 minutes of voice calls per month, I have not used that feature. For that reason, I will only discuss using JMP to send and receive text messages.
JMP is a service that provides a phone number to use with a XMPP account. It also allows customers to use their own phone number. XMPP is a federated protocol that is based on XMPP. The FAQ page for XMPP touts the service as “extend[ing] the freedom of Jabber and the XMPP network to cell phone texting.” For those who are interested – the FAQ explains how the service works much better than I can.
As of the writing in this article – JMP is in beta and costs $2.99 per month. JMP is open source.
JMP sounded simple to use and set up. Furthermore, I had little interest in using Google to handle my text messages. I decided to take the plunge and give it a try – signing up for 5 months (approximately $15).
I have very few contacts – see my not having social media for personal use. For that reason, I saw no need to go through the steps required to port my phone number. I chose a phone number offered by JMP to use for this service.
Next, I needed an XMPP account. I looked into good free privacy-friendly servers and settled on ChatterboxTown.US – which came recommended by JMP.
After creating an XMPP account with ChatterboxTown, I needed an XMPP client to use from my desktop. I chose Dino, a free and open source XMPP client available for most Linux distributions – including mine. It has the most aesthetic user interface of all the instant messaging clients that I have used.
I also looked for an XMPP client to install on my phones and tablets. After some light research, I settled on blabber.im, a free and open source Jabber/XMPP client for Android that is available from both Google Play and F-Droid.
I had purchased JMP, received my phone number for the service, made an XMPP account with a good server, and downloaded clients to send and receive messages for my computers and mobile devices. All that was left to do was to test the service out. Do note that I will provide only a very basic explanation of what I did – this is not intended to be a guide to using JMP (for that, you should read the documentation and send inquiries to JMP).
JMP explains how to send and receive text messages on its FAQ page:
Text messages are sent and received using special Jabber IDs. To send a text message, first add the Jabber ID representing the destination phone number to your Jabber contact list. For example, to send a text message to +1 416 993 8000 you would add ‘+firstname.lastname@example.org’ to your contacts. You can then send the contact a message or picture and they will receive it as an SMS/MMS message.
I tested the service by adding my good friend and New Leaf Journal colleague, Victor V. Gurbo. Despite having told him to expect a text from a new number, he found the change disquieting. He does not like change. Nevertheless, Victor adapted to the change and has proven far more amenable to sending messages to my JMP number than using a mobile Matrix client.
I have been using JMP for more than a month. Thus far, it works perfectly and I have no complaints with the service at all. I have experienced no issues sending or receiving messages. Furthermore, because I like the mobile clients, I also use my JMP number with Blabber on my phone.
Now, when someone sends me a text message from his or her phone while I am at my computer, I can read it and respond from my desktop (or laptop) keyboard without skipping a beat. Unlike my situation with KDE Connect, I do not have to worry about the connection between devices dropping or one of my messages not going through. This has greatly benefited my workflow.
While there are cheaper solutions to sending SMS from a computer – including KDE Connect for computers for which it can be installed and Google’s services, JMP works well for me. Since I am only paying $10 per month for phone service at the moment, $3 for a comfortable way to handle SMS messages is a tiny expense.
I am paid up through December. At the moment, I plan to keep my JMP number. However, its pricing model will change in the future once it exits its beta development phase. Whether I keep it indefinitely may depend on whether (and how much) its price increases in the future and whether I come across any other solutions that may work better for me.