Indie Phone Infra Dev

Independent smart-phones have recently become a reality for those of us unhappy with the way Apple and Google seek to control, own and use us. We can now choose a user-respecting alternative, thanks to Murena /e/-OS, Purism Librem 5, LineageOS and more.

With sustained dedication from their producers working with very limited budgets, these alternatives are coming along nicely and by now are certainly usable. Understandably, however, they are not yet as slick as those funded (and controlled) by the mega-corps Apple and Google.

There is much more to be done to bring the indie phones up to a level of sophistication that ordinary people find a pleasure to use and to trust. In this article I look at one rather technical aspect of it: what developments do we need on the infra side?

What's Indie Infra?

By “indie phones”, I mean smart phones designed to respect the user’s privacy, authority and autonomy, where the user holds all the keys to their data and their software and services, where the user has ultimate control and authority over the system. See for example “All I Want for Christmas is... a Smart Phone?

By “the infra side”, here I mean technology that the user doesn't think about until it fails. Network connections, accessibility, lost password, restore from backup. Technology that, in order to work effectively, needs to be integrated in the phone operating system and/or in the service provider's business, or self-hosted server side, or coordinated across a group of FOSS projects. Roughly speaking, any functionality that can't be added just as well by the user installing an app and/or signing up to an independent service.

I have been exploring the indie phones ecosystem for a few years now. I currently run LineageOS with lots of self-hosted infrastructure, and was recently delighted to received the email confirming I'm officially degoogled :–)

Indie Infra Issues

These are some of the infrastructure we need to improve, in order to make indie phones a compelling option for ordinary people.

(This list is far from exhaustive.)

I would love to have the opportunity to work on developing these issues.


Backup/restore/migrate

Need to improve on the existing tools (Titanium, Seedvault, etc.). It’s not simply a matter of writing a better backup/migrate tool: to do it well, likely requires co-operation with FOSS apps, both the apps being backed up and ones providing backup services (Nextcloud, Borg, etc.), and integration with app stores, and open standards for it all.

Push notifications, degoogled, via UnifiedPush

Currently available for self-install. To improve: integrate the client side as a pre-installed and pre-configured app, expecting the server to be available on the user’s “main account” server (e.g. Murena Cloud, Purism’s cloud, or self-hosted); collaborate to add U.P. support to more apps. Note: current interest within UnifiedPush community (March 2023) on unbundling the business logic of ‘NextPush’ as a library.

scott wrote: > It would be nice if AOSP allowed registration of different distributors from userland in the same way it does for autofill, contacts and calendar providers etc.

Now that sounds an important development. What for, exactly? For a start it could eliminate the need for each app to ask “which distributor do you want to use?” by having a central place to set/change that decision. This becomes more important as more distributors are developed, as more OS/ROM's will come with a distributor by default, and as more apps come with a built-in distributor. (Is there any other benefit it can bring, initially?) Could begin in the likes of LineageOS, micro-G, Murena /e/OS, PostMarketOS, etc. and indeed why not aim for AOSP.

Integrate key types of open identity (matrix, fediverse, ...) and corresponding “accounts”

... into the OS “accounts” settings so they can be accessed easily and uniformly across many applications. The aim is for users of open protocols to get at least as slick an experience as users of silo accounts.

Find My Device and Remote Disable

The Find My Device FOSS app is a useful start. To improve, it needs integrating, making a front end for easy activation, probably more robust safeguards against misuse/mistakes, etc. To explore: other transports than SMS?, integration with UnifiedPush?

Account recovery

(forgotten password, or after death)

E.g. nominate another person who will automatically receive access after a time or on other conditions.

Mainstream “own domain, own server”

How to make this concept available to ordinary people who can’t set up and manage a server.

App stores: personal app stores, business/community app stores

Free software should be freely modifiable and distributable. The ideal: everyone individually and groups should have easy ways to curate and share app collections, of both FOSS apps provably signed by an authority such as f-droid.org or the author, and also self-published or modified apps. People such as family members or club members subscribe to this app store if they trust its provider.

OS installer

See /e/ easy-installer for a start. The ideal would be an ordinary person can set up a new phone from scratch, using just their existing (proprietary) phone.

OS customisation templates

Self-owned tech should support and encourage customisation. The usual interactive settings, where every user starts from the same centrally provided baseline, is not enough. Both end users and resellers should be able to write, use and share templates that specify how to set up phones for e.g. their family or their small business staff. The OS installer should make this easy.

Replicable service provider

Server-side and business infra, packaged with intention to be copyable, to encourage small business providers to build up the ecosystem.


See also:

More: #lineageOS #degoogled #android


Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian​@wrily.foad.me.uk · use the Cactus Comments box above · matrix me · Fedi follow me · email me · julian.foad.me.uk Donate: via Liberapay All posts © Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise