Mitch's Blog

Going Mobile with JMP.chat

Last modified December 25, 2024

I have the problem of churning through technology and software at an ridiculous impressive rate.

You can check out some of what I use on my /uses page, but the upshot is I end up burning through a lot of options, testing and comparing them to each other until I feel like a solid winner emerges.

This leads to things like my settling on kitty terminal after comparing with wezterm and alacritty (although ghostty is an up-and-comer that looks promising there as well) or bic.sh vs. mkdocs or hugo.

Sometimes, it leads to settling on a certain process. For my mobile phone setup, this has been some combination of a Google Pixel or Motorola phone + LineageOS for years now. I got more streamlined at churning through new phones, but problems would still arise from time to time around issues in the rooting process, a bad LineageOS upgrade, or just concerns around losing the device entirely. Since I’m pretty much de-googled by now, relying on their services for backups and transferring data wasn’t an option.

Syncthing is a lifesaver for dead-simple syncing files between phones and laptops/desktops. Etesync for contacts, calendar, and task syncing. And ente.io for continuous backup of important photos if I miss anything between syncthing runs.

However, that still leaves a big question mark around backing up and restoring text messages and chats, and voicemails. Those were still a little too tied to an individual device and SIM card for my liking, which along with my other habit for churning through mobile service providers made the process of switching phones or providers more fragile than I wanted.

The Solution

Going without a number entirely isn’t an option as I have a number of people and groups that are still SMS/MMS only for the time being, so any solution would need to be able to port in my existing number and handle all the usual functionality of text, groups, and voice calling.

The big player here is Google Voice, which I already had a second number on for using to sign up for non-critical services, but that comes with its own problems. It’s tied to Google Services, which made it more difficult to use with LineageOS as well as being tied to the Google Voice app. It also doesn’t seem to have great support for multi-number usage which I would require if I were to port in.

JMP

Enter JMP: first-class support for multiple numbers, uses open standards like XMPP, and a strong commitment to open source via their Soprani.ca projects that back the service.

For $5 a month, the setup involves the following:

Signing up for the service and initiating a port-in of existing numbers. Initially, you’ll start with a JMP provided number you can accept from a random list offered, or search for available numbers based on area code or a vanity pattern like ~1234 to find numbers with 1234 in that order somewhere in the number.

Then, an XMPP server is required to serve as the home base for your JMP accounts to handle the longer-term storage and connection between your devices and JMP’s routing of text messages and media. Luckily, you can get a Snikket server included with the JMP subscription.

After a couple days (if you choose to port in over the default number), the ported numbers are ready to use. The Cheogram app by the same developers behind JMP has the best support for some of the more specific JMP features like importing contacts from your phone’s address book and better dialer integration via the native phone app on Android.

From here on out, use your phone as normal, subbing in Cheogram instead of your phone’s builtin messaging app!

2 Years of JMP

So 2 years into using JMP, would I recommend it? Yes!

At least, for more tech-savvy people looking for similar benefits I was. Being a relatively new service (just out of beta in 2023), there are still a number of papercuts that can be annoying when you hit them.

Prior to the recent addition of new routes that can be requested to have your number moved to via support, these issues could pop up:

On the new, more premium route I haven’t seen issues with the above, but have seen instances of:

Recently I haven’t seen anymore issues, and chalk it up to the fact I was an early adopter of the new route, but it could be especially frustrating to new users of JMP who aren’t comfortable doing a minimum of debugging and chatting with support.

Other general caveats right now include:

Phoning It In

Overall I’ve found JMP to not be without its flaws, but extremely worthwhile for what I want out of a service like this.

It offers the ability to bridge with the standard text messaging ecosystem with features that are difficult for even other much larger companies to offer, while also respecting user freedoms.

You’re not locked into their app, their XMPP server, or even their actual service (they offer support for registering to your twilio or vonage accounts as well, albeit those have fewer features and setup isn’t as seamless).

All that to say, if you’re looking around for a way to decouple a number from a SIM or mobile provider I haven’t found a better service than JMP that doesn’t require you to be locked into an ecosystem like Google. Other competitors either lack crucial features or cost more, and none have the commitment to openness that JMP and its developers have shown.

I definitely see myself sticking with JMP for the long haul, and urge anyone that’s at all curious about this sort of setup to give it a shot! Support is incredibly helpful, and there’s a public XMPP channel where the developers and users are active and constantly discussing the service, debugging issues and working on making it better as it matures.


Tags