JMP

TwitterReddit

Google Wants to Control Your Device

singpolyma@singpolyma.net

Today we join with other organizations in signing the open letter to Google about their plans to require all Android app developers to register centrally with Google in order to distribute applications outside the Google Play Store.  You should go read the letter, it is quite well done. We want to talk a little bit additionally about why sideloading (aka installing apps on your own device, or “directly installing” as the letter puts it) is important to us

In early fall of 2024 Google Play decided to remove and ban the Cheogram app from their store.  Worse, since it had been listed by Play as “malware” Google’s Play Protect system began warning existing users that they should uninstall the existing app from their devices.  This was, as you might imagine, very bad for us.  No new customers could get the app and existing customers were contacting support unsure how to get back into their account after being tricked into removing it.

After a single submission to Google Play appealing this decision, they came back very quickly affirming “yes, this app seems to be malware.” No indication of why they thought that, just a decision. At this point the box we could use to submit new appeals also went away.  With no appeals process available and requests to what little support Google has going totally ignored, it was not clear if we were ever going to be able to distribute our app in the Play Store again.  After months of being delisted we finally got a lucky break.  In talking with some of our contacts at the Software Freedom Conservancy, they offered to write to some of their contacts deep inside Google and ask if there was anything that could be done. When their contact pushed internally at Google to get more information, suddenly the app was re-activated in the Play Store

I want to be clear here. We did not change the app. We did not upload a new build. This app Google had been so very, very sure was “malware” was fully reinstated and available to customers again the moment a human being bothered to actually look at it. It was of course obvious to any human looking at the app that it is not malware and so they restored it to the store immediately. They never replied to that final request, and no details about what happened were ever made available. From that point on Google has essentially pretended that this never happened and the app was always great and in the Play Store. If we had not been able to get in contact with a human and really push them to take a look, however, we would never have been reinstated.

Despite our good fortune, we still lost months of potential business over this.  Of course you’ve heard stories like this before. Stories of Play Store abuse are a dime a dozen and most of them don’t have the “happy” ending ours does. What does this have to do with “sideloading” and the open letter? Well, despite all the months of lost business, and despite all the existing customers being told to uninstall their app if they had got it from Play Store, we lost no more than 10% of our customers and continued to onboard new ones during the entire time.  How is this possible?  The main reason is direct installs (“sideloading”).  The majority of our customers get the app from our preferred sources on F-Droid and Itch. These customers were not told by Play Protect to remove their app. During the time we were delisted from Play Store we removed the link to Play Store from our website and new customers were instructed to use F-Droid. Of course we still lost some business here, some people were unable or unwilling to use F-Droid or other direct install options, but the damage was far, far less than it might have otherwise been.

What Google is proposing would allow them to ban anyone from creating apps which may be directly installed without their approval. One of the reasons they say they need to do this is to protect people from malware! Yet even if this was the narrow purpose of a ban it would still routinely catch apps which are not nefarious in any way, just as ours wasn’t. Furthermore, with all apps and developers registered in their system, a ban under these new rules could result in everyone being told to uninstall the app by Play Protect, and not just those who got it from Play Store to begin with. This would leave app developers who are erroneously marked by Google as malware with no options, no recourse, no way to appeal, and praying there is a friend of a friend who knows someone deep in Google who can poke the right button. This is just not an acceptable future for the world’s largest mobile platform.

Featured Image

Newsletter: Referral Event!

singpolyma@singpolyma.net

Hi everyone

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Share one number with multiple people.

This month begins JMP’s 2026 referral event! From now until June 1st, everyone you refer to JMP rewards you triple! That’s three free months of service for every person who signs up and pays.

For those who haven’t explored the referral system much, a short refresher on how it works. In your account settings there is a command Refer a friend for free credit. You will be presented with a message that reads like so:

This code will provide credit equivalent to one month of service to anyone after they sign up and pay: CODE These remaining codes are single use and give the person using them a free month of JMP service. You will receive credit equivalent to one month of service after someone uses any of your codes and their payment clears.

When someone uses this code during their signup process with JMP, they will sign up and pay as usual. But after they pay, they will get a free month deposited to their initial balance as well. Once their payment clears (about 90 days for a credit card transaction) your account will also get a month’s worth of credit deposited. Except for referrals which reward during this event, it will be three months! This code is appropriate for publishing publicly and can be used over and over again.

Under this message in the command result is a list of invite codes. If you are out of invite codes, you can always ask JMP support for more as well. These codes are each single-use and give the one person who uses them a free month of JMP service right away. They don’t pay anything. Then, if they pay, and once their payment clears (about 90 days for a credit card transaction) your account will also get a month’s worth of credit deposited. Except for referrals which reward during this event, it will be three months! These codes are appropriate for giving to trusted friends or family members, and each code can only be used once.

To learn what’s happening with JMP between newsletters, here are some ways you can find out:

Thanks for reading and have a wonderful rest of your week!

Featured Image

Newsletter: Cheogram App Options

singpolyma@singpolyma.net

Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Share one number with multiple people.

End of a Year

Wow, another year has come and gone. Not many newsletters this year, but rest assured we’ve just been too busy building to write! We know one of the biggest questions we get every year is about a Cheogram-like app for other platforms, and this year we’ve come much closer to having two more of those ready for release, besides also maintaining everything you’ve already come to know and love. Below are a few highlights.

Port-out PIN Self-Service

Users can now set their own port-out PIN through the account settings bot, only shown to users with a number eligible for automatic set up (#fe75c33, #a953751, #a18b326).

Data-Only Registration

Support for data plan registration during sign-up process without a phone number (#5cdf6c0).

Cheogram WWW

We’ve been working for years on a browser-based Progressive Web App client for the Cheogram family, based on Borogove. Community members have been testing various versions of this under many names, but this fall we finally began alpha testing under the Cheogram WWW name at app.cheogram.com. Expect more to come for this app, but it is already very usable for many of the needs JMP customers have, including a Command UI / “app” view for account settings. It is also one of the only browser-based apps with native multi-account support.

You’ll note above I said “browser-based” and not quite “web app”. There is no server side component required for this app, as it connects directly to your Jabber service. This requires a special browser protocol to be supported by the service, and a few other things are needed for it to work very well. Of course we’ve worked with Snikket to make sure their offering supports everything needed for a best in class experience and more.

This app works well in a desktop/laptop/tablet form factor, but also has a mobile-optimized view. Along with support for Web Push notifications (if supported by your Jabber service; of course latest Snikket has support) this can make it a viable option on mobile platforms without a good native solution yet (to try this on iOS you’ll need to use the “add to home screen” option for notifications to work). The biggest limitation for Web Push is it cannot make a device “ring” so if you get a call while the app is not open you’ll get only a simple notification like for a message which is not always ideal.

Cheogram iOS

Also in alpha testing starting earlier this fall is Cheogram iOS. Also based on Borogove but with a native Swift UI and deeper OS integration than the PWA can muster, this app is still in a bit of an earlier stage than Cheogram WWW, but some very adventurous people are daily driving it already. Come by the community chat if you want a TestFlight link.

Distribution for Cheogram Apps

Cheogram apps area also making some changes to official distribution mechanisms. For Android the most recommended and official distribution will of course remain F-Droid. And for people who need it the app will remain available on Play Store as well. Pre-release debug builds will still be distributed in the community and custom repo. So what is changing? There will no longer be official distribution of debug APK builds tied to releases. This practise has, quite honestly, been confusing to many people who expect release-tied builds to be release builds. Releases will now come with official distribution of first-party release builds for sale at itch.io (free to JMP customers or with a free JMP month for non customers along with the purchase). Builds of future Cheogram app releases (including Cheogram WWW, desktop, etc. releases) will also be available as part of the itch.io package. Android apps from itch.io can be kept up to date using Mitch.

Other alternative app stores and distributions we have supported in the past (such as Aptoide) will no longer be official.

Unfortunately this does mean that anyone running the release-tied debug builds will either need to move to pre-release or to the new release builds in order to get updates.

Selected Recent Cheogram Android Changes

UI Improvements

  • Default options in command grids look less like headers (#b156e93)
  • Fixed account colors on item lists including start conversation (#957df4f)
  • Reorganized contact details layout for better narrow device support (#8780945)
  • “Manage Phone Accounts” button now scrollable (in list footer) (#b3bcfbb)

Chat & Messaging

  • Users can now see themselves in group chat participants list (#f240e52)
  • Can view own hats/roles in conference details (#3984516)
  • Improved button labels in group chat context menus (#37c504b)
  • Enhanced call failure UI with more informative displays (#4985523)

Connectivity

  • Fixed backup import functionality (#575cdff)
  • Improved password change flow for unlocked accounts (#8863066)

Stability

Group Chat

  • Added workaround for Snikket’s unavailable presence handling (#7e157f5)
  • Fixed menu handling on tablets (duplicate actions issue) (#c2c37f2)
  • Better JID escaping for improved compatibility (#b11972b)

QR/Barcode

  • Enhanced barcode compatibility (use ASCII where possible) (#e68d564)

To learn what’s happening with JMP between newsletters, here are some ways you can find out:

Thanks for reading and have a wonderful rest of your week!

Creative Commons Attribution ShareAlike