map of the technomadique
A long time ago I wrote a piece about what I termed ‘going nomad’, that is to say, getting out of the corporate web and securing myself a measure of digital freedom and independence. In that post, something I said I would do (but never did) was to write a second post explaining the specific steps I took, the choices and compromises I made, and how it all sits together. So this is that. Be warned, this post is not especially technical, but it might end up being pretty boring as I describe what software I chose and why, etc etc.
In the first section I’m going to try to keep tangents to a minimum, and just say where I was coming from and where I ended up going. I want that section of the post to be serviceable as a kind of map or guide of sorts, so it needs to be digestible. In the second section, I’ll talk about what I feel like I’m missing from my setup, or things I’d like to improve. Finally, in the third section I’ll be in a more discursive mode, talking about the upsides, downsides, trade-offs, and general compromise and messiness of the endeavour.
When I did all of this, I mostly had to piece it together myself problem by problem, issue by issue, and I don’t think at any point I had a completely clear idea of what the possibilities or limits were (and likely still don’t). If this can help anyone skip a few steps or expedite matters, it’ll be worth the proverbial spilled ink.
For me, the biggest obstacle to getting out of the corporate web was the cloud. Even though platforms as ubiquitous as Google Drive didn’t exist as recently as 2012, today it is taken as a given that everything you do is backed up on corporate servers and synced across all your devices. In terms of functionality, this is great and seamless, but it’s entirely dependent on corporate cloud services. When planning all this, I quickly realised that whilst I could install new operating systems on my phone and computers, if I didn’t have some kind of server to link and sync them, I’d be going back a couple of decades in terms of simple functionality. Not flashy stuff, just being able to edit a document on one device and then later on another, without saving it in my drafts or putting it on a USB stick. In short, I needed my own server, and if you go down this road, you will too.
When it comes to servers, you basically have two options. The first is a Linux server hosted by a dedicated hosting company. The second is to use your own internet connection and an always-on computer of some sort where you live (e.g. an old laptop or a Raspberry Pi). I decided on the first, for reasons I’ll elaborate on in the third section, but suffice to say this initial step is pretty easy. I used Kimsufi mostly because I was familiar with them, and purchased a relatively affordable hosting plan – €7.99 a month, or €95.88 a year excluding VAT – so in practice about €10 a month. You can find them for as little as €3.99 a month, but availability for those is usually scarce. What this gets you is basically a computer running Linux that lives out there somewhere (in my case France) with a static IP address, which you can do pretty much anything you want with. You can set up a website, your own email server, a media server, or (and our focus here) a personal cloud service.
The key to that is Nexcloud, a FOSS, GDrive-esque platform that is self-hosted. Basically, you install the server package on your Linux server and get it all set up. Then you install the client application on your various devices, and sign in with your server account. The Android app is particularly nice, allowing you to automatically sync contacts, images, and basically anything you like with your server, and on desktop you do the usual folder-sync setup you’ll be familiar with from GDrive, Dropbox, etc. It’s also compatible with the standard formats used by e.g. Google use for things like calendars and contacts, so you can export that information and then throw it on to your Nextcloud server with minimal hassle.
Suffice to say, none of this is ‘simple’ in the way signing up to Gmail is. But nor is it terribly complicated. I’m not going into detail here because each step would be an article in itself, and there is already lots of good info out there. What you will need is to develop very basic familiarity with the command line, specifically on Linux. I can’t stress enough that the amount you actually need to know is really, really small, and anyone who is reasonably tech-competent can do it. You just need to be ready to go read up on how to use SSH, install packages, and navigate using commands rather than a windows-based GUI. Later you can set up remote desktop software, but honestly, once you know enough to do that, you won’t need it anymore. For the most part, you’ll just searching for installation guides, copy/pasting the relevant commands in, and then searching whatever problems come up. The only thing I’ll say is that you probably want to get the server stuff sorted before you go changing stuff like your phone OS, because it’s going to create a lot of pressure otherwise.
However, once you’ve got the server sorted and tested it on your phone and desktop, you’re now in a position to really DIGITALLY DETOX!!!!1111! If your phone uses Android, then it’s going to be steeped in Google apps, services, and walled-garden shenanigans. Obviously this is gross, so you’ll be wanting the purity of LineageOS. Lineage is a fork of what used to be CyanogenMod, probably the most widely used community-created Android distro ever, really. The original Cyanogen project ended in acrimony, but from the ashes came LineageOS, and frankly it’s a really great achievement. Although you can optionally add Google Play Services to your installation, the default is an Android operating system that is completely free of proprietary software at the front-end (though proprietary drivers for your hardware will be included) and incredibly slick.
Of course an OS is pretty thin without additional software, and managing apps on Lineage is kind of a whole thing in itself. Obviously you can always manually install individual APKs, but I don’t recommend this as it’s a pain to manage updates, and therefore a security risk. The basic ‘appstore’ that comes with LineageOS is F-Droid, and it holds to much the same principles. F-Droid only officially hosts FOSS applications, but you can manually add community-run repositories that have non-FOSS apps. If you want more than this (and you probably will), you can install independent appstore-apps like APKMirror or APKPure which have mirrors of apps as found on Google’s Playstore and can handle updates for you. The main reason to do this is to avail of a much wider selection, but bear in mind that whilst they mirror the apps, if you don’t have Play Services on your device, some of them won’t work properly or at all. This can be annoying, but it’s really just an example of the corporate capture that motivated me to do this in the first place.
So what apps do I typically use? For my launcher, I use KISS, which for my money is by far and away the best launcher on any mobile operating system, irrespective of other concerns. It’s just super fast and functional. It might be a bit spartan for some people’s tastes, but personally I love that it just gets out of the way.
For my browsing I use Firefox. Mozilla have had a rough couple of years, and it’s hard to see them reclaiming their old mojo, but the browser is still very feature-full (I am a big fan of their integrated reading app, Pocket) and their emphasis on privacy is far better than the other major browsers. More worrying is the drift towards a development model based on ad revenue; the foundation is non-profit, but if people’s jobs depend on ad revenue, that is going to colour decision-making at some point. If you prefer the aesthetics/design of Chrome, but don’t want to catch the googlies, then Brave is an excellent alternative.
For email, I went with ProtonMail (more on them shortly), for messaging and SMS, I went with Signal, and for social stuff I use a mixture of Element, Tusky, and the non-FOSS Discord. AntennaPod, Feeder, and VLC can handle basically any media that Lineage itself can’t.
In terms of core stuff that I did, that really is it. I’ve had this setup for going on two years now and honestly, it works great. But there’s definitely room for improvement.
I think the two biggest ‘problems’ I have in my set up are email and backups, for very different reasons. With email, I’m not sure it’s a problem I can really solve. Simply put, I don’t have enough faith in my hosting (note: my hosting, not my hosting service) to run my own email server. I consider email to be similar to your telephone number, in that you want it to work and, crucially, persist through device failure. Part of this is to do with my inadequate backup system, which I’ll get to, but what’s more difficult is just that if my hosting were ever to fail, or I missed a payment, or whatever, that address would vanish basically forever. Emails sent to it would bounce, and I might have no way of recovering the domain. In contrast, when I stopped using my Gmail address, I was able to set a message saying that I was no longer using it, and telling people where they could contact me. There was a lot of reassurance in that.
To some extent, I think this is actually just a species of FOMO, and of course having your email with a corporate provider is no guarantee that you’ll have the address in perpetuity, and you could lose it for a number of reasons. But in the end, I settled on a compromise by signing up to ProtonMail. They’re a privacy and security oriented company, and their income model is based on services rather than advertising. I think what I really want though is to host my email and general web identity with a third party, but in a way that is interoperable and transferable with other hosting services. For that reason I’m really interested in Tim Berners-Lee’s Solid initiative. I think Solid, or something like it, is the sort of solution I’ve been waiting for, and I’m just going to have to see how it pans out.
The really big hole in my setup though are backups. I have a decent system of backups for things like documents and images, but my server setup is not very robust. If for some reason I lost my current hosting plan, I’d have great difficulty starting it all back up again. I think I’d lose my website templates and pages, and lots of other finicky stuff that took me a long time to actually set up. I don’t have any good reason for this, I just badly need to get a proper backup system going. This would really come down to getting a large local drive to backup to, and possibly a local mirror of the server using a Raspberry Pi, which is something I’ve thought about more than thought through. I think if I had a sufficiently robust backup system, I’d be more willing to look at hosting my own email server. But it’s definitely something I haven’t planned properly yet, and which I have resolved to improve over the course of this year.
So what are the downsides, if any? Honestly, the biggest technical downside of my system as I have it set up is that without Google Play Services, notifications can be a bit fiddly from app to app. Some, especially the dedicate FOSS ones, work fine, but a lot of the proprietary apps not sourced from F-Droid tend to rely on Play Services for some really basic functionality. And of course, the other obvious downside is that some apps don’t work at all. There’s no getting around the fact that this is frustrating, but I have taken to the mindset that this is just another expression of the problems with the corporate web – walled gardens with zero interoperability. Any application or ecosystem that locks you in like that isn’t worth the price of entry.
But speaking of the price of entry, that’s the other big downside. Doing this costs cold hard cash, whereas the typical corporate web ecosystem or service is ostensibly free, and for some people that extra €120+ a year is just another bill they cannot afford. But I do have a few thoughts to offer around this.
First of all, in a fundamental sense none of this is really free. You pay for the services with your data, which is used to sell you products. In other words, in a roundabout, aggregated way, you pay for these services by buying other stuff. Of course nobody thinks that advertising affects their decisions, but in aggregate it does affect our choices (otherwise the world’s most valuable companies wouldn’t be software/advertising firms). But then again, it’s also true that some people buy a lot more stuff than others, so while your ‘free’ usage of the corporate software ecosystem isn’t free, it is in effect subsidised by the consumerism of others. In any event I don’t think this line of argument is going to persuade anyone deep down in their wallet, but it’s worth thinking about.
Perhaps a more persuasive point is to think about the things your own server lets you replace. Maybe you pay for a Netflix or Spotify subscription – you could replace that with a seedbox and a Kodi or Plex server. Maybe you pay for a VPN for certain activities you’d prefer to be semi-private or at least minimally disguised – you can now do that through your remote server. Obviously if you pay for storage or any other webhosting then that can brought under the same roof. If you add up some or all of those things, you might find going your own way actually saves you money in real terms. A final, slightly pithy point is that a lot of the apps that require Play Services are also fundamentally money sinks, designed to pull cash out of you so you can swipe more on someone or something. But if you can’t install them in the first place…
But for my money (haha), probably the trickiest issue is that once you ‘commit’ to the technomadic life, you are immediately confronted with choices, dilemmas, and trade-offs that can be more overwhelming than any of the technical obstacles you face. Your physical devices are full of proprietary hardware and software built by corporations. Hell, I have a laptop built to run Linux out of the box, and it still isn’t fully open-source. And there are bound to be further applications and tools you want to use that are proprietary, data-collecty, and corporate in nature. And then there’s the Hotel California aspect of the corporate web. Remember when I said earlier that I put an automated message on my Gmail account with a forwarding message? Why not make a clean break? Well, because I couldn’t even if I wanted to. Google will let you export your data, but they won’t get rid of it altogether. It’s theirs, forever, and that’s the case with pretty much all the corporate web entities that sell your data or rely on it for their share value. Sometimes you can ‘delete’ your account, but they keep all the data, sometimes they’ll deactivate it, but they keep all the data. In Google’s case, they just keep all the data. It’s a bit like earthly possessions: you can’t take it with you.
My best advice here is to avoid getting hung up on purity. Don’t make the perfect the enemy of the good, and recognise that your digital life is always going to be messy and full of compromises, just like your real life. There is a world of difference between being completely locked into an ecosystem ceiling to floor, wall to wall, and having a handful of corporate-y apps on the fringes of your setup that make your already sufficiently difficult life a little bit easier. Making exceptions to a good rule is much better than sticking with a bad rule out of moral paralysis. Take the broad view and recognise that on balance, your digital life will be dramatically more principled and a lot less troubling. You wouldn’t be thinking about doing this if you didn’t already feel there was something wrong with the status quo. Even if you can’t erase the decisions you’ve made, it’s still preferable to make new and better ones.
Well, that’s (finally) it. I’m probably missing a bunch of stuff, but I’m very conscious that this post is probably already a bit of a snoozefest – hopefully it’s at least potentially useful to someone, somewhere.