WhatsApp Web for Android - a reasonable compromise?


I am weak. I flounced off WhatsApp at the start of the pandemic due to Meta's shitty policies. Many of my friends made the move to Signal and some stuck with Telegram. But lots of them preferred WhatsApp and didn't want yet another inbox - especially one which was only connected to their weirdo privacy freak friends.

I like Signal. It does everything I need. But some people are reluctant to move over. And, frankly, I'm a little tired of missing birthdays, group chats, wedding invites, and all the other nonsense which passes for a social life in 2022.

So, back to WhatsApp? Not quite!

There's no open-source replacement for it; Meta guard their APIs jealously. But there is an open-source app which (ab)uses the WhatsApp for Web service.

It's slightly complex to use, so here's my quick guide.

What it looks like

Pretty much like the normal WhatsApp.

Screenshots showing the interface. There's a list of conversations with a preview, a bunch of settings, and a conversation which has emoji and voice notes.

Set Up

Download and install WhatsAppWeb To Go from GitHub or from F-Droid.

Next, install the normal WhatsApp app from Google Play and register with your phone number. Don't worry, you don't need to give it any permissions, or let it slurp up your data. You can uninstall it in just a second.

In the WhatsApp settings, you'll find an option called "Linked Devices". This will ask for permission to use your camera to scan for a QR code. Allow it.

Now go back to WhatsApp Web To Go. It should display a QR code which you need to scan with the official WhatsApp app. Here we have two problems.

  1. You can't scan your own screen.
  2. The code changes every few minutes.

Both of these can be solved by either taking a screenshot and sending it to your laptop, or using scrcpy to mirror your Android's screen to your laptop and take a screenshot there.

Once you have a picture of your screen, quickly swap back to the WhatsApp app and scan the QR code. After a few moments, your WhatsApp Web To Go will be connected.

Do not uninstall WhatsApp just yet. You need to receive a couple of messages first in order for the Web service to be able to decrypt your messages.

A bit of a faff, but it works.

Once done, you can uninstall the official app. You don't need to give WhatsApp any permissions other than the ability to scan QR codes. You don't have to let it upload your address book.

Limitations

There are a several niggles you should be aware of.

If you do not allow WhatsApp to scan your address book, there is no way to initiate a conversation. You have to wait for someone to send you a message. Once done, you can reply to them.

There's no way to add new contacts - so all you'll see is people's photos and phone numbers. If you send someone a message containing a phone number, you can then click on it and initiate a WhatsApp chat with that number.

You can be added to a group - but there's no way to create a group of your own, because you don't have any contacts. You can, however, message individual group members.

Although you can send and receive audio, video, and photos - there's no way to make or receive voice/video calls.

The interface is designed for a full sized laptop or desktop screen. So it is a little ill-suited to a mobile form factor. You can still send things like reactions, but the interface jumps around a bit.

You can't share links or media directly from other apps. You need to open the app, select the chat you want to send to, and then add the media.

There's no way I could find to update my status. But that's nothing my group of friends uses.

The app will go to sleep in the background and lose connection to the mothership. Opening the app forces it to check for new messages.

Sometimes messages don't appear and you get the error "Waiting for this message. Check your phone". You can send messages and people can see them, but you may not get their reply.

Verdict

I'm a bit sad that I couldn't convince every single person and company on Earth to leave Meta's walled garden. And I'm a bit annoyed with myself for giving in to the human need to chat to friends. And I'm a bit frustrated that there isn't a universal standard for instant messaging which is widely adopted.

I'd rather not use a messaging service which abuses my data and helps fund Zuck's madness. But life is full of compromises, eh?

WhatsApp Web To Go works for my purposes. People can drop me messages and I can read and reply at my leisure. It isn't perfect, but neither am I.


Share this post on…

5 thoughts on “WhatsApp Web for Android - a reasonable compromise?”

  1. said on mastodon.social:

    @Edent interesting. I always thought the web interface to WhatsApp required the app on a phone and the phone be connected to the network because the webapp just tunneled to the phone and acted as a remote of sorts - so keeping things E2E encrypted to phone.Looks like it must work more like a web based Signal desktop then 🤔 or something worse... need to dig into the technicals behind this as this changes the entire threat model I had for WhatsApp

    Reply | Reply to original comment on mastodon.social
  2. said on social.coop:

    @Edent Never used WhatsApp myself but to avoid it slurping up all your data I advise friends to isolate it either in a work profile using an app like shelterhttps://gitea.angry.im/PeterCxy/Shelteror better still use a Pixel with #GrapheneOS & isolate WhatsApp in a second user. Can enable notifications across user profileshttps://grapheneos.org/features#notification-forwardingEither way the profile has its own Contacts app and WhatsApp can only see contacts you add there.Been documenting profiles in this wikihttps://hub.libranet.de/wiki/and-priv-sec/wiki/user-profiles
    grapheneos
    Shelter

    Reply | Reply to original comment on social.coop

What are your reckons?

All comments are moderated and may not be published immediately. Your email address will not be published.Allowed HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <p> <pre> <br> <img src="" alt="" title="" srcset="">