Formatting devices with LineageOS
My mobile phone, a Google Nexus 6, is about to turn 7 years old. It hasn't received any updates for a long while, so I decided it's time to format it with LineageOS. I also have a Nexus 7 tablet that will share the same fate.
Activity
The age of my devices and the fact that they are manufactured by Google may surprise you. Well, I was a different person 7 years ago, and my ideals and opinions on Google have changed a lot since. What hasn't changed much is that I am frugal by nature, and I don't like to buy things that I don't need. So yes, I have thought about replacing my phone and tablet, but to be honest they are still fine at doing their job. I only use my phone to listen to podcasts, browse the web, read books, and ocasionally texting or getting directions. Whilst I only use my tablet to read manga. I've also become more environmentally conscious in the last couple of years. But as much as I'd like to buy something like a Fairphone, the most sustainable phone is the one you already have.
Having said that, I would be lying if I said that they work as smoothly as the first day. That hasn't been a problem so far, but I'm starting to notice. This also happened with my previous phone, a Sony Ericsson Xperia ray from 2011. I was about to throw it out the window when I installed CyanogenMod and it gave it a second life. We'll see if it's as efective for these ones.
I wasn't going to journal about this, but a couple of things happened. First, I already formatted the tablet and it wasn't as easy as I thought, so I thought it may be interesting to mention (I'll talk about that in a bit). And second, I realized that last year I only wrote about a single task on my journal 😱. It's not that I have dedicated less time to side-projects, but the one I worked on is taking a lot longer than expected. I also did a couple of things that would have deserved their own task. Like presenting at Solid World or implementing a CRDT in Solid. Hopefully this year I'll do a better job at separating tasks.
With all of that out of the way, here's what I've done so far.
I thought this would be easy because last time I did this it took me less than an hour. But lo and behold, there were some issues with my tablet. Turns out that the latest versions of LineageOS cannot be installed in a Nexus 7 out of the box (codenamed flo). Instead, you need to repartition the disk to convert it into a flox. And that didn't go well.
I started by rooting the device and installing TWRP. So far so good. But then, I tried to follow some instructions to repartition the disk using gparted and I bricked the device :/. To be fair, I should have seen where this was going when I started using gparted through the command-line, and inserting partition sizes by hand. After some digging, I found a script that automatically resizes the partitions, but it didn't work (probably because I had messed up the initial partitions). At this point I thought that was it, and left the device for dead for a couple of weeks. But then, when I picked it up again it ocurred to me that maybe I could wipe the entire disk and that would reestablish the default partitions. To my surprise and delight, it worked! So once that was done, I used the repartition script and following the instructions in the LineageOS wiki worked flawlesly.
The reason why I formatted the tablet first (other than I don't care as much if I break it) is that I wanted to transfer my 2FA codes in there. I only had them on my phone, and even though I know I can still access the accounts with recovery codes, I'm uneasy thinking that losing my phone would mean losing all the 2FA codes. So I also used this opportunity to transfer them to my computer. You may be thinking that I'm risking too much by having the codes in 3 devices, but the truth is that I don't care about the security of my physical devices. It's still a threat, of course, but what really worries me when it comes to security is software attacks. I'm not famous enough (or at all) to have to worry about this type of security. That's why I don't have the hard drive of my computer encrypted either, or other measures of the sort. Although some day I should probably do it.
Anyhow, getting the 2FA codes from the phone wasn't straight-forward either. I had been using Google Authenticator, but I didn't want to install Google Play on the tablet. So I thought it'd be nice to find an open source alternative in F-Droid. Now I'm using andOTP in the tablet and a browser extension in my computer. Google Authenticator has a feature to export the codes; but of course, it only works to transfer them to another device using Google Authenticator. Fortunately, I could find a script to extract the actual codes and that was it.
So yeah, now my tablet is working with LineageOS! But this story doesn't have a happy ending :(. The main annoyance of the tablet was that touch sensitivity wasn't working great. And I can't imagine why; I have used my phone 100x more and it's almost the same age, built by the same manufacturer, but the touch works well. So I thought it may have something to do with the software, but after formatting I know it doesn't. I'm not sure if I'll be able to fix this without replacing the device; but given that I only use it to read manga, it's not a huge issue for now.
Well, that went a lot better than I imagined!
I had reserved today and tomorrow in my calendar to get this done, and you can imagine my surprise when I did it in 15 minutes. Sure, backing up all my files and restoring everything wasn't so fast, but the delicate part of the process went without a hitch. I just followed the instructions, and everything worked flawlessly.
But since we're here and I've decided to talk about this, I thought it would be nice if I mention ALL the apps I've installed from scratch. This turned out a lot longer than I anticipated, so feel free to skim through it:
Apps installed
F-Droid and Aurora Store. It would have been nice to install everything from F-Droid, but I don't think I'm able to go 100% Open Source yet (or maybe never). So I searched for decent Open Source solutions first, and fell back to proprietary solutions when necessary. I have to say though, the discoverability in F-Droid is pretty awful. For one, apps have no reviews or anything to gauge their quality, so I had to look at their websites to get an idea. And the search functionality is very lackluster, so I ended up searching more on the web that on the appstore.
DuckDuckGo and Brave. I was already using DuckDuckGo as my primary browser before, but I need an alternative given that it doesn't support installing PWAs. I was using Google Chrome for this purpose, but this time I decided to go with Brave. It's actually my first time using it, because I use Firefox on Desktop. We'll see how it goes.
Talking about browsers, I love PWAs and I installed a bunch of them. I always prefer them to native apps except in some very specfic scenarios, but not all apps have a PWA counterpart. The ones I have installed now are Twitter, Mastodon, Solid Focus, Media Kraken, SettleUp, and Google Maps. The only one I'm not happy with is SettleUp (besides my own apps of course, which still need many improvements :P). I was using SettleUp's native version before, but it doesn't seem to work well without Google Services, so I'm forced to use the PWA now which is very inferior. I wasn't super happy with it to begin with. The UX is quite good but the data practices aren't, so I can't trust them for the long term.
Podcast Addict. I love this app, and I use it all the time (I logged 48 days and 4 hours of listening time since 2017, you do the math). I haven't tried many other podcasting apps, so I don't have much to compare with, but I'm so happy with it that I don't want to bother. It's also made by an independent developer, which is always a bonus for me. However, I just found out that the paying mechanism to remove ads only works with Google Services :(. The truth is that ads aren't too annoying in this app, but still, I hate ads. So I'm torn on this one... I reached out to the developer to see if there is a workaround, but if there isn't I'll really struggle to find an alternative.
DropSync + Obsidian. Much like Derek Sivers mentioned recently, I'm a big fan of plain text files. In Desktop, I always use Sublime Text for writing, and it's probably the thing I do the most on my computer (other than programming). But in Mobile, it's been a struggle. Plain text files truly are portable and resilient, but I've struggled to find editors and sync mechanisms that work for me. Some years ago I was happy using an app called JotterPad, but that didn't end well. Since that happened, I haven't been able to recover my workflow and I've dabbling with apps like Hyperdraft, which I like, but are not as good as plain text files. Hopefully, this will be a better approach until I find something definitive.
Telegram. This is the only chat app I've had on my phone for a while. I used WhatsApp a lot before, but I "successfully" quit some months ago. I say "successfully" because I haven't used it again but I've felt the consequences. I would use Signal, but it was hard enough convincing some people to install Telegram just to talk with me. I'm not fighting that battle again for a while.
NewPipe. I was using Youtube Vanced before, but this one seems better. One drawback I can see is that it doesn't allow to log in with a Google account, so I won't be able to share watch later lists. But I don't use Youtube on mobile that much anyways, so maybe I won't mind.
HEY. Not much to mention here, I have a HEY email account so this is my email client. Before having a HEY email, I was using K-9 Mail and I was quite happy with it.
andOTP. The same app I'm using in the tablet for 2FA, which made it easy to transfer codes.
LessPass. My main password manager. I used LastPass before, but last year I made the switch and so far so good. I would be lying if I said using this isn't a little bit more cumbersome, but I think it's bearable and some day I may try to improve it (thanks to the magic of Open Source :D).
QR & Barcode Scanner. Again, not much to mention here.
CaixaBank Sign. My bank account's signing app, which I'm forced to use (thank god it doesn't require Google Services). I'm also very unhappy with this one, but changing banks is something I've had on my TODO list for a while; and I haven't found any clear alternatives either.
Mi Fit. Again, another app I don't like having on my phone :/. But it's the only one compatible with my scale, which I use once a week. I'll have to replace it one of these days, but going back to my frugal mindset, this one is doing the job.
Xodo PDF Reader. This is also one of the apps I use the most in my phone. And for this category, I've tried many. Taking advantage of the fresh install, I gave some of the apps in F-Droid another chance, but none came even close. So I'm sticking with it.
Feedly. This is the one app I'm the most annoyed with. I also use it quite often, but this is something that should work perfectly in a browser. Alas, it doesn't; the responsive layout is all messed up. So I'm forced to install the app. This is also a service I'm not 100% happy with, so I'll have to switch some day.
Zoom. Essential for remote work, as you can imagine.
DAVx5. Google Calendar is yet another of those services I want to move away from, but I haven't done it yet (although the guys at Basecamp seem to have it on their radar 🤞). However, I found a way to synchronize events with the built-in calendar from LineageOS using this app. For now, this should do.
Open Camera. I don't use the camera too much, but I use it sometimes and the one that came with LineageOS wasn't too good. There is still something missing from this one though, and that is doing 360 photos. I don't usually take those, but sometimes when I go hiking I find some spots where I can't help it. And I know when the time comes, I won't have the inclination to fiddle with appstores and such. So I'll have to find a decent alternative soon, but so far I haven't found any. The app I was using before was Google Camera, but I couldn't find a way to install it in LineageOS.
OsmAnd. I'm very skeptic about this one, because Google Maps is so good. In particular, not only is it good, but it has a ton of user-contributed information that is very useful. Still, for simple navigation and maps I should be able to move away from Google, so I'll give this one a try and fall back to using the Google Maps PWA when necessary.
I realize there is a lot of bickering in that list, and I intend to eventually improve the situation. Actually, I have already started. But changing your digital habits is not something that happens in a day; or even a year. In fact, finding an ideal environment may be ultimately undesirable. But I'm still far from that ideal, and I'm enjoying the path I started walking some years ago. I've been thinking about this for a while, and I think some day I should capture all of this in a blog post. But for now, that's it for this task.
Before I'm done, though, there is one last thing I want to say. It does feel like I have a new phone. It's much faster, and even though I've installed a lot of apps, it feels like I have a lot more room to breathe. This should extend its lifespan for at least a couple more years :).
Task completed
Task started