Signal “desktop” on an Android Tablet

I’m all in on Android. I actually like Apple products just fine too, I’m composing this post on a M1 Macbook Pro. In the past I’ve toyed with lots of Apple hardware, like the 2nd generation iPod Touch. When Google released the G1 I was hooked, a phone with a keyboard? It’s like a tiny computer in your pocket that can also make phone calls.  Since then I’ve been through a lot of Android devices, both phones and tablets.

Privacy is also important to me, and Signal is a great match for my messaging needs. It has always bothered me that while you can get a very nice desktop experience linking your “primary device” (aka your phone) to your laptop, it wasn’t really possible to run Signal on an Android tablet as a linked device. The folks at Signal enabled the iPad as a linked device, but no love for Android tablets yet.

Recently I came across a solution. Molly.im. This allows my tablet to run a version of the Signal client (Molly) and be a linked device. While I almost never am far from my phone, sometimes I’m doing something on my tablet and switching devices is a pain. I also use the Note to Self to move data between devices (links, photos, files).

Molly is a fork of the Signal client code for Android. From a security point of view, it’s using the same Signal protocol – so your data is encrypted end to end. You do have to decide to ‘trust’ that the Molly code hasn’t been compromised in some way and will leak your data. This ‘trust’ is the same trust you are giving the folks that work on the Signal client code (or the desktop application). While it is a little uncomfortable to trust yet another group of people developing some code, we do this all the time with all of the apps we run on our devices. For me, this small risk is well worth the utility of having a linked Signal client on my tablet.

Avoid Device Linking

While it may be tempting to link your Signal account to your desktop device for convenience, keep in mind that this extends your trust to an additional and potentially less secure operating system.

If your threat model calls for it, avoid linking your Signal account to a desktop device to reduce your attack surface.

The good news for me, is my threat model doesn’t cause me to be concerned about having my devices linked and spreading my private communication across multiple devices that I own. Still, this is a decision everyone should think through.

Getting setup with Molly is very easy. You start by installing F-Droid, an alternative app store for Android. This is an apk download and install, you’ll likely need to approve/enable the installation of ‘side-loaded’ content on your device.

Once you have F-Droid installed, open the app. Let it do the first time setup where it will update the various repositories. This process will probably prompt you for some additional permissions, you’ll probably want to permit them as you do want this new ‘app store’ to install more apps, and alert you when there are updates. It’s always good to pause and think about the permissions being asked for, but F-Droid is a well known application.

Now we need to configure the Molly application repository. While F-Droid comes with a built in ‘store’ of content, it also supports adding additional content sources. Go to the Molly webpage, and click on the Molly F-Droid repository. This will configure F-Droid so that it can see the Molly application. There are two versions of Molly, the FOSS one removes some of the Google integration and may be less compatible with the original Signal app – let’s pick the non-FOSS version.

At this point, it should be just like installing any application – but instead of using the Google Play store, you’re going to use F-Droid to install Molly.

Molly can act as a primary Signal installation, or as a linked device. Assuming you were able to install Molly on your device, let’s walk through the simple steps to get you linked to your existing Signal account.

When you launch Molly for the first time you will be prompted to choose additional database encryption. This is a security trade off, being asked each time to unlock the database may be annoying, but it will give you better security if your device is compromised.

Next we see the normal Signal launch screen.

We can just hit “Continue” here to move to the next screen.

This is where you can choose how many Android capabilities you want to grant the Molly app. I’ll leave this up to personal choice, I didn’t give it permission to my Contacts, but granted the others. Both Signal and Molly are good about using very limited permissions.

Next is the registration screen. While we could set this device up as a primary Signal device and link a phone number, we don’t want to do that in this case. Do not enter a phone number here. The “Link to existing device” option in the lower left is what we want to do. This will make this device act just like the ‘desktop’ version of Signal.

Here we get to give this device a name. Pressing the “Link” button will display a QR-Code we can scan from our primary device and connect the two. The Signal documentation talks about linked devices, but with Molly we bypass the limitation of multiple mobile devices.

That’s it, now enjoy Signal on your tablet via Molly.

Google Pixel 7

The Pixel 4a was a fantastic phone for me. I bought it new from Google back in the fall of 2020 when it was a current model. The end of support date snuck up on me, had it already been 3 years? I noticed in October I hadn’t had a reboot (and thus a security patch) in quite some time. The 4a had a surprise extra update in November – but this was clearly the end of the line.

The 4a was a change for me, for the most part I’d bought gently used phones at around the $200 price point that were 2-3 years old, and then used them for a year and a bit. This gave me a new toy regularly, and was fairly cost effective. Still, I was probably spending about $500 over 3 years easily -this helped me justify the purchase of a new 4a. Little did I know how much I’d enjoy having the 4a and not doing the upgrade dance regularly.

In the first weeks of 2024, my Pixel 4a was still performing well. I’d generally only need to charge it every second day. Yes, over time the battery had gotten a little worse – but not by much. The camera continued to be amazing. And wrapped in a bumper case and screen protector the phone itself was in mint condition. If it was still getting regular security patches from Google I’d have no problem continuing to use it.

Of course, LineageOS is an option. Migrating to this would give me a community supported version of Android 13. A few worries kept from from this path. I use my phone for work, and have the mobile device management stuff installed, I wasn’t convinced this would work smoothly with LineageOS.. but it has in the past (honestly I think I was looking for reasons to upgrade). The migration of apps also seemed daunting. While most things have a ‘cloud’ story and are linked to various accounts etc, some of the games I have don’t have a backup/restore story. The other pain is the lack of SafetyNet support, practically this means only Netflix won’t work for me (again, I’m looking for an excuse).

Honestly, looking back, if I’d gone through the migration effort and moved to LineageOS it would have all worked out. I would have had my security updates but been stuck back on Android 13. The work device policy is good with support for devices back to Android 12 currently. There is also a good chance the WorkProfile is still properly supported in LineageOS (it was in the past). I would have lost state in a few games, but that is minor.

Post Black Friday and leading into Christmas and Boxing week there were some crazy sales on mobile plans in Canada. CostCo was apparently offering a plan that was very low and provided a Pixel 7 on a 2 year contract for $1/mo. This has the result of many BNIB phones showing up on the local used market.

The Pixel 7 still lists for $799 directly from Google. Many of the used market phones where listing between $350-$500 still with the security seal in place. Relative to Google the local pricing is lower for a BNIB or refurbished options from retail stores.

I found someone listing one for $300, and it check out as legit. He’d done a plan upgrade/renew back in October gotten a new Pixel 7 but already had one, so he had this sealed BNIB one to sell. I suspect he’d started at a much higher price, but the recent glut of new phones on the used market pushed his price down. There were other similar phones for $330 to be had. This price point made getting a phone upgrade a smart move for me as it still has 3+ years of support from Google.

There are plenty of phone comparison sites, but let me run down things that I see as trade offs.

  • I’ll probably miss the back fingerprint sensor, the in screen optical one is “ok” but not nearly as reliable.
  • The 4a has a 3.5mm headphone jack, this is a useful way to interrupt bluetooth connectivity nonsense with my car/ bluetooth headphones. I can use a USB-C adapter, but it’s not the same.
  • The Pixel 7 is bigger, there are pros and cons to a larger phone.
  • As stated above, the Pixel 7 is still currently supported. This is a big win.
  • The camera is better in the Pixel 7, but the 4a certainly held it’s own. Very minor difference.

The Pixel 7 is a very pretty phone, I’m not a fan of the all glass back, but it is very sexy. Of course, the first thing is to buy a case and screen protector before I even take it out of the box. I grabbed a case very similar to the one I’ve had on my 4a from Amazon. I headed to eBay to get a screen protector from a seller I’ve used previously. This meant a few day wait, but that wasn’t a big deal.

All good – now it’s wrapped and ready to roll. The bumper case has these nice extended corners which add protection, but also give you something to grip onto. There is a subtle roughness on the sides too, making the phone less slick. The screen protector doesn’t have any cut-outs for the camera, this is similar to the one I had on my 4a and it had no negative impact for my use.

The phones are significantly different in size, with the Pixel 4a on the left and the Pixel 7 on the right. I’ll point at a comparison article if you want to look at the specifications side by side. I was interested in the in pocket weight, including the case. The 4a is 175g vs the 7 at 231g – yikes, 32% heavier. This is enough that you notice the difference, but I’ve gotten use to the added heft and size.

Continue reading “Google Pixel 7”

Pixel 1 data recovery.. (backup your data)

Like many parents, my kids have hand me down phones. This is generally a great way to extend the life of a device, and teenagers can be tough on phones. Some more than others.

My oldest has been one of those kids who has been generally gentle with technology, and the devices tend to last. I’ve replaced a few tempered glass screen protectors but those are disposable. I have to admit that I didn’t take the signs of problems seriously when the screen on the Google Pixel 1 started to go black occasionally – a hard reboot often fixed things up. This was just some mysterious software issue I thought.

Nope. It was the early signs of the screen going bad. One day, the screen just stayed black no matter what I did. Did we have a recent backup? Nope, it was many months old. That’s also on me. At the first sign of any weirdness with a mobile device, checking the current backup status should be a high priority.

This device was running LineageOS, and unfortunately the default security is pretty good. Oh, I tried lots of things. Blindly, boot device into fastboot mode. Load a recovery via fastboot – connect to that via adb.. but just not enough magic to get through decrypting the filesystem via recovery without access to the screen. This was back in 2020. I would try from time to time to figure out a way to recover a screen-less Android phone running LineageOS, but it continued to resist my attempts.

The picture at the top of the post is the very busted screen from the Pixel 1. At one point in my recovery attempts I thought – maybe it’s simply that the ribbon cable needs to be re-seated? Despite being careful, I can safely report that removing the screen is very hard and you’re likely to break it. I pretty much destroyed that screen.

I had reached out to a local repair shop, but they only were interested in selling me a complete screen replacement – not helping me hook up a screen and recover the data. I continued to look for economical screen replacement options, but at this point I didn’t even know if the screen was the problem.

Just the other day, I found a pair of used Pixel1 screens for $30 + $10 shipping. This was cheap enough that it was worth the risk. I got lucky, the used screen was exactly what I needed.

Cool. There is hope. The phone battery was very dead, so it wasn’t allowing me to power it on. My initial attempts to power on were also scary, I kept getting “no OS found, corrupted data”. I was able to boot to the fastboot screen, but not able to start the recovery image (if there even is one?).

After a few minutes of charging, and more attempts to boot – it started to load!

I was so happy to see the LineageOS boot screen. Now I was crossing my fingers hoping I’d get a full boot without problems. This next image increased my joy.

The touch screen worked fine, and I was able to log in. I was so close to being able to recover the files from this phone, but I had to let it charge up.

Once it was charged, unlocking the phone and connecting a laptop to it was trivial. I was able to pull down the 900+ photos and push them up to my fileserver for safe keeping. In the end it took a couple of years to recover, but I’m glad I kept at it. I also was very lucky that it was only the screen.

Go backup your data. Better yet, invest the time to create a regular backup system. Test your backups.