<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>eos &amp;mdash; julian</title>
    <link>https://wrily.foad.me.uk/tag:eos</link>
    <description>FOSS dev, self-hosting fan, Matrix, degoogling, small tech, indie tech, friendly tech for families and schools. Let&#39;s own our own identity &amp; data.</description>
    <pubDate>Wed, 29 Apr 2026 05:25:09 +0000</pubDate>
    <item>
      <title>UnifiedPush -- Wider Developments</title>
      <link>https://wrily.foad.me.uk/unifiedpush-wider-developments</link>
      <description>&lt;![CDATA[img src=&#34;https://blog.foad.me.uk/wp-content/uploads/2024/11/unifiedpush-favicon-128.png&#34; style=&#34;max-height: 5em&#34; /&#xA;&#xA;An article about Building the Self-Agency Mobile Ecosystem: Push Messaging&#xA;&#xA;Push messaging is the system that enables incoming messages to wake up and reach our apps, instantly and efficiently. But Who Cares Who Delivers Our Notifications? Our answer is: we care, and we do not like being locked in to depending on one mega-corp&#39;s system.&#xA;&#xA;Therefore, in our libre mobile computing devices, we require a push-messaging infrastructure built from open standard technology that gives us freedom to choose our service providers and authority over them.&#xA;&#xA;Read more in Going Google-Free with UnifiedPush in /e/OS and my other articles about UnifiedPush .&#xA;&#xA;How We Get There&#xA;&#xA;How can we build this? What is needed to get widespread UnifiedPush support in /e/ and other mobile OS?&#xA;!--more--&#xA;&#xA;The big picture involves several areas of work.&#xA;&#xA;OS integration of the distributor, including how it&#39;s configured, auto-detected, optimised, etc.&#xA;Server Software: Making sure a suitable server-side component is available, supported, optimised for this use case.&#xA;Server hosting: making sure a server component is easily deployable by others, including making generic deployment methods (Debian, Docker, Nix, K8s, ...) and integrating it in some hosting systems.&#xA;Apps: Working with other apps to make sure they connect and work with UP out-of-the-box.&#xA;Sharing this work among other mobile OS projects (microG, CalyxOS, GrapheneOS, PostmarketOS, ...) .&#xA;Consider standardising a UP client-server protocol so that a built-in distributor can work with several different server implementations and vice-versa.&#xA;&#xA;(Links in this and the following sections lead to relevant issues or discussions, where I could find any.)&#xA;&#xA;OS Integration of the UP Distributor&#xA;&#xA;Including how the UP distributor is configured, auto-detected, optimised, Android permissions, etc.&#xA;&#xA;I recently analysed how /e/OS 2.5 has started the ball rolling&#xA;&#xA;Server Software&#xA;&#xA;Making sure a suitable server-side component is available, supported, optimised for this use case&#xA;&#xA;Nextcloud: UnifiedPush Provider -- exists&#xA;It could alternatively begin with a fork of ntfy-server for example.&#xA;&#xA;Server Hosting: Technical&#xA;&#xA;Making sure a server component is easily deployable by others, including making generic deployment methods (Debian, Docker, Nix, K8s, ...) and integrating it in some hosting systems, ranging from hobbyist to serious commercial systems.&#xA;&#xA;Docker ntfy -- exists&#xA;K8s ntfy helm-chart -- exists&#xA;Nextcloud: UnifiedPush Provider -- exists&#xA;Matrix-Docker-Ansible-Deploy: ntfy-server -- exists&#xA;Yunohost: ntfy-server -- exists&#xA;SelfHostBlocks -- not yet&#xA;CoopCloud -- not yet&#xA;Fediversity (an upcoming hosting project) -- not yet&#xA;&#xA;Server Hosting: Social/Business Aspects&#xA;&#xA;Work out and write up (shareable) policies about who hosts, terms and conditions, privacy, rate limiting and other special measures, etc.?&#xA;&#xA;Apps&#xA;&#xA;Working with other apps to make sure they connect and work with UP out-of-the-box.&#xA;&#xA;Category 1: default apps in /e/OS etc., like...&#xA;&#xA;Mail: K9/Thunderbird-andriod #5165 and UnifiedPush for IMAP (NGI proposal 2024-10-535)&#xA;Nextcloud -uppush #17 -notifications #1225 -android #8684&#xA;Accounts/Calendar/Contacts (DAVx5 #36 + DAV-push)&#xA;&#xA;Category 2: other popular apps like...&#xA;&#xA;HomeAssistant #446344&#xA;Fluffychat -- exists&#xA;Element -- exists&#xA;Signal forks&#xA;Telegram-FOSS #577&#xA;Conversations.im -- exists&#xA;Pixelfed #86&#xA;&#xA;See also the UnifiedPush wish list.&#xA;&#xA;Sharing with other mobile OS projects&#xA;&#xA;Sharing this work among other mobile OS projects.&#xA;&#xA;/e/OS -- exists&#xA;microG #486&#xA;CalyxOS #1395&#xA;GrapheneOS #10455&#xA;PostmarketOS -- UnifiedPush, Push notifications&#xA;SailfishOS -- mentioned in 2023-01-12 meeting minutes as blocked by much work needed to enable background services&#xA;&#xA;And even desktop OS:&#xA;&#xA;KUnifiedPush -- exists -- note also KDE runs their own (ntfy) UP server&#xA;&#xA;Standardising UP client-server protocol?&#xA;&#xA;Should we consider standardising the UP client-server protocol? At present, by design, one must choose a UP distributor and UP server together as a pair. If we standardised the protocol between them, so any distributor would work with any server, this would certainly have some benefits, but also down-sides, and is not necessarily the right thing to do. UP was designed this way on purpose and achieves its goals without needing to standardise there. No ordinary person needs to be able to change their UP implementation. Only techies and service providers might like to do that.&#xA;&#xA;Therefore this is an exploration rather than a development. I discuss this further in a separate article.&#xA;&#xA;---&#xA;&#xA;#unifiedPush #degoogled #awesomeFOSS #eOS #Murena #ntfy #mobiFree&#xA;&#xA;!--more--&#xD;&#xA;----&#xD;&#xA;Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian&amp;ZeroWidthSpace;@wrily.foad.me.uk · matrix me · Fedi follow me · email me · julian.foad.me.uk&#xD;&#xA;Donate: via Liberapay&#xD;&#xA;All posts &amp;copy; Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://unifiedpush.org/" title="UnifiedPush"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/11/unifiedpush-favicon-128.png" style="max-height: 5em"/></a></p>

<p><em>An article about Building the Self-Agency Mobile Ecosystem: Push Messaging</em></p>

<p>Push messaging is the system that enables incoming messages to wake up and reach our apps, instantly and efficiently. But <a href="https://wrily.foad.me.uk/who-cares-who-delivers-our-notifications">Who Cares Who Delivers Our Notifications?</a> Our answer is: we care, and we do not like being locked in to depending on one mega-corp&#39;s system.</p>

<p>Therefore, in our libre mobile computing devices, we require a push-messaging infrastructure built from open standard technology that gives us freedom to choose our service providers and authority over them.</p>

<p>Read more in <a href="https://wrily.foad.me.uk/going-google-free-with-unifiedpush-in-e-os">Going Google-Free with UnifiedPush in /e/OS</a> and my other <a href="https://wrily.foad.me.uk/tag:unifiedPush">articles about UnifiedPush</a> .</p>

<h2 id="how-we-get-there" id="how-we-get-there">How We Get There</h2>

<p>How can we build this? What is needed to get widespread UnifiedPush support in /e/ and other mobile OS?
</p>

<p>The big picture involves several areas of work.</p>
<ul><li>OS integration of the distributor, including how it&#39;s configured, auto-detected, optimised, etc.</li>
<li>Server Software: Making sure a suitable server-side component is available, supported, optimised for this use case.</li>
<li>Server hosting: making sure a server component is easily deployable by others, including making generic deployment methods (Debian, Docker, Nix, K8s, ...) and integrating it in some hosting systems.</li>
<li>Apps: Working with other apps to make sure they connect and work with UP out-of-the-box.</li>
<li>Sharing this work among other mobile OS projects (<a href="https://github.com/microg/GmsCore/issues/486">microG</a>, <a href="https://gitlab.com/CalyxOS/calyxos/-/issues/1395">CalyxOS</a>, <a href="https://discuss.grapheneos.org/d/10455-unifiedpushntfy-integration-in-the-os">GrapheneOS</a>, <a href="https://postmarketos.org/">PostmarketOS</a>, ...) .</li>
<li>Consider standardising a UP client-server protocol so that a built-in distributor can work with several different server implementations and <em>vice-versa</em>.</li></ul>

<p>(Links in this and the following sections lead to relevant issues or discussions, where I could find any.)</p>

<h2 id="os-integration-of-the-up-distributor" id="os-integration-of-the-up-distributor">OS Integration of the UP Distributor</h2>

<p>Including how the UP distributor is configured, auto-detected, optimised, Android permissions, etc.</p>
<ul><li>I recently analysed how <a href="https://wrily.foad.me.uk/going-google-free-with-unifiedpush-in-e-os" title="Going Google-Free with UnifiedPush in /e/OS">/e/OS 2.5 has started the ball rolling</a></li></ul>

<h2 id="server-software" id="server-software">Server Software</h2>

<p>Making sure a suitable server-side component is available, supported, optimised for this use case</p>
<ul><li><a href="https://apps.nextcloud.com/apps/uppush">Nextcloud: UnifiedPush Provider</a> — <strong>exists</strong></li>
<li>It could alternatively begin with a fork of ntfy-server for example.</li></ul>

<h2 id="server-hosting-technical" id="server-hosting-technical">Server Hosting: Technical</h2>

<p>Making sure a server component is easily deployable by others, including making generic deployment methods (Debian, Docker, Nix, K8s, ...) and integrating it in some hosting systems, ranging from hobbyist to serious commercial systems.</p>
<ul><li><a href="https://hub.docker.com/r/binwiederhier/ntfy">Docker ntfy</a> — <strong>exists</strong></li>
<li><a href="https://codeberg.org/wrenix/helm-charts/src/branch/main/ntfy">K8s ntfy helm-chart</a> — <strong>exists</strong></li>
<li><a href="https://apps.nextcloud.com/apps/uppush">Nextcloud: UnifiedPush Provider</a> — <strong>exists</strong></li>
<li><a href="https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-ntfy.md">Matrix-Docker-Ansible-Deploy: ntfy-server</a> — <strong>exists</strong></li>
<li><a href="https://apps.yunohost.org/app/ntfy">Yunohost: ntfy-server</a> — <strong>exists</strong></li>
<li><a href="https://shb.skarabox.com/services.html">SelfHostBlocks</a> — not yet</li>
<li><a href="https://recipes.coopcloud.tech/">CoopCloud</a> — not yet</li>
<li><a href="https://www.fediversity.eu/">Fediversity</a> (an upcoming hosting project) — not yet</li></ul>

<h2 id="server-hosting-social-business-aspects" id="server-hosting-social-business-aspects">Server Hosting: Social/Business Aspects</h2>

<p>Work out and write up (shareable) policies about who hosts, terms and conditions, privacy, rate limiting and other special measures, etc.?</p>

<h2 id="apps" id="apps">Apps</h2>

<p>Working with other apps to make sure they connect and work with UP out-of-the-box.</p>

<p>Category 1: default apps in /e/OS etc., like...</p>
<ul><li>Mail: <a href="https://github.com/thunderbird/thunderbird-android/issues/5165">K9/Thunderbird-andriod #5165</a> and <a href="https://lab.trax.im/up-for-imap/up-for-imap/-/wikis/NGI-Proposal">UnifiedPush for IMAP (NGI proposal <code>2024-10-535</code>)</a></li>
<li>Nextcloud <a href="https://codeberg.org/NextPush/uppush/pulls/17">-uppush #17</a> <a href="https://github.com/nextcloud/notifications/issues/1225#issuecomment-2262644834">-notifications #1225</a> <a href="https://github.com/nextcloud/android/issues/8684">-android #8684</a></li>
<li>Accounts/Calendar/Contacts (<a href="https://github.com/bitfireAT/webdav-push/discussions/36" title="Tutorial video- How to use Push with DAVx⁵ and your Nextcloud">DAVx5 #36</a> + <a href="https://github.com/bitfireAT/nc_ext_dav_push">DAV-push</a>)</li></ul>

<p>Category 2: other popular apps like...</p>
<ul><li><a href="https://community.home-assistant.io/t/add-unifiedpush-support-to-home-assistant-android-core/446344">HomeAssistant #446344</a></li>
<li>Fluffychat — <strong>exists</strong></li>
<li>Element — <strong>exists</strong></li>
<li>Signal forks</li>
<li><a href="https://github.com/Telegram-FOSS-Team/Telegram-FOSS/issues/577">Telegram-FOSS #577</a></li>
<li>Conversations.im — <strong>exists</strong></li>
<li><a href="https://github.com/pixelfed/ideas/issues/86">Pixelfed #86</a></li></ul>

<p>See also the <a href="https://codeberg.org/UnifiedPush/wishlist/issues">UnifiedPush wish list</a>.</p>

<h2 id="sharing-with-other-mobile-os-projects" id="sharing-with-other-mobile-os-projects">Sharing with other mobile OS projects</h2>

<p>Sharing this work among other mobile OS projects.</p>
<ul><li><a href="https://wrily.foad.me.uk/going-google-free-with-unifiedpush-in-e-os">/e/OS</a> — <strong>exists</strong></li>
<li><a href="https://github.com/microg/GmsCore/issues/486">microG #486</a></li>
<li><a href="https://gitlab.com/CalyxOS/calyxos/-/issues/1395">CalyxOS #1395</a></li>
<li><a href="https://discuss.grapheneos.org/d/10455-unifiedpushntfy-integration-in-the-os">GrapheneOS #10455</a></li>
<li><a href="https://postmarketos.org/">PostmarketOS</a> — <a href="https://wiki.postmarketos.org/wiki/UnifiedPush" title="wiki page">UnifiedPush</a>, <a href="https://wiki.postmarketos.org/wiki/Push_notifications" title="wiki page">Push notifications</a></li>
<li><a href="https://sailfishos.org">SailfishOS</a> — mentioned <a href="https://forum.sailfishos.org/t/community-meeting-on-irc-12th-january-2023/13729/9">in 2023-01-12 meeting minutes</a> as blocked by much work needed to enable background services</li></ul>

<p>And even desktop OS:</p>
<ul><li><a href="https://blogs.kde.org/2024/10/19/kunifiedpush-1.0.0-is-out/">KUnifiedPush</a> — <strong>exists</strong> — note also KDE runs their own (ntfy) UP server</li></ul>

<h2 id="standardising-up-client-server-protocol" id="standardising-up-client-server-protocol">Standardising UP client-server protocol?</h2>

<p>Should we consider standardising the UP client-server protocol? At present, by design, one must choose a UP distributor and UP server together as a pair. If we standardised the protocol between them, so any distributor would work with any server, this would certainly have some benefits, but also down-sides, and is not necessarily the right thing to do. UP was designed this way on purpose and achieves its goals without needing to standardise there. No ordinary person needs to be able to change their UP implementation. Only techies and service providers might like to do that.</p>

<p>Therefore this is an exploration rather than a development. I discuss this further in <a href="https://wrily.foad.me.uk/unifiedpush-standardise-up-client-server-protocol">a separate article</a>.</p>

<hr>

<p><a href="https://wrily.foad.me.uk/tag:unifiedPush" class="hashtag"><span>#</span><span class="p-category">unifiedPush</span></a> <a href="https://wrily.foad.me.uk/tag:degoogled" class="hashtag"><span>#</span><span class="p-category">degoogled</span></a> <a href="https://wrily.foad.me.uk/tag:awesomeFOSS" class="hashtag"><span>#</span><span class="p-category">awesomeFOSS</span></a> <a href="https://wrily.foad.me.uk/tag:eOS" class="hashtag"><span>#</span><span class="p-category">eOS</span></a> <a href="https://wrily.foad.me.uk/tag:Murena" class="hashtag"><span>#</span><span class="p-category">Murena</span></a> <a href="https://wrily.foad.me.uk/tag:ntfy" class="hashtag"><span>#</span><span class="p-category">ntfy</span></a> <a href="https://wrily.foad.me.uk/tag:mobiFree" class="hashtag"><span>#</span><span class="p-category">mobiFree</span></a></p>



<hr>

<p><em>Follow/Feedback/Contact:</em> <a href="https://wrily.foad.me.uk/feed/"><em>RSS feed</em></a> · <em>Fedi follow this blog: @julian​@wrily.foad.me.uk</em> · <a href="https://matrix.to/#/@julian:foad.me.uk" title="matrix Julian"><em>matrix me</em></a> · <a href="https://fed.foad.me.uk/%40julian%40fed.foad.me.uk" title="follow Julian"><em>Fedi follow me</em></a> · <a href="mailto:julian@foad.me.uk?subject=Wrily" title="email Julian"><em>email me</em></a> · <a href="https://julian.foad.me.uk/"><em>julian.foad.me.uk</em></a>
<em>Donate:</em> <a href="https://liberapay.com/julianfoad" title="Donate to Julian using Liberapay"><em>via Liberapay</em></a>
<em>All posts © Julian Foad and licensed <a href="https://creativecommons.org/licenses/by-nd/4.0/">CC-BY-ND</a> except quotes, translations, or where stated otherwise</em></p>
]]></content:encoded>
      <guid>https://wrily.foad.me.uk/unifiedpush-wider-developments</guid>
      <pubDate>Wed, 27 Nov 2024 14:48:00 +0000</pubDate>
    </item>
    <item>
      <title>UnifiedPush: Standardise UP Client-Server Protocol?</title>
      <link>https://wrily.foad.me.uk/unifiedpush-standardise-up-client-server-protocol</link>
      <description>&lt;![CDATA[img src=&#34;https://blog.foad.me.uk/wp-content/uploads/2024/11/unifiedpush-favicon-128.png&#34; style=&#34;max-height: 5em&#34; /&#xA;&#xA;This is a technical article. For a more general introduction to UnifiedPush you might read the first half of Going Google-Free with UnifiedPush in /e/OS or my other articles about UnifiedPush .&#xA;&#xA;Should we consider standardising a UP client-server protocol so that a built-in distributor can work with several different server implementations and vice-versa?&#xA;&#xA;Not necessarily, and I will attempt to explain why.&#xA;!--more--&#xA;&#xA;UnifiedPush High Level Architecture&#xA;&#xA;UnifiedPush animation.svg&#xA;&#xA;Look at the diagrams on the unifiedpush.org home page. There are four connections involved, shown arranged in a square. UP standardises the protocol for one of the connections, the bottom one (UP distributor - app). It also standardises something about how the whole system works.&#xA;&#xA;The protocol on the top connection (App server -  UP server) has recently been upgraded to be compatible with WebPush.&#xA;&#xA;The other two (App - app-server and UP - UP-server) are two other, separate, independent protocols. The protocol the app developer uses for app - app-server is not relevant to UnifiedPush. At present, UnifiedPush standards also do not specify a protocol to be used for the connection between the UP server and the UP distributor (shown on the left).&#xA;&#xA;The ntfy distributor requires a ntfy server, whereas the nextpush distributor requires a nextpush server, and so on. They use different protocols for that link in the chain.&#xA;&#xA;Multiple Protocols or Standardised Protocol&#xA;&#xA;It would be possible to make a UP server that supports (for example) both the NextPush and ntfy protocol(s). In fact ntfy supports two different protocols (the &#34;json&#34; one and the &#34;websocket&#34; one) and you choose one in the settings. The ntfy server supports both of those.&#xA;&#xA;The point is, UP achieves its goals without needing to standardise there. In some respects it&#39;s beneficial that the user and/or service provider can choose those components and protocol that best suit their needs, while the end-user apps and app servers all still remain completely compatible (standardised) no matter what UP components are used.&#xA;&#xA;Additionally standardising the UP - UP-server protocol could make different UP servers and distributors interoperable. It could potentially help with users bringing their own choice of device (assuming it has a UP distributor built in) from one service provider to another, for example.&#xA;&#xA;But that&#39;s more of a deployment-level standard: something that service providers might want to standardise. Android-compatible mobile OS&#39;s (for example) might get together and declare &#34;we&#34; (as a loose group) like to standardise on (let&#39;s say) ntfy-websocket protocol here, because (suppose) it works best with android&#39;s OS network layer and sleep optimisations. (Just examples; I have not researched what protocol actually works best in each scenario.) Then, Linux-based mobile OS&#39;s might choose a different protocol that works better with Linux&#39;s networking and sleep optimisations. Then, if a certain libre mobile service provider wanted to support both android-compatible and linux-based devices, they might choose to support two protocols. Or would standardising on one protocol be more helpful in such a scenario? It&#39;s not clear.&#xA;&#xA;No ordinary person needs to be able to change their UP implementation. Only techies and service providers might like to do that.&#xA;&#xA;So, at this stage this is perhaps the least important of all the areas to work on.&#xA;&#xA;---&#xA;&#xA;First explained in #unifiedpush:matrix.org.&#xA;&#xA;#unifiedPush #degoogled #awesomeFOSS #eOS #Murena #ntfy #mobiFree&#xA;&#xA;!--more--&#xD;&#xA;----&#xD;&#xA;Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian&amp;ZeroWidthSpace;@wrily.foad.me.uk · matrix me · Fedi follow me · email me · julian.foad.me.uk&#xD;&#xA;Donate: via Liberapay&#xD;&#xA;All posts &amp;copy; Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://unifiedpush.org/" title="UnifiedPush"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/11/unifiedpush-favicon-128.png" style="max-height: 5em"/></a></p>

<p><em>This is a technical article. For a more general introduction to UnifiedPush you might read the first half of <a href="https://wrily.foad.me.uk/going-google-free-with-unifiedpush-in-e-os">Going Google-Free with UnifiedPush in /e/OS</a> or my other <a href="https://wrily.foad.me.uk/tag:unifiedPush">articles about UnifiedPush</a> .</em></p>

<p>Should we consider standardising a UP client-server protocol so that a built-in distributor can work with several different server implementations and <em>vice-versa</em>?</p>

<p>Not necessarily, and I will attempt to explain why.
</p>

<h2 id="unifiedpush-high-level-architecture" id="unifiedpush-high-level-architecture">UnifiedPush High Level Architecture</h2>

<p><a href="https://unifiedpush.org/"><img src="https://unifiedpush.org/img/animation.svg" alt="UnifiedPush animation.svg" title="UnifiedPush High Level Architecture diagram, from its home page"></a></p>

<p>Look at the diagrams on the <a href="https://unifiedpush.org/">unifiedpush.org</a> home page. There are four connections involved, shown arranged in a square. UP standardises the protocol for one of the connections, the bottom one (UP distributor &lt;–&gt; app). It also standardises something about how the whole system works.</p>

<p>The protocol on the top connection (App server –&gt; UP server) has recently been upgraded to be compatible with WebPush.</p>

<p>The other two (App &lt;–&gt; app-server and UP &lt;–&gt; UP-server) are two other, separate, independent protocols. The protocol the app developer uses for app &lt;–&gt; app-server is not relevant to UnifiedPush. At present, UnifiedPush standards also do not specify a protocol to be used for the connection between the UP server and the UP distributor (shown on the left).</p>

<p>The ntfy distributor requires a ntfy server, whereas the nextpush distributor requires a nextpush server, and so on. They use different protocols for <em>that</em> link in the chain.</p>

<h2 id="multiple-protocols-or-standardised-protocol" id="multiple-protocols-or-standardised-protocol">Multiple Protocols or Standardised Protocol</h2>

<p>It would be possible to make a UP server that supports (for example) both the NextPush and ntfy protocol(s). In fact ntfy supports two different protocols (the “json” one and the “websocket” one) and you choose one in the settings. The ntfy server supports both of those.</p>

<p>The point is, UP achieves its goals without needing to standardise there. In some respects it&#39;s beneficial that the user and/or service provider can choose those components and protocol that best suit their needs, while the end-user apps and app servers all still remain completely compatible (standardised) no matter what UP components are used.</p>

<p>Additionally standardising the UP &lt;–&gt; UP-server protocol could make different UP servers and distributors interoperable. It could potentially help with users bringing their own choice of device (assuming it has a UP distributor built in) from one service provider to another, for example.</p>

<p>But that&#39;s more of a deployment-level standard: something that service providers might want to standardise. Android-compatible mobile OS&#39;s (for example) might get together and declare “we” (as a loose group) like to standardise on (let&#39;s say) ntfy-websocket protocol here, because (suppose) it works best with android&#39;s OS network layer and sleep optimisations. (Just examples; I have not researched what protocol actually works best in each scenario.) Then, Linux-based mobile OS&#39;s might choose a different protocol that works better with Linux&#39;s networking and sleep optimisations. Then, if a certain libre mobile service provider wanted to support both android-compatible and linux-based devices, they might choose to support two protocols. Or would standardising on one protocol be more helpful in such a scenario? It&#39;s not clear.</p>

<p>No ordinary person needs to be able to change their UP implementation. Only techies and service providers might like to do that.</p>

<p>So, at this stage this is perhaps the least important of all the areas to work on.</p>

<hr>

<p><em>First explained in <a href="https://matrix.to/#/%23unifiedpush:matrix.org"><code>#unifiedpush:matrix.org</code></a>.</em></p>

<p><a href="https://wrily.foad.me.uk/tag:unifiedPush" class="hashtag"><span>#</span><span class="p-category">unifiedPush</span></a> <a href="https://wrily.foad.me.uk/tag:degoogled" class="hashtag"><span>#</span><span class="p-category">degoogled</span></a> <a href="https://wrily.foad.me.uk/tag:awesomeFOSS" class="hashtag"><span>#</span><span class="p-category">awesomeFOSS</span></a> <a href="https://wrily.foad.me.uk/tag:eOS" class="hashtag"><span>#</span><span class="p-category">eOS</span></a> <a href="https://wrily.foad.me.uk/tag:Murena" class="hashtag"><span>#</span><span class="p-category">Murena</span></a> <a href="https://wrily.foad.me.uk/tag:ntfy" class="hashtag"><span>#</span><span class="p-category">ntfy</span></a> <a href="https://wrily.foad.me.uk/tag:mobiFree" class="hashtag"><span>#</span><span class="p-category">mobiFree</span></a></p>



<hr>

<p><em>Follow/Feedback/Contact:</em> <a href="https://wrily.foad.me.uk/feed/"><em>RSS feed</em></a> · <em>Fedi follow this blog: @julian​@wrily.foad.me.uk</em> · <a href="https://matrix.to/#/@julian:foad.me.uk" title="matrix Julian"><em>matrix me</em></a> · <a href="https://fed.foad.me.uk/%40julian%40fed.foad.me.uk" title="follow Julian"><em>Fedi follow me</em></a> · <a href="mailto:julian@foad.me.uk?subject=Wrily" title="email Julian"><em>email me</em></a> · <a href="https://julian.foad.me.uk/"><em>julian.foad.me.uk</em></a>
<em>Donate:</em> <a href="https://liberapay.com/julianfoad" title="Donate to Julian using Liberapay"><em>via Liberapay</em></a>
<em>All posts © Julian Foad and licensed <a href="https://creativecommons.org/licenses/by-nd/4.0/">CC-BY-ND</a> except quotes, translations, or where stated otherwise</em></p>
]]></content:encoded>
      <guid>https://wrily.foad.me.uk/unifiedpush-standardise-up-client-server-protocol</guid>
      <pubDate>Tue, 26 Nov 2024 20:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Going Google-Free with UnifiedPush in /e/OS</title>
      <link>https://wrily.foad.me.uk/going-google-free-with-unifiedpush-in-e-os</link>
      <description>&lt;![CDATA[img src=&#34;https://blog.foad.me.uk/wp-content/uploads/2024/11/unifiedpush-favicon-128.png&#34; style=&#34;max-height: 5em&#34; / img src=&#34;https://blog.foad.me.uk/wp-content/uploads/2024/11/eos-logose-logo-color.png&#34; style=&#34;max-height: 5em&#34; /&#xA;&#xA;Congratulations UnifiedPush! Congratulations Murena!&#xA;&#xA;Murena&#39;s /e/OS 2.5 ships with UnifiedPush support included as announced by a small note in the 2.5-t release notes .&#xA;&#xA;This exciting development brings Google-free push messaging to the regular users of an important player in the freedom mobile OS space.&#xA;!--more--&#xA;&#xA;So What?&#xA;&#xA;Push messaging is the system that enables incoming messages to wake up and reach our apps, instantly and efficiently.&#xA;&#xA;To achieve this, the phone operating system keeps a single network connection open to a push messaging server. The apps don&#39;t need to keep running in the background: they can go to sleep. When a push message arrives, the OS wakes up the relevant app and hands it the message.&#xA;&#xA;All our apps share this push service -- even the &#34;private&#34; ones -- if they want push messaging. &#xA;&#xA;That&#39;s great, except... Who Cares Who Delivers Our Notifications?&#xA;&#xA;Until now, most people&#39;s phones run Google or Apple software. The Big Techs operate and control those phones. Along with everything else, they provide the push messaging service. And so they, Big Tech, control it.&#xA;&#xA;The UnifiedPush public open standard changes this. With UnifiedPush, we are no longer merely &#34;users&#34; of our devices but are in charge of them. With UnifiedPush, we can choose which service provider will deliver our push messaging. Thereby we are in control of who has the ability to monitor or block our push messaging.&#xA;&#xA;UnifiedPush has been available to those interested, for a while now, but until now it has required installing extra software.&#xA;&#xA;Putting the support for push messaging into the operating system means delusers/del people who choose not to be operated by Big Tech will now be able to simply install the apps they care about and immediately have the alternative system working for them.&#xA;&#xA;Technical&#xA;&#xA;I&#39;m going to delve into the technical side of this initial release, because it&#39;s a big interest area of mine. If you are a regular user, I suggest at this stage you might concentrate on switching to /e/OS or another freedom mobile OS and expect this functionality will be maturing quickly from now on and soon be seamless. If you&#39;re an early adopter or interested in its development, read on.&#xA;&#xA;I am trying it out. I already run /e/OS on my main phone and upgrading to version 2.5 was simple with the built-in upgrader.&#xA;&#xA;The OS embeds a custom fork of ntfy, calling itself &#34;foundation.e.ntfy 1.17.0&#34;. So, congratulations also to ntfy! At this stage the developer of ntfy, Philip Heckel, told me in #ntfy room he was &#34;not yet involved&#34; in this development and this is the &#34;First I&#39;m hearing about it.&#34;&#xA;&#xA;ntfy is a notification system that can also provide UnifiedPush service. It is so good at this job that it has for some time been the UnifiedPush implementation recommended for most people. One can install the ntfy app and it provides UnifiedPush service to our other apps.&#xA;&#xA;When we install the ntfy app ourself, we may either let it use the creator&#39;s default server (at ntfy.sh) or configure it to use our choice of ntfy server, if we know of one or if we run our own. As with anything, using someone else&#39;s server comes with conditions and restrictions, especially if we don&#39;t pay for the service, so we need to think about that.&#xA;&#xA;Let&#39;s see what /e/OS does.&#xA;&#xA;If not Google&#39;s then Whose Server?&#xA;&#xA;In this push service built in to /e/OS, there is no configuration UI. There is a tiny settings UI where we have to &#34;enable&#34; the service -- see below. Technically, the full ntfy UI is also available, but not accessible through the normal system UI -- neither the app launcher nor the settings. But as curious techies we can hack in to it if we like. See below.&#xA;&#xA;What we can do is install and use the UP-example app. Click the &#34;REGISTER&#34; button, and we discover it&#39;s preconfigured to connect to... . o O (their own ntfy server?) No! It connects to ntfy.sh, the server run by the author of ntfy. Hmm.&#xA;&#xA;I should say that I found this while not signed in to Murena&#39;s &#34;e cloud&#34; services. It&#39;s possible and would make some sense if it would point to a different server if signed in. I will be interested to find out.&#xA;&#xA;The first thing to comment on, then, is Murena will surely need to run their own push server, for privacy and scaling and economic reasons, or else make an agreement with ntfy. In the short term, to get things started, it may be acceptable for everyone to be subject to the free (gratis) ntfy service&#39;s rate limits and other conditions. That&#39;s something that can be changed later, seamlessly, because UnifiedPush doesn&#39;t require app (server) developers to know or care which service provider they will eventually be connecting to.&#xA;&#xA;Secondly, for privacy and self-determination reasons, there should be a way to use our own choice of server, but not necessarily as a dedicated configuration option. A better way might be to tie it to the main Nextcloud account through a single-sign-on, so that when we set up the phone we have only to make that one choice of service provider and expect it to cover all services. That would give people the advantage of simplicity which is how the Big Techs play that game, but now with open standard technologies enabling us to have a choice among service providers.&#xA;&#xA;When an app registers for UnifiedPush service, if more than one distributor is installed, it asks which to use. A normal user would have only one, and would not see this. Here as an experimentor and developer I already had both ntfy and NextPush installed:&#xA;&#xA;  It&#39;s not ideal that it identifies as &#34;ntfy&#34;, exactly the same as the official ntfy app. I expect this will soon be changed to /e/OS branding.&#xA;&#xA;The tiny settings UI is found a the bottom of the system settings menu.&#xA;&#xA;    It&#39;s disabled by default. In this state, the UnifiedPush service is still advertised to apps, and they can register, but push messages are not delivered. (I suspect this isn&#39;t how we want the disabled state to be. Probably it should not advertise as available.)&#xA;&#xA;That&#39;s all the configuration we get in this version of /e/OS.&#xA;&#xA;(Aside: I couldn&#39;t find this in settings, to begin with. Searching in settings for &#34;ntfy&#34; or &#34;push&#34; or &#34;unifiedpush&#34; doesn&#39;t return any results, for me.)&#xA;&#xA;Let&#39;s Hack In&#xA;&#xA;As a developer we can access the ntfy UI through the system terminal, for example through an ADB shell (running this command on a USB-connected computer with &#34;adb&#34; tool installed, with ADB USB debugging enabled in the phone&#39;s developer settings):&#xA;&#xA;adb shell am start -n foundation.e.ntfy/io.heckel.ntfy.ui.MainActivity&#xA;&#xA;  Just the same as in the user-installed ntfy app. (I can compare them side by side because I also have it installed, because I was already using it before this upgrade.)&#xA;&#xA;We first notice this screen prominently shows some warnings about battery optimisation and choice of connection protocol. Are these warnings relevant to this version?, I wonder. (At first it showed only the first, and later both.)&#xA;&#xA;And it lets us open its settings. In the ntfy settings we can choose our own server, and I can confirm this takes effect and works.&#xA;&#xA;  This screen also shows the currently subscribed topics -- here, the &#34;example&#34; one -- and after configuring it to use my own server, the displayed URL confirms that. (Generally one &#34;topic&#34; corresponds to one app.)&#xA;&#xA;Ntfy Not NextPush?&#xA;&#xA;I&#39;m a little surprised Murena chose ntfy, seeing as their system is closely coupled to Nextcloud: there is also Nextpush (source on Codeberg, yay!), a Nextcloud-hosted UnifiedPush server module and its client app, that could be used instead. Perhaps they found ntfy is more stable or refined than Nextpush.&#xA;&#xA;UnifiedPush developer S1m says the &#34;Next version of NextPush will be a lot more stable, and I&#39;ve rewritten the UI.&#34;&#xA;&#xA;The Future&#xA;&#xA;While UnifiedPush is pretty good standard already, it is still maturing. Some important, recent improvements are making their way into the standard and into implementations like ntfy right now. These include full compatibility with the WebPush standard, and a better way to wake an app without it needing permission for unrestricted battery usage.&#xA;&#xA;An adjacent recent development is DAV Push, an open standard for pushing instant updates to our shared files, calendars and contacts through CalDAV, CardDAV and WebDAV, which can also work through UnifiedPush.&#xA;&#xA;To ensure people can exercise their right NOT to depend on Google, we have wider work to do. Integrating a UnifiedPush distributor is one useful step towards it. Beyond this, we need to be working with the developers of popular apps to get them supported, sharing this development across the freedom mobile OS ecosystem, deploying servers, ensuring reliability, and more. I write about this in a follow-up post: UnifiedPush — Wider Developments .&#xA;&#xA;Conclusion&#xA;&#xA;The details of this initial implementation seem to me to indicate an early preview release, with significant changes still needed. But that&#39;s OK: these technical implementation details can be changed.&#xA;&#xA;Leaving that aside, the social side of this is amazing: it&#39;s making UP available to main-stream users. That&#39;s a big deal for the libre mobile ecosystem. Hurray!&#xA;&#xA;---&#xA;&#xA;Add UnifiedPush to /e/OS to make it possible for developers to avoid FCM and better support F-Droid applications -- an /e/ community forum thread requesting UP support.&#xA;Source code of /e/ fork of ntfy: https://gitlab.e.foundation/e/os/ntfy-android&#xA;&#34;Integrate ntfy in /e/OS&#34; --merge request, including a simple settings UI (just enable/disable).&#xA;Romain Hunault of Murena is presenting it at Capitole du Libre 2024 this afternoon.&#xA;&#xA;---&#xA;&#xA;#unifiedPush #degoogled #awesomeFOSS #eOS #Murena #ntfy #mobiFree&#xA;&#xA;!--more--&#xD;&#xA;----&#xD;&#xA;Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian&amp;ZeroWidthSpace;@wrily.foad.me.uk · matrix me · Fedi follow me · email me · julian.foad.me.uk&#xD;&#xA;Donate: via Liberapay&#xD;&#xA;All posts &amp;copy; Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://unifiedpush.org/" title="UnifiedPush"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/11/unifiedpush-favicon-128.png" style="max-height: 5em"/></a> <a href="https://e.foundation/" title="/e/ foundation"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/11/eos-logos_e-logo-color.png" style="max-height: 5em"/></a></p>

<p>Congratulations UnifiedPush! Congratulations Murena!</p>

<p>Murena&#39;s /e/OS 2.5 <a href="https://community.e.foundation/t/add-unifiedpush-to-e-os-to-make-it-possible-for-developers-to-avoid-fcm-and-better-support-f-droid-applications/46197/28" title="an /e/ community forum thread requesting UP support">ships with UnifiedPush support included</a> as announced by a small note in <a href="https://gitlab.e.foundation/e/os/releases/-/releases/v2.5-t">the 2.5-t release notes</a> .</p>

<p>This exciting development brings Google-free push messaging to the regular users of an important player in the freedom mobile OS space.
</p>

<h2 id="so-what" id="so-what">So What?</h2>

<p>Push messaging is the system that enables incoming messages to wake up and reach our apps, instantly and efficiently.</p>

<p>To achieve this, the phone operating system keeps a single network connection open to a push messaging server. The apps don&#39;t need to keep running in the background: they can go to sleep. When a push message arrives, the OS wakes up the relevant app and hands it the message.</p>

<p>All our apps share this push service — even the “private” ones — if they want push messaging.</p>

<p>That&#39;s great, except... <a href="https://wrily.foad.me.uk/who-cares-who-delivers-our-notifications">Who Cares Who Delivers Our Notifications?</a></p>

<p>Until now, most people&#39;s phones run Google or Apple software. The Big Techs operate and control those phones. Along with everything else, they provide the push messaging service. And so they, Big Tech, control it.</p>

<p>The <a href="https://unifiedpush.org/">UnifiedPush</a> public open standard changes this. With UnifiedPush, we are no longer merely “users” of our devices but are in charge of them. With UnifiedPush, we can choose which service provider will deliver our push messaging. Thereby we are in control of who has the ability to monitor or block our push messaging.</p>

<p>UnifiedPush has been available to those interested, for a while now, but until now it has required installing extra software.</p>

<p>Putting the support for push messaging into the operating system means <del>users</del> people who choose not to be operated by Big Tech will now be able to simply install the apps they care about and immediately have the alternative system working for them.</p>

<h2 id="technical" id="technical">Technical</h2>

<p>I&#39;m going to delve into the technical side of this initial release, because it&#39;s a big interest area of mine. If you are a regular user, I suggest at this stage you might concentrate on <a href="https://wrily.foad.me.uk/freedom-respecting-smart-phone-want-get-have" title="You Too Can Have a Freedom-Respecting Smart Phone!">switching to /e/OS or another freedom mobile OS</a> and expect this functionality will be maturing quickly from now on and soon be seamless. If you&#39;re an early adopter or interested in its development, read on.</p>

<p>I am trying it out. I already run /e/OS on my main phone and upgrading to version 2.5 was simple with the built-in upgrader.</p>

<p>The OS embeds a custom fork of <a href="https://ntfy.sh">ntfy</a>, calling itself “foundation.e.ntfy 1.17.0”. So, congratulations also to <a href="https://ntfy.sh">ntfy</a>! At this stage the developer of ntfy, Philip Heckel, <a href="https://matrix.to/#/!KQaqifczWbCaidLETg:matrix.org/$Fpj8SD6Cih0sFmtGgLgxWINMWrHJs2711YzLP5zhWMM?via=foad.me.uk&amp;amp;via=t2bot.io&amp;amp;via=matrix.org">told me</a> in <a href="https://matrix.to/#/%23ntfy:matrix.org"><code>#ntfy</code></a> room he was “not yet involved” in this development and this is the “First I&#39;m hearing about it.”</p>

<p><a href="https://ntfy.sh">ntfy</a> is a notification system that can also provide UnifiedPush service. It is so good at this job that it has for some time been the UnifiedPush implementation recommended for most people. One can install the <a href="https://ntfy.sh">ntfy</a> app and it provides UnifiedPush service to our other apps.</p>

<p>When we install the ntfy app ourself, we may either let it use the creator&#39;s default server (at <code>ntfy.sh</code>) or configure it to use our choice of ntfy server, if we know of one or if we run our own. As with anything, using someone else&#39;s server comes with conditions and restrictions, especially if we don&#39;t pay for the service, so we need to think about that.</p>

<p>Let&#39;s see what /e/OS does.</p>

<h2 id="if-not-google-s-then-whose-server" id="if-not-google-s-then-whose-server">If not Google&#39;s then Whose Server?</h2>

<p>In this push service built in to /e/OS, there is no configuration UI. There is a tiny settings UI where we have to “enable” the service — see below. Technically, the full ntfy UI is also available, but not accessible through the normal system UI — neither the app launcher nor the settings. But as curious techies we can hack in to it if we like. See below.</p>

<p>What we can do is install and use the <a href="https://f-droid.org/en/packages/org.unifiedpush.example/">UP-example</a> app. Click the “REGISTER” button, and we discover it&#39;s preconfigured to connect to... . o O (their own ntfy server?) No! It connects to ntfy.sh, the server run by the author of ntfy. Hmm.</p>

<p>I should say that I found this while <strong>not</strong> signed in to Murena&#39;s “e cloud” services. It&#39;s possible and would make some sense if it would point to a different server if signed in. I will be interested to find out.</p>

<p>The first thing to comment on, then, is Murena will surely need to run their own push server, for privacy and scaling and economic reasons, or else make an agreement with ntfy. In the short term, to get things started, it may be acceptable for everyone to be subject to the free (gratis) ntfy service&#39;s rate limits and other conditions. That&#39;s something that can be changed later, seamlessly, because UnifiedPush doesn&#39;t require app (server) developers to know or care which service provider they will eventually be connecting to.</p>

<p>Secondly, for privacy and self-determination reasons, there should be a way to use our own choice of server, but not necessarily as a dedicated configuration option. A better way might be to tie it to the main Nextcloud account through a single-sign-on, so that when we set up the phone we have only to make that one choice of service provider and expect it to cover all services. That would give people the advantage of simplicity which is how the Big Techs play that game, but now with open standard technologies enabling us to have a choice among service providers.</p>

<p>When an app registers for UnifiedPush service, if more than one distributor is installed, it asks which to use. A normal user would have only one, and would not see this. Here as an experimentor and developer I already had both ntfy and NextPush installed:</p>

<blockquote><p><img src="https://blog.foad.me.uk/wp-content/uploads/2024/11/20241119-UP-chooser.png" alt=""></p></blockquote>

<p>It&#39;s not ideal that it identifies as “ntfy”, exactly the same as the official ntfy app. I expect this will soon be changed to /e/OS branding.</p>

<p>The tiny settings UI is found a the bottom of the system settings menu.</p>

<blockquote><p><img src="https://blog.foad.me.uk/wp-content/uploads/2024/11/20241116-eOS-ntfy-Settings1.png" alt=""></p>

<p><img src="https://blog.foad.me.uk/wp-content/uploads/2024/11/20241116-eOS-ntfy-Settings2.png" alt=""></p></blockquote>

<p>It&#39;s disabled by default. In this state, the UnifiedPush service is still advertised to apps, and they can register, but push messages are not delivered. (I suspect this isn&#39;t how we want the disabled state to be. Probably it should not advertise as available.)</p>

<p>That&#39;s all the configuration we get in this version of /e/OS.</p>

<p>(Aside: I couldn&#39;t find this in settings, to begin with. Searching in settings for “ntfy” or “push” or “unifiedpush” doesn&#39;t return any results, for me.)</p>

<h2 id="let-s-hack-in" id="let-s-hack-in">Let&#39;s Hack In</h2>

<p>As a developer we can access the ntfy UI through the system terminal, for example through an ADB shell (running this command on a USB-connected computer with “adb” tool installed, with ADB USB debugging enabled in the phone&#39;s developer settings):</p>

<pre><code class="language-sh">adb shell am start -n foundation.e.ntfy/io.heckel.ntfy.ui.MainActivity
</code></pre>

<blockquote><p><img src="https://blog.foad.me.uk/wp-content/uploads/2024/11/20241119-eOS-ntfy-UI-main.png" alt=""></p></blockquote>

<p>Just the same as in the user-installed ntfy app. (I can compare them side by side because I also have it installed, because I was already using it before this upgrade.)</p>

<p>We first notice this screen prominently shows some warnings about battery optimisation and choice of connection protocol. Are these warnings relevant to this version?, I wonder. (At first it showed only the first, and later both.)</p>

<p>And it lets us open its settings. In the ntfy settings we can choose our own server, and I can confirm this takes effect and works.</p>

<blockquote><p><img src="https://blog.foad.me.uk/wp-content/uploads/2024/11/20241119-eOS-ntfy-UI-settings.png" alt=""></p></blockquote>

<p>This screen also shows the currently subscribed topics — here, the “example” one — and after configuring it to use my own server, the displayed URL confirms that. (Generally one “topic” corresponds to one app.)</p>

<h2 id="ntfy-not-nextpush" id="ntfy-not-nextpush">Ntfy Not NextPush?</h2>

<p>I&#39;m a little surprised Murena chose ntfy, seeing as their system is closely coupled to Nextcloud: there is also <a href="https://unifiedpush.org/users/distributors/nextpush/">Nextpush</a> (source <a href="https://codeberg.org/NextPush/">on Codeberg</a>, yay!), a Nextcloud-hosted UnifiedPush server module and its client app, that could be used instead. Perhaps they found ntfy is more stable or refined than Nextpush.</p>

<p>UnifiedPush developer S1m says the “Next version of NextPush will be a lot more stable, and I&#39;ve rewritten the UI.”</p>

<h2 id="the-future" id="the-future">The Future</h2>

<p>While UnifiedPush is pretty good standard already, it is still maturing. Some important, recent improvements are making their way into the standard and into implementations like ntfy right now. These include full compatibility with the WebPush standard, and a <a href="https://unifiedpush.org/developers/spec/android/#service-to-raise-to-the-foreground">better way to wake an app</a> without it needing permission for unrestricted battery usage.</p>

<p>An adjacent recent development is <a href="https://wrily.foad.me.uk/davx5-developing-dav-push-standard">DAV Push</a>, an open standard for pushing instant updates to our shared files, calendars and contacts through CalDAV, CardDAV and WebDAV, which can also work through UnifiedPush.</p>

<p>To ensure people can exercise their right NOT to depend on Google, we have wider work to do. Integrating a UnifiedPush distributor is one useful step towards it. Beyond this, we need to be working with the developers of popular apps to get them supported, sharing this development across the freedom mobile OS ecosystem, deploying servers, ensuring reliability, and more. I write about this in a follow-up post: <a href="https://wrily.foad.me.uk/unifiedpush-wider-developments">UnifiedPush — Wider Developments</a> .</p>

<h2 id="conclusion" id="conclusion">Conclusion</h2>

<p>The details of this initial implementation seem to me to indicate an early preview release, with significant changes still needed. But that&#39;s OK: these technical implementation details can be changed.</p>

<p>Leaving that aside, the social side of this is amazing: it&#39;s making UP available to main-stream users. That&#39;s a big deal for the libre mobile ecosystem. Hurray!</p>

<hr>
<ul><li><a href="https://community.e.foundation/t/add-unifiedpush-to-e-os-to-make-it-possible-for-developers-to-avoid-fcm-and-better-support-f-droid-applications/46197/28">Add UnifiedPush to /e/OS to make it possible for developers to avoid FCM and better support F-Droid applications</a> — an /e/ community forum thread requesting UP support.</li>
<li>Source code of /e/ fork of ntfy: <a href="https://gitlab.e.foundation/e/os/ntfy-android">https://gitlab.e.foundation/e/os/ntfy-android</a></li>
<li><a href="https://gitlab.e.foundation/e/os/ntfy-android/-/merge_requests/12">“Integrate ntfy in /e/OS”</a> —merge request, including a simple settings UI (just enable/disable).</li>
<li>Romain Hunault of Murena is <a href="https://cfp.capitoledulibre.org/cdl-2024/talk/89HG8E/">presenting it at Capitole du Libre 2024</a> this afternoon.</li></ul>

<hr>

<p><a href="https://wrily.foad.me.uk/tag:unifiedPush" class="hashtag"><span>#</span><span class="p-category">unifiedPush</span></a> <a href="https://wrily.foad.me.uk/tag:degoogled" class="hashtag"><span>#</span><span class="p-category">degoogled</span></a> <a href="https://wrily.foad.me.uk/tag:awesomeFOSS" class="hashtag"><span>#</span><span class="p-category">awesomeFOSS</span></a> <a href="https://wrily.foad.me.uk/tag:eOS" class="hashtag"><span>#</span><span class="p-category">eOS</span></a> <a href="https://wrily.foad.me.uk/tag:Murena" class="hashtag"><span>#</span><span class="p-category">Murena</span></a> <a href="https://wrily.foad.me.uk/tag:ntfy" class="hashtag"><span>#</span><span class="p-category">ntfy</span></a> <a href="https://wrily.foad.me.uk/tag:mobiFree" class="hashtag"><span>#</span><span class="p-category">mobiFree</span></a></p>



<hr>

<p><em>Follow/Feedback/Contact:</em> <a href="https://wrily.foad.me.uk/feed/"><em>RSS feed</em></a> · <em>Fedi follow this blog: @julian​@wrily.foad.me.uk</em> · <a href="https://matrix.to/#/@julian:foad.me.uk" title="matrix Julian"><em>matrix me</em></a> · <a href="https://fed.foad.me.uk/%40julian%40fed.foad.me.uk" title="follow Julian"><em>Fedi follow me</em></a> · <a href="mailto:julian@foad.me.uk?subject=Wrily" title="email Julian"><em>email me</em></a> · <a href="https://julian.foad.me.uk/"><em>julian.foad.me.uk</em></a>
<em>Donate:</em> <a href="https://liberapay.com/julianfoad" title="Donate to Julian using Liberapay"><em>via Liberapay</em></a>
<em>All posts © Julian Foad and licensed <a href="https://creativecommons.org/licenses/by-nd/4.0/">CC-BY-ND</a> except quotes, translations, or where stated otherwise</em></p>
]]></content:encoded>
      <guid>https://wrily.foad.me.uk/going-google-free-with-unifiedpush-in-e-os</guid>
      <pubDate>Tue, 19 Nov 2024 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>My Freedom Phone Cover Design</title>
      <link>https://wrily.foad.me.uk/my-freedom-phone-cover-design</link>
      <description>&lt;![CDATA[I designed a back cover to show people mine is no ordinary phone, it&#39;s a Freedom Phone.&#xA;&#xA;img style=&#34;max-width:25em&#34; src=&#34;https://blog.foad.me.uk/wp-content/uploads/2024/09/2024-09-20-back-5-overlay.jpg&#34;&#xA;&#xA;Share and re-use the design if you like. Replace my face and website with your own.&#xA;&#xA;Fits a OnePlus-6 phone, when printed at 76 x 152 mm. (This phone model can run a wide range of freedom software.)&#xA;!--more--&#xA;&#xA;Paired with the lock screen I designed last year...&#xA;&#xA;|||&#xA;|:---:|:---:|&#xA;|Lock Screen|Back Cover|&#xA;&#xA;Concept Development&#xA;&#xA;Began as a paper sketch, 2024-09-15.&#xA;&#xA;|||||||&#xA;|:---:|:---:|:---:|:---:|:---:|:---:|&#xA;|1|2|3|4|5|to share|&#xA;&#xA;Finished in time for Software Freedom Day 2024-09-21.&#xA;&#xA;Licence and Credits&#xA;&#xA;The final design to share:&#xA;&#xA;Download: freedom-phone-back-cover-julian-foad-2024-v5.0.svg&#xA;SVG format (Inkscape flavour)&#xA;Excludes my face and website&#xA;Licensed as Creative Commons CC-BY-SA 4.0 &#34;share-alike&#34; with attribution required&#xA;Copyright (C) Julian Foad 2024&#xA;&#xA;Created using Inkscape (freedom software)&#xA;&#xA;Attributions for art work used:&#xA;&#xA;&#34;Ada and Zangemann&#34; by David Revoy, 2023, based on &#34;Ada &amp; Zangemann&#34; written by Matthias Kirschner and illustrated by Sandra Brandstätter − CC-BY-SA 4.0&#xA;rainbow umbrella shared by Lisa Cornell, 2011 − public domain&#xA;bitten apple shared by Dan Gerhards, 2011 − public domain&#xA;type fonts: Liberation Sans, cmmi10&#xA;image of my own face, shown in derivative examples here, (C) Julian Foad, 2016&#xA;&#xA;#fossGadgets #degoogled #lineageOS #eOS&#xA;&#xA;!--more--&#xD;&#xA;----&#xD;&#xA;Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian&amp;ZeroWidthSpace;@wrily.foad.me.uk · matrix me · Fedi follow me · email me · julian.foad.me.uk&#xD;&#xA;Donate: via Liberapay&#xD;&#xA;All posts &amp;copy; Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>I designed a back cover to show people mine is no ordinary phone, it&#39;s a Freedom Phone.</p>

<p><img style="max-width:25em" src="https://blog.foad.me.uk/wp-content/uploads/2024/09/2024-09-20-back-5-overlay.jpg"></p>

<p>Share and re-use the design if you like. Replace my face and website with your own.</p>

<p>Fits a OnePlus-6 phone, when printed at 76 x 152 mm. (This phone model can <a href="https://wrily.foad.me.uk/freedom-respecting-smart-phone-want-get-have">run a wide range of freedom software</a>.)
</p>

<p>Paired with <a href="https://wrily.foad.me.uk/why-i-customised-my-lock-screen">the lock screen</a> I designed last year...</p>

<table>
<thead>
<tr>
<th align="center"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/09/2024-09-18-my-phone-lock-screen.jpg" alt=""></th>
<th align="center"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/09/2024-09-18-16-37-46-154-enh.jpg" alt=""></th>
</tr>
</thead>

<tbody>
<tr>
<td align="center">Lock Screen</td>
<td align="center">Back Cover</td>
</tr>
</tbody>
</table>

<h2 id="concept-development" id="concept-development">Concept Development</h2>

<p>Began as a paper sketch, 2024-09-15.</p>

<table>
<thead>
<tr>
<th align="center"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/09/my-phone-back-1-enh.jpg" alt=""></th>
<th align="center"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/09/my-phone-back-2.png" alt=""></th>
<th align="center"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/09/my-phone-back-3.png" alt=""></th>
<th align="center"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/09/my-phone-back-4.png" alt=""></th>
<th align="center"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/09/my-phone-back-5.png" alt=""></th>
<th align="center"><img src="https://blog.foad.me.uk/wp-content/uploads/2024/09/freedom-phone-back-cover-julian-foad-2024-v5.0.png" alt=""></th>
</tr>
</thead>

<tbody>
<tr>
<td align="center">1</td>
<td align="center">2</td>
<td align="center">3</td>
<td align="center">4</td>
<td align="center">5</td>
<td align="center">to share</td>
</tr>
</tbody>
</table>

<p>Finished in time for <strong><a href="https://digitalfreedoms.org/en/sfd">Software Freedom Day</a></strong> 2024-09-21.</p>

<p><img src="https://blog.foad.me.uk/wp-content/uploads/2024/09/SoftwareFreedomDay-Sticker-en.png" alt=""></p>

<h2 id="licence-and-credits" id="licence-and-credits">Licence and Credits</h2>

<p>The final design to share:</p>
<ul><li>Download: <a href="https://blog.foad.me.uk/wp-content/uploads/2024/09/freedom-phone-back-cover-julian-foad-2024-v5.0.svg">freedom-phone-back-cover-julian-foad-2024-v5.0.svg</a></li>
<li>SVG format (Inkscape flavour)</li>
<li>Excludes my face and website</li>
<li>Licensed as Creative Commons <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">CC-BY-SA 4.0</a> “share-alike” with attribution required</li>
<li>Copyright © Julian Foad 2024</li></ul>

<p>Created using <a href="https://inkscape.org/">Inkscape</a> (freedom software)</p>

<p>Attributions for art work used:</p>
<ul><li><a href="https://www.peppercarrot.com/en/viewer/misc__2023-12-03_Ada-and-Zangemann_by-David-Revoy.html">“Ada and Zangemann”</a> by David Revoy, 2023, based on “<a href="https://fsfe.org/activities/ada-zangemann/">Ada &amp; Zangemann</a>” written by Matthias Kirschner and illustrated by Sandra Brandstätter − <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">CC-BY-SA 4.0</a></li>
<li><a href="https://www.clker.com/clipart-rainbow-umbrella.html">rainbow umbrella</a> shared by Lisa Cornell, 2011 − <a href="https://www.clker.com/disclaimer.html">public domain</a></li>
<li><a href="https://openclipart.org/detail/118873">bitten apple</a> shared by Dan Gerhards, 2011 − <a href="https://openclipart.org/share">public domain</a></li>
<li>type fonts: Liberation Sans, cmmi10</li>
<li>image of my own face, shown in derivative examples here, © Julian Foad, 2016</li></ul>

<p><a href="https://wrily.foad.me.uk/tag:fossGadgets" class="hashtag"><span>#</span><span class="p-category">fossGadgets</span></a> <a href="https://wrily.foad.me.uk/tag:degoogled" class="hashtag"><span>#</span><span class="p-category">degoogled</span></a> <a href="https://wrily.foad.me.uk/tag:lineageOS" class="hashtag"><span>#</span><span class="p-category">lineageOS</span></a> <a href="https://wrily.foad.me.uk/tag:eOS" class="hashtag"><span>#</span><span class="p-category">eOS</span></a></p>



<hr>

<p><em>Follow/Feedback/Contact:</em> <a href="https://wrily.foad.me.uk/feed/"><em>RSS feed</em></a> · <em>Fedi follow this blog: @julian​@wrily.foad.me.uk</em> · <a href="https://matrix.to/#/@julian:foad.me.uk" title="matrix Julian"><em>matrix me</em></a> · <a href="https://fed.foad.me.uk/%40julian%40fed.foad.me.uk" title="follow Julian"><em>Fedi follow me</em></a> · <a href="mailto:julian@foad.me.uk?subject=Wrily" title="email Julian"><em>email me</em></a> · <a href="https://julian.foad.me.uk/"><em>julian.foad.me.uk</em></a>
<em>Donate:</em> <a href="https://liberapay.com/julianfoad" title="Donate to Julian using Liberapay"><em>via Liberapay</em></a>
<em>All posts © Julian Foad and licensed <a href="https://creativecommons.org/licenses/by-nd/4.0/">CC-BY-ND</a> except quotes, translations, or where stated otherwise</em></p>
]]></content:encoded>
      <guid>https://wrily.foad.me.uk/my-freedom-phone-cover-design</guid>
      <pubDate>Fri, 20 Sep 2024 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Odin and Heimdall: Free Your Samsung Android</title>
      <link>https://wrily.foad.me.uk/odin-and-heimdall-free-your-samsung-android</link>
      <description>&lt;![CDATA[This article is about one particular step of the procedure for &#34;flashing&#34; a new android-compatible operating system onto a Samsung device to create a Freedom-Respecting Smart Phone or Tablet.&#xA;!--more--&#xA;&#xA;(For the rest of the procedure, see for example the instructions to install e-OS or install LineageOS .)&#xA;&#xA;Main article: Degoogling a Samsung Galaxy Tab A7 (2020)&#xA;&#xA;Tools for Flashing Samsung: Odin and Heimdall&#xA;&#xA;Samsung Android devices are tightly locked down. My impression is they perhaps allow re-flashing only to fulfil some legal concession. It does not seem to be an option that they want us to use. Nevertheless, it is possible. At least on some models. (I read that some models sold in the USA are completely locked; maybe there is no legal concession to allow changing the software there.)&#xA;&#xA;Samsung do not seem to make available the tools needed to &#34;flash&#34; the software. The instructions I find all reference either &#34;Odin&#34; or &#34;Heimdall&#34;.&#xA;&#xA;Odin is apparently a Samsung internal tool that has been leaked, many years ago, as a Windows-only executable with no source code. This, widely referenced as the way to go, is useless for non-customers of Microsoft-Windows. In 2022 a leaked Odin v4 for Linux was reported, also executable only. Without source code, nobody (outside Samsung) can reasonably make improvements or adaptations. (Also, many instructions including LineageOS&#39;s say to download the Odin executable from some unattested third-party web site, not even giving a checksum to verify. This is dangerous.)&#xA;&#xA;Heimdall is a cross-platform open source tool developed independently. Heimdall can replace Odin, but many instructions either do not mention it at all, or point to an out-of-date version such as v1.4.2 that lacks important updates and bug fixes.&#xA;&#xA;Both Odin and Heimdall work with Samsung&#39;s &#34;download&#34; mode, and are needed to get an alternative (freedom) operating system onto the device.&#xA;&#xA;Heimdall, Open Source Samsung Flashing Tool (Odin Alternative)&#xA;&#xA;An open-source flashing tool for Samsung devices, called Heimdall, was developed by Benjamin Dobell (https://glassechidna.com.au/heimdall/) around 2010 to 2017. That version is most commonly referenced.&#xA;&#xA;Some bug fixes and updates have been made by other people since then, but not merged back to that version. Some of these can be found inside Microsoft&#39;s GitHub, but the best version is not there: it rightly lives on a Freedom software forge called Source Hut.&#xA;&#xA;Heimdall up to v1.4.2, the latest &#34;original&#34; version (from Benjamin Dobell or &#34;glassechidna&#34;) at the time of this writing, did not work for me. See Troubleshooting: Heimdall Fails at Initialising Protocol.&#xA;&#xA;Henrik Grimler now maintains a version of Heimdall at https://git.sr.ht/~grimler/Heimdall .&#xA;&#xA;I recommend using Grimler&#39;s version. It has fixes and updates needed for more recent devices.&#xA;&#xA;It is available as source code. You could ask around for someone to provide a build, or build it yourself following the included instructions.&#xA;&#xA;Building Heimdall&#xA;&#xA;Referring to Appendix B at the bottom of the instructions page for Linux, on Ubuntu 22.04, on which I already had most of the dependencies installed, I built Heimdall like this:&#xA;&#xA;$ sudo apt install libusb-1.0-0-dev  # you may need more: see below&#xA;$ mkdir build&#xA;$ cd build&#xA;$ cmake -DCMAKEBUILDTYPE=Release -DDISABLEFRONTEND=ON ..&#xA;$ make&#xA;$ # The executable is then found at ./bin/heimdall&#xA;$ ./bin/heimdall version&#xA;v2.0.2&#xA;&#xA;Required dependency packages are listed in the doc linked above, and also machine-readably in the source tree in the files .builds/{alpine.yml,archlinux.yml,ubuntu.yml}.&#xA;&#xA;I used &#39;DISABLEFRONTEND&#39; because I was not interested in building a GUI, and could omit installing &#39;qtbase5-dev&#39; and its several sub-dependencies.&#xA;&#xA;Using Heimdall in place of Odin&#xA;&#xA;To flash a recovery image, Odin wants to be given a &#34;tar&#34; file (a similar concept to a zip file) with the image file inside it. For example, we have to create recovery.tar which contains recovery.img. By contrast, Heimdall takes the image file directly, e.g. recovery.img.&#xA;&#xA;Where instructions for Odin say to select the &#34;AP&#34; (Android Partition) button and choose the recovery.tar file, the Heimdall translation is to run heimdall flash --RECOVERY recovery.img . For flashing a different kind of image such as &#34;vbmeta&#34;, we write heimdall flash --VBMETA vbmeta.img. We can give more than one pair of command-line arguments to flash more than one image.&#xA;&#xA;Referring to this XDA post, the command needed for this device is:&#xA;&#xA;$ heimdall flash --VBMETA vbmeta.img --RECOVERY recovery.img&#xA;&#xA;Or, if we prefer not to reboot immediately (equivalent of disabling Odin&#39;s &#34;Auto-Reboot&#34; option), add the &#39;--no-reboot&#39; flag:&#xA;&#xA;$ heimdall flash --VBMETA vbmeta.img --RECOVERY recovery.img --no-reboot&#xA;&#xA;---&#xA;&#xA;#fossGadgets #android #degoogled #lineageOS #eOS&#xA;&#xA;!--more--&#xD;&#xA;----&#xD;&#xA;Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian&amp;ZeroWidthSpace;@wrily.foad.me.uk · matrix me · Fedi follow me · email me · julian.foad.me.uk&#xD;&#xA;Donate: via Liberapay&#xD;&#xA;All posts &amp;copy; Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>This article is about one particular step of the procedure for “flashing” a new android-compatible operating system onto a Samsung device to create a <a href="https://wrily.foad.me.uk/freedom-respecting-smart-phone-want-get-have">Freedom-Respecting Smart Phone</a> or Tablet.
</p>

<p>(For the rest of the procedure, see for example the instructions to <a href="https://doc.e.foundation/devices/gta4lwifi/install">install e-OS</a> or <a href="https://wiki.lineageos.org/devices/gta4lwifi/install/">install LineageOS</a> .)</p>

<p>Main article: <a href="https://wrily.foad.me.uk/freedom-respecting-gadget-degoogling-a-samsung-tablet">Degoogling a Samsung Galaxy Tab A7 (2020)</a></p>

<h2 id="tools-for-flashing-samsung-odin-and-heimdall" id="tools-for-flashing-samsung-odin-and-heimdall">Tools for Flashing Samsung: Odin and Heimdall</h2>

<p>Samsung Android devices are tightly locked down. My impression is they perhaps allow re-flashing only to fulfil some legal concession. It does not seem to be an option that they want us to use. Nevertheless, it is possible. At least on some models. (I read that some models sold in the USA are completely locked; maybe there is no legal concession to allow changing the software there.)</p>

<p>Samsung do not seem to make available the tools needed to “flash” the software. The instructions I find all reference either “Odin” or “Heimdall”.</p>

<p><strong>Odin</strong> is apparently a Samsung internal tool that has been leaked, many years ago, as a Windows-only executable with no source code. This, widely referenced as the way to go, is useless for non-customers of Microsoft-Windows. In 2022 a leaked Odin v4 for Linux was reported, also executable only. Without source code, nobody (outside Samsung) can reasonably make improvements or adaptations. (Also, many instructions including LineageOS&#39;s say to download the Odin executable from some unattested third-party web site, not even giving a checksum to verify. This is dangerous.)</p>

<p><strong>Heimdall</strong> is a cross-platform open source tool developed independently. Heimdall can replace Odin, but many instructions either do not mention it at all, or point to an out-of-date version such as v1.4.2 that lacks important updates and bug fixes.</p>

<p>Both Odin and Heimdall work with Samsung&#39;s “download” mode, and are needed to get an alternative (freedom) operating system onto the device.</p>

<h2 id="heimdall-open-source-samsung-flashing-tool-odin-alternative" id="heimdall-open-source-samsung-flashing-tool-odin-alternative">Heimdall, Open Source Samsung Flashing Tool (Odin Alternative)</h2>

<p>An open-source flashing tool for Samsung devices, called Heimdall, was developed by Benjamin Dobell (<a href="https://glassechidna.com.au/heimdall/">https://glassechidna.com.au/heimdall/</a>) around 2010 to 2017. That version is most commonly referenced.</p>

<p>Some bug fixes and updates have been made by other people since then, but not merged back to that version. Some of these can be found inside Microsoft&#39;s GitHub, but the best version is not there: it <a href="https://wrily.foad.me.uk/foss-apps-live-in-foss-forges">rightly lives on a Freedom software forge</a> called <a href="https://sr.ht/">Source Hut</a>.</p>

<p>Heimdall up to v1.4.2, the latest “original” version (from Benjamin Dobell or “glassechidna”) at the time of this writing, did not work for me. See <a href="https://wrily.foad.me.uk/troubleshooting-heimdall-fails-at-initialising-protocol">Troubleshooting: Heimdall Fails at Initialising Protocol</a>.</p>

<p><strong>Henrik Grimler now maintains a version of Heimdall at <a href="https://git.sr.ht/~grimler/Heimdall">https://git.sr.ht/~grimler/Heimdall</a> .</strong></p>

<p>I recommend using Grimler&#39;s version. It has fixes and updates needed for more recent devices.</p>

<p>It is available as source code. You could ask around for someone to provide a build, or build it yourself following the included instructions.</p>

<h2 id="building-heimdall" id="building-heimdall">Building Heimdall</h2>

<p>Referring to Appendix B at the bottom of <a href="https://git.sr.ht/~grimler/Heimdall/tree/master/Linux/README">the instructions page for Linux</a>, on Ubuntu 22.04, on which I already had most of the dependencies installed, I built Heimdall like this:</p>

<pre><code>$ sudo apt install libusb-1.0-0-dev  # you may need more: see below
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release -DDISABLE_FRONTEND=ON ..
$ make
$ # The executable is then found at `./bin/heimdall`
$ ./bin/heimdall version
v2.0.2
</code></pre>

<p>Required dependency packages are listed in the doc linked above, and also machine-readably in the source tree in the files <code>.builds/{alpine.yml,archlinux.yml,ubuntu.yml}</code>.</p>

<p>I used &#39;DISABLE_FRONTEND&#39; because I was not interested in building a GUI, and could omit installing &#39;qtbase5-dev&#39; and its several sub-dependencies.</p>

<h2 id="using-heimdall-in-place-of-odin" id="using-heimdall-in-place-of-odin">Using Heimdall in place of Odin</h2>

<p>To flash a recovery image, Odin wants to be given a “tar” file (a similar concept to a zip file) with the image file inside it. For example, we have to create <code>recovery.tar</code> which contains <code>recovery.img</code>. By contrast, Heimdall takes the image file directly, e.g. <code>recovery.img</code>.</p>

<p>Where instructions for Odin say to select the “AP” (Android Partition) button and choose the <code>recovery.tar</code> file, the Heimdall translation is to run <code>heimdall flash --RECOVERY recovery.img</code> . For flashing a different kind of image such as “vbmeta”, we write <code>heimdall flash --VBMETA vbmeta.img</code>. We can give more than one pair of command-line arguments to flash more than one image.</p>

<p>Referring to <a href="https://xdaforums.com/t/official-sm-t505-sm-t505n-sm-t505c-sm-t507-gta4l-sm-t500-gta4lwifi-lineageos-21-for-galaxy-tab-a7-2020-lte-wifi-version.4576699/">this XDA post</a>, the command needed for this device is:</p>

<pre><code>$ heimdall flash --VBMETA vbmeta.img --RECOVERY recovery.img
</code></pre>

<p>Or, if we prefer not to reboot immediately (equivalent of disabling Odin&#39;s “Auto-Reboot” option), add the &#39;—no-reboot&#39; flag:</p>

<pre><code>$ heimdall flash --VBMETA vbmeta.img --RECOVERY recovery.img --no-reboot
</code></pre>

<hr>

<p><a href="https://wrily.foad.me.uk/tag:fossGadgets" class="hashtag"><span>#</span><span class="p-category">fossGadgets</span></a> <a href="https://wrily.foad.me.uk/tag:android" class="hashtag"><span>#</span><span class="p-category">android</span></a> <a href="https://wrily.foad.me.uk/tag:degoogled" class="hashtag"><span>#</span><span class="p-category">degoogled</span></a> <a href="https://wrily.foad.me.uk/tag:lineageOS" class="hashtag"><span>#</span><span class="p-category">lineageOS</span></a> <a href="https://wrily.foad.me.uk/tag:eOS" class="hashtag"><span>#</span><span class="p-category">eOS</span></a></p>



<hr>

<p><em>Follow/Feedback/Contact:</em> <a href="https://wrily.foad.me.uk/feed/"><em>RSS feed</em></a> · <em>Fedi follow this blog: @julian​@wrily.foad.me.uk</em> · <a href="https://matrix.to/#/@julian:foad.me.uk" title="matrix Julian"><em>matrix me</em></a> · <a href="https://fed.foad.me.uk/%40julian%40fed.foad.me.uk" title="follow Julian"><em>Fedi follow me</em></a> · <a href="mailto:julian@foad.me.uk?subject=Wrily" title="email Julian"><em>email me</em></a> · <a href="https://julian.foad.me.uk/"><em>julian.foad.me.uk</em></a>
<em>Donate:</em> <a href="https://liberapay.com/julianfoad" title="Donate to Julian using Liberapay"><em>via Liberapay</em></a>
<em>All posts © Julian Foad and licensed <a href="https://creativecommons.org/licenses/by-nd/4.0/">CC-BY-ND</a> except quotes, translations, or where stated otherwise</em></p>
]]></content:encoded>
      <guid>https://wrily.foad.me.uk/odin-and-heimdall-free-your-samsung-android</guid>
      <pubDate>Fri, 24 May 2024 15:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Troubleshooting: Heimdall Fails at Initialising Protocol</title>
      <link>https://wrily.foad.me.uk/troubleshooting-heimdall-fails-at-initialising-protocol</link>
      <description>&lt;![CDATA[This is about flashing a custom operating system ROM in a Samsung Android device using the tool named Heimdall.&#xA;&#xA;We may encounter a failure mode in which heimdall detect succeeds but heimdall flash and heimdall print-pit both fail, printing this:&#xA;!--more--&#xA;&#xA;    Initialising connection...&#xA;  Detecting device...&#xA;  Claiming interface...&#xA;  Setting up interface...&#xA;    Initialising protocol...&#xA;  ERROR: Failed to send handshake!ERROR: Protocol initialisation failed!&#xA;    Releasing device interface...&#xA;  Additional diagnostics if we give the --verbose option:&#xA;&#xA;    &#34;ERROR: libusb error -7 whilst sending bulk transfer&#34;&#xA;  (This message is repeated several times, before the final failure.)&#xA;&#xA;Errors like this have been reported many times: e.g. here and duplicates, here, here&#xA;&#xA;Here are two scenarios in which this error can occur.&#xA;&#xA;Scenario 1: Only The First Heimdall (Flash, Print-Pit) Command Works&#xA;&#xA;Some people report that some Samsung devices only accept one Heimdall command in the bootloader mode. Further attempts fail. Rebooting is required before another command can succeed.&#xA;&#xA;This may be a bootloader limitation in certain devices. (I have not yet seen a report with enough detail to satisfy me it is definitely the case.) In other cases, using Heimdall&#39;s options &#34;--no-reboot&#34; (on each command) and &#34;--resume&#34; (on subsequent commands, since v1.4.0) may overcome this.&#xA;&#xA;(In this description, &#34;heimdall flash&#34; and &#34;heimdall print-pit&#34; count towards the limit of one command, while &#34;heimdall detect&#34; doesn&#39;t count towards the limit and can be used freely.)&#xA;&#xA;Scenario 2: Every Heimdall (Flash, Print-Pit) Command Fails&#xA;&#xA;This happens only when running Heimdall on certain linux distributions, notably Ubuntu.&#xA;&#xA;Some people fixed this in their forks of Heimdall, e.g. Jesse Chan&#39;s fix is in Grimler&#39;s version of Heimdall and in several other forks. (This fix works by resetting the USB device on the Linux end. The main work in developing the fix seems to be recorded in PR #478 .)&#xA;&#xA;My suggestion: build and use Grimler&#39;s Heimdall. I explain a bit about Heimdall and how to build and use it in my article Odin and Heimdall: Free Your Samsung Android .&#xA;&#xA;Scenario 3: Heimdall With Resume Option Fails First Time&#xA;&#xA;If the first Heimdall command after booting into download mode is given the &#39;--resume&#39; option, Heimdall fails for me (on Ubuntu 22.04) like this, even when using a version with the Scenario 2 bug fixed:&#xA;&#xA;    $ heimdall print-pit --resume --no-reboot --verbose&#xA;  ...&#xA;  Beginning session...&#xA;  ERROR: libusb error -7 whilst sending bulk transfer. Retrying...&#xA;  ...&#xA;  ERROR: Failed to begin session!&#xA;  Releasing device interface...&#xA;  From what I can tell, this seems to be expected, and so a usage error. The &#39;--resume&#39; option should not be used on the first command.&#xA;&#xA;---&#xA;&#xA;#fossGadgets #android #degoogled #lineageOS #eOS&#xA;&#xA;!--more--&#xD;&#xA;----&#xD;&#xA;Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian&amp;ZeroWidthSpace;@wrily.foad.me.uk · matrix me · Fedi follow me · email me · julian.foad.me.uk&#xD;&#xA;Donate: via Liberapay&#xD;&#xA;All posts &amp;copy; Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>This is about flashing a custom operating system ROM in a Samsung Android device using the tool named Heimdall.</p>

<p>We may encounter a failure mode in which <code>heimdall detect</code> succeeds but <code>heimdall flash</code> and <code>heimdall print-pit</code> both fail, printing this:
</p>

<blockquote><pre><code>Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...

Initialising protocol...
ERROR: Failed to send handshake!ERROR: Protocol initialisation failed!

Releasing device interface...
</code></pre></blockquote>

<p>Additional diagnostics if we give the <code>--verbose</code> option:</p>

<blockquote><pre><code>&#34;ERROR: libusb error -7 whilst sending bulk transfer&#34;
</code></pre></blockquote>

<p>(This message is repeated several times, before the final failure.)</p>

<p>Errors like this have been reported many times: e.g. <a href="https://github.com/Benjamin-Dobell/Heimdall/issues/413">here</a> and duplicates, <a href="https://gitlab.com/BenjaminDobell/Heimdall/-/issues/515">here</a>, <a href="https://forums.androidcentral.com/threads/heimdall-error-libusb-error-7-whilst-sending-bulk-transfer-retrying.981405/">here</a></p>

<p>Here are two scenarios in which this error can occur.</p>

<h2 id="scenario-1-only-the-first-heimdall-flash-print-pit-command-works" id="scenario-1-only-the-first-heimdall-flash-print-pit-command-works">Scenario 1: Only The First Heimdall (Flash, Print-Pit) Command Works</h2>

<p>Some people report that some Samsung devices only accept one Heimdall command in the bootloader mode. Further attempts fail. Rebooting is required before another command can succeed.</p>

<p>This may be a bootloader limitation in certain devices. (I have not yet seen a report with enough detail to satisfy me it is definitely the case.) In other cases, using Heimdall&#39;s options “—no-reboot” (on each command) and “—resume” (on subsequent commands, since v1.4.0) may overcome this.</p>

<p>(In this description, “heimdall flash” and “heimdall print-pit” count towards the limit of one command, while “heimdall detect” doesn&#39;t count towards the limit and can be used freely.)</p>

<h2 id="scenario-2-every-heimdall-flash-print-pit-command-fails" id="scenario-2-every-heimdall-flash-print-pit-command-fails">Scenario 2: Every Heimdall (Flash, Print-Pit) Command Fails</h2>

<p>This happens only when running Heimdall on certain linux distributions, notably Ubuntu.</p>

<p>Some people fixed this in their forks of Heimdall, e.g. <a href="https://git.sr.ht/~grimler/Heimdall/commit/07a14d4aa8ad51a0de147cee8a5e570e72d49525">Jesse Chan&#39;s fix</a> is in <a href="https://git.sr.ht/~grimler/Heimdall/">Grimler&#39;s version of Heimdall</a> and in several other forks. (This fix works by resetting the USB device on the Linux end. The main work in developing the fix seems to be recorded in <a href="https://github.com/Benjamin-Dobell/Heimdall/pull/478" title="InitialiseProtocol. reset device before handshake">PR #478</a> .)</p>

<p>My suggestion: build and use Grimler&#39;s Heimdall. I explain a bit about Heimdall and how to build and use it in my article <a href="https://wrily.foad.me.uk/odin-and-heimdall-free-your-samsung-android">Odin and Heimdall: Free Your Samsung Android</a> .</p>

<h2 id="scenario-3-heimdall-with-resume-option-fails-first-time" id="scenario-3-heimdall-with-resume-option-fails-first-time">Scenario 3: Heimdall With Resume Option Fails First Time</h2>

<p>If the first Heimdall command after booting into download mode is given the &#39;—resume&#39; option, Heimdall fails for me (on Ubuntu 22.04) like this, even when using a version with the Scenario 2 bug fixed:</p>

<blockquote><pre><code>$ heimdall print-pit --resume --no-reboot --verbose
...
Beginning session...
ERROR: libusb error -7 whilst sending bulk transfer. Retrying...
...
ERROR: Failed to begin session!
Releasing device interface...
</code></pre></blockquote>

<p>From what I can tell, this seems to be expected, and so a usage error. The &#39;—resume&#39; option should not be used on the first command.</p>

<hr>

<p><a href="https://wrily.foad.me.uk/tag:fossGadgets" class="hashtag"><span>#</span><span class="p-category">fossGadgets</span></a> <a href="https://wrily.foad.me.uk/tag:android" class="hashtag"><span>#</span><span class="p-category">android</span></a> <a href="https://wrily.foad.me.uk/tag:degoogled" class="hashtag"><span>#</span><span class="p-category">degoogled</span></a> <a href="https://wrily.foad.me.uk/tag:lineageOS" class="hashtag"><span>#</span><span class="p-category">lineageOS</span></a> <a href="https://wrily.foad.me.uk/tag:eOS" class="hashtag"><span>#</span><span class="p-category">eOS</span></a></p>



<hr>

<p><em>Follow/Feedback/Contact:</em> <a href="https://wrily.foad.me.uk/feed/"><em>RSS feed</em></a> · <em>Fedi follow this blog: @julian​@wrily.foad.me.uk</em> · <a href="https://matrix.to/#/@julian:foad.me.uk" title="matrix Julian"><em>matrix me</em></a> · <a href="https://fed.foad.me.uk/%40julian%40fed.foad.me.uk" title="follow Julian"><em>Fedi follow me</em></a> · <a href="mailto:julian@foad.me.uk?subject=Wrily" title="email Julian"><em>email me</em></a> · <a href="https://julian.foad.me.uk/"><em>julian.foad.me.uk</em></a>
<em>Donate:</em> <a href="https://liberapay.com/julianfoad" title="Donate to Julian using Liberapay"><em>via Liberapay</em></a>
<em>All posts © Julian Foad and licensed <a href="https://creativecommons.org/licenses/by-nd/4.0/">CC-BY-ND</a> except quotes, translations, or where stated otherwise</em></p>
]]></content:encoded>
      <guid>https://wrily.foad.me.uk/troubleshooting-heimdall-fails-at-initialising-protocol</guid>
      <pubDate>Fri, 24 May 2024 14:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Freedom-Respecting Gadget: Degoogling a Samsung Tablet</title>
      <link>https://wrily.foad.me.uk/freedom-respecting-gadget-degoogling-a-samsung-tablet</link>
      <description>&lt;![CDATA[This is about buying a Samsung Android tablet and replacing the privacy-invading proprietary Google and Samsung software with privacy-respecting Freedom Software: &#34;degoogling&#34; for short.&#xA;&#xA;Why? In &#34;The Problem&#34; section below, we take a look back at how much we&#39;re giving up when we accept Google&#39;s and Samsung&#39;s terms.&#xA;&#xA;I would like ordinary people, with a little technical skill, to be able to do this. The process unfortunately is currently far too difficult, especially so on Samsung devices.&#xA;&#xA;My goals:&#xA;&#xA;Install a privacy-preserving freedom-software operating system on my tablet&#xA;Make it easier for others to do the same&#xA;!--more--&#xA;&#xA;The tablet I bought:&#xA;&#xA;Name: Samsung Galaxy Tab A7 10.4 2020 (Wi-Fi)&#xA;Model: SM-T500&#xA;Device code: gta4lwifi&#xA;&#xA;Yes, it&#39;s a few years old already. One of the benefits of Freedom Software is the community at large has the option to maintain up-to-date software on older devices, for as long as anyone considers it worth the effort. This is in contrast with the original maker&#39;s vested interest in stopping updates of their proprietary software after a small number of years. A nod to the right-to-repair and sustainability movements.&#xA;&#xA;The Problem&#xA;&#xA;Have you bought a tablet or phone recently? Perhaps even a Samsung?&#xA;&#xA;IF We are buying a new or second-hand tablet,&#xA;&#xA;THEN We might look at a Samsung Android device. They do make nice hardware!&#xA;&#xA;BUT Oh! The set-up screens! -- Screen after screen of, Yes, I agree to let Them scan my house for other devices and report back anything they find... Yes, I agree to let Them install or change or delete anything on &#34;my&#34; device... Yes, I agree to let Them scan all my contacts and data so they can make me feel happy by feeding it back to me in different ways, no, wait, they mean mining it for profit and trapping me in their systems. Yes, Agree To All because that&#39;s the easy option (and notice there&#39;s no &#34;Agree to None&#34; option).&#xA;&#xA;Aaargh! No way, not me. Unfriendly system, Be Gone!&#xA;&#xA;THEREFORE We want to turn it into a Freedom-Respecting Smart Phone or Tablet by &#34;flashing&#34; a Freedom Software operating system onto the device.&#xA;&#xA;The New Software&#xA;&#xA;I want to install an android-compatible, privacy-friendly, Freedom-Tech operating system. Nowadays I favour e-OS by Murena. e-OS is near main-stream user-friendly, with a nice blend of privacy by default along with a choice of optional (privacy-invading) google support for those that want it. e-OS is available on a wide range of phone hardware from cheap to premium, and you can either buy it or self-install it. If you&#39;re not wanting to develop tech skills in this area, buy it pre-installed.&#xA;&#xA;Android-compatible Freedom Tech Operating Systems&#xA;&#xA;Android as most people know it is a proprietary product, which contains inside it some open-source software (including some of Linux), leading to eternal confusion about whether &#34;it&#34; itself is open-source. No. Only the people who go looking for it get an open-source system built around the Android Open Source Project (AOSP). (That&#39;s us, yay!) Everyone who buys an Android device from the usual sort of phone maker is getting a heavily proprietary product that spies on them.&#xA;&#xA;For this reason I often use long-winded descriptions like &#34;android-compatible freedom-tech operating systems&#34; to clearly differentiate these from proprietary Android.&#xA;&#xA;Murena&#39;s &#34;e-OS&#34; is built around AOSP, using Freedom Tech to replace all the proprietary Google pieces, in a similar way to other android-compatibles such as LineageOS (a minimal android-compatible base OS) and LineageOS-for-MicroG (LineageOS plus F-Droid and some optional google support).&#xA;&#xA;See my Freedom-Respecting Smart Phone post for other Freedom Tech alternatives you might consider.&#xA;&#xA;Choosing a Well Supported Tablet&#xA;&#xA;I bought this tablet after checking it was supported by e-OS and by LineageOS (and therefore also by LineageOS-for-MicroG). &#xA;&#xA;What I didn&#39;t realise until too late is the installation instructions say I should download and run this, that and the other from various “random” (unofficial/unverified) sources — and it turns out those instructions are intended for running on MS Windows. Ugh.&#xA;&#xA;There is a Freedom software alternative for this step: Heimdall. See Odin and Heimdall: Free Your Samsung Android.&#xA;&#xA;I found this part of the procedure to be a deep rabbit-hole and spent a long time getting through it, reading a lot of dead-ends along the way.&#xA;&#xA;For this reason I want to document what works, and also make it easier for others to do it, by attempting to automate this procedure in the Open Android Installer.&#xA;&#xA;As the procedure is similar for many devices so working on the solution for my device should, I hope, also help others.&#xA;&#xA;On Choosing a Well Supported Tablet, if you have limited time and experience for working through a complex installation procedure, then I would advise only choosing a Samsung phone or tablet in the following cases:&#xA;&#xA;if the Open Android Installer or e-OS Easy Installer supports it, or&#xA;if you can get one that is already running a Freedom Software OS.&#xA;&#xA;(Once it is running a Freedom Software OS, it is easier to upgrade or change it from that point.)&#xA;&#xA;Installing&#xA;&#xA;Installing is a challenge. The procedure is fraught with difficulties. Some people report that they &#34;simply&#34; followed the instructions and succeeded within an hour, while many others apparently spent days, encountered problems or gave up.&#xA;&#xA;The starting point is the semi-official instructions published by the likes of LineageOS and e-OS. Note that these are basically the best efforts so far of volunteer groups, and are not necessarily accurate or complete, and far from foolproof.&#xA;&#xA;See:&#xA;&#xA;e-OS install guide and e-OS forum thread&#xA;LineageOS install guide and XDA forum thread (also relevant for LOS-for-microG)&#xA;&#xA;After many hours of trial and research I got LineageOS installed, and some notes taken, several improvements implemented in my local copy of Open Android Installer, and a first couple of blog posts posted about parts of the procedure.&#xA;&#xA;After reaching that stage, it was relatively easy to replace plain LineageOS with LineageOS-for-MicroG (both at version 21).&#xA;&#xA;I also tried replacing it with e-OS (version T equivalent to 20) but that failed:&#xA;&#xA;    Installing update...&#xA;  Comparing TZ version XF.5.1-01015-1 to XF.5.1-638149-3&#xA;  ERROR: This package requires firmware from an Android 12 based stock ROM build. Please upgrade firmware and retry!&#xA;  ERROR:   recovery: Error in /sideload/package.zip (status 1)&#xA;  The tablet was running Samsung Android version 12 before I started. Never mind that for now. I&#39;ll come back to e-OS later.&#xA;&#xA;So, I can claim success on one score: my tablet is now running LineageOS-for-microG.&#xA;&#xA;Oh! You wanted all the details of how I did it and what went wrong? I&#39;m not planning to write that up in that form (it was messy), but rather to work out improvements and write them up. I&#39;ll post them here once I&#39;ve got something.&#xA;&#xA;Making it easier for others to do the same&#xA;&#xA;Taking hours to achieve this feat just for myself does not make me feel good.&#xA;&#xA;I want to make it feasible for people with just a little technical skill to install an alternative operating system. It really should not and need not be so hard.&#xA;&#xA;I can:&#xA;&#xA;improve the installer apps (Open Android Installer, e-OS Easy Installer)&#xA;improve the installation instructions&#xA;&#xA;In particular I want to do things that help whole classes of problems, across multiple devices and multiple operating systems, such as making the installers and instructions more automatic, more consistent, more foolproof, easier to diagnose.&#xA;&#xA;To these ends, I have been keeping notes on what&#39;s missing, and have started making improvements to Open Android Installer.&#xA;&#xA;!-- See: Open Android Installer: Support My Samsung Tablet --&#xA;&#xA;---&#xA;&#xA;#fossGadgets #android #degoogled #lineageOS #eOS&#xA;&#xA;!--more--&#xD;&#xA;----&#xD;&#xA;Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian&amp;ZeroWidthSpace;@wrily.foad.me.uk · matrix me · Fedi follow me · email me · julian.foad.me.uk&#xD;&#xA;Donate: via Liberapay&#xD;&#xA;All posts &amp;copy; Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>This is about buying a Samsung Android tablet and replacing the privacy-invading proprietary Google and Samsung software with privacy-respecting Freedom Software: “degoogling” for short.</p>

<p>Why? In “The Problem” section below, we take a look back at how much we&#39;re giving up when we accept Google&#39;s and Samsung&#39;s terms.</p>

<p>I would like ordinary people, with a little technical skill, to be able to do this. The process unfortunately is currently far too difficult, especially so on Samsung devices.</p>

<p>My goals:</p>
<ul><li>Install a privacy-preserving freedom-software operating system on my tablet</li>
<li>Make it easier for others to do the same
</li></ul>

<p>The tablet I bought:</p>
<ul><li>Name: <code>Samsung Galaxy Tab A7 10.4 2020 (Wi-Fi)</code></li>
<li>Model: <code>SM-T500</code></li>
<li>Device code: <code>gta4lwifi</code></li></ul>

<p>Yes, it&#39;s a few years old already. One of the benefits of Freedom Software is the community at large has the option to maintain up-to-date software on older devices, for as long as anyone considers it worth the effort. This is in contrast with the original maker&#39;s vested interest in stopping updates of their proprietary software after a small number of years. A nod to the right-to-repair and sustainability movements.</p>

<h2 id="the-problem" id="the-problem">The Problem</h2>

<p>Have you bought a tablet or phone recently? Perhaps even a Samsung?</p>

<p><strong>IF</strong> We are buying a new or second-hand tablet,</p>

<p><strong>THEN</strong> We might look at a Samsung Android device. They do make nice hardware!</p>

<p><strong>BUT</strong> Oh! The set-up screens! — Screen after screen of, Yes, I agree to let Them scan my house for other devices and report back anything they find... Yes, I agree to let Them install or change or delete anything on “my” device... Yes, I agree to let Them scan all my contacts and data so they can make me feel happy by feeding it back to me in different ways, no, wait, they mean mining it for profit and trapping me in their systems. Yes, Agree To All because that&#39;s the easy option (and notice there&#39;s no “Agree to None” option).</p>

<p><strong>Aaargh! No way, not me. Unfriendly system, Be Gone!</strong></p>

<p><strong>THEREFORE</strong> We want to turn it into a <a href="https://wrily.foad.me.uk/freedom-respecting-smart-phone-want-get-have">Freedom-Respecting Smart Phone</a> or Tablet by “flashing” a Freedom Software operating system onto the device.</p>

<h2 id="the-new-software" id="the-new-software">The New Software</h2>

<p>I want to install an android-compatible, privacy-friendly, Freedom-Tech operating system. Nowadays I favour <a href="https://e.foundation/e-os/">e-OS by Murena</a>. e-OS is near main-stream user-friendly, with a nice blend of privacy by default along with a choice of optional (privacy-invading) google support for those that want it. e-OS is available on a wide range of phone hardware from cheap to premium, and you can either buy it or self-install it. If you&#39;re not wanting to develop tech skills in this area, buy it pre-installed.</p>

<h3 id="android-compatible-freedom-tech-operating-systems" id="android-compatible-freedom-tech-operating-systems">Android-compatible Freedom Tech Operating Systems</h3>

<p>Android as most people know it is a proprietary product, which contains inside it some open-source software (including some of Linux), leading to eternal confusion about whether “it” itself is open-source. No. Only the people who go looking for it get an open-source system built around the Android Open Source Project (AOSP). (That&#39;s us, yay!) Everyone who buys an Android device from the usual sort of phone maker is getting a heavily proprietary product that spies on them.</p>

<p>For this reason I often use long-winded descriptions like “android-compatible freedom-tech operating systems” to clearly differentiate these from proprietary Android.</p>

<p>Murena&#39;s “e-OS” is built around AOSP, using Freedom Tech to replace all the proprietary Google pieces, in a similar way to other android-compatibles such as <a href="https://wiki.lineageos.org/">LineageOS</a> (a minimal android-compatible base OS) and <a href="https://lineage.microg.org/">LineageOS-for-MicroG</a> (LineageOS plus F-Droid and some optional google support).</p>

<p>See my <a href="https://wrily.foad.me.uk/freedom-respecting-smart-phone-want-get-have">Freedom-Respecting Smart Phone</a> post for other Freedom Tech alternatives you might consider.</p>

<h2 id="choosing-a-well-supported-tablet" id="choosing-a-well-supported-tablet">Choosing a Well Supported Tablet</h2>

<p>I bought this tablet after checking it was supported <a href="https://doc.e.foundation/devices">by e-OS</a> and <a href="https://wiki.lineageos.org/devices/">by LineageOS</a> (and therefore also by LineageOS-for-MicroG).</p>

<p>What I didn&#39;t realise until too late is the installation instructions say I should download and run this, that and the other from various “random” (unofficial/unverified) sources — and it turns out those instructions are intended for running on MS Windows. Ugh.</p>

<p>There is a Freedom software alternative for this step: Heimdall. See <a href="https://wrily.foad.me.uk/odin-and-heimdall-free-your-samsung-android">Odin and Heimdall: Free Your Samsung Android</a>.</p>

<p>I found this part of the procedure to be a deep rabbit-hole and spent a long time getting through it, reading a lot of dead-ends along the way.</p>

<p>For this reason I want to document what works, and also make it easier for others to do it, by attempting to automate this procedure in the Open Android Installer.</p>

<p>As the procedure is similar for many devices so working on the solution for my device should, I hope, also help others.</p>

<p>On Choosing a Well Supported Tablet, if you have limited time and experience for working through a complex installation procedure, then I would advise only choosing a Samsung phone or tablet in the following cases:</p>
<ul><li>if the <a href="https://openandroidinstaller.org/">Open Android Installer</a> or <a href="https://doc.e.foundation/easy-installer">e-OS Easy Installer</a> supports it, or</li>
<li>if you can get one that is already running a Freedom Software OS.</li></ul>

<p>(Once it is running a Freedom Software OS, it is easier to upgrade or change it from that point.)</p>

<h2 id="installing" id="installing">Installing</h2>

<p>Installing is a challenge. The procedure is fraught with difficulties. Some people report that they “simply” followed the instructions and succeeded within an hour, while many others apparently spent days, encountered problems or gave up.</p>

<p>The starting point is the semi-official instructions published by the likes of LineageOS and e-OS. Note that these are basically the best efforts so far of volunteer groups, and are not necessarily accurate or complete, and far from foolproof.</p>

<p>See:</p>
<ul><li><a href="https://doc.e.foundation/devices/gta4lwifi/install">e-OS install guide</a> and <a href="https://community.e.foundation/t/samsung-galaxy-tab-a7-10-4-2020-wi-fi-gta4lwifi-documentation-suggestions/56048">e-OS forum thread</a></li>
<li><a href="https://wiki.lineageos.org/devices/gta4lwifi/install/">LineageOS install guide</a> and <a href="https://xdaforums.com/t/official-sm-t505-sm-t505n-sm-t505c-sm-t507-gta4l-sm-t500-gta4lwifi-lineageos-21-for-galaxy-tab-a7-2020-lte-wifi-version.4576699/">XDA forum thread</a> (also relevant for LOS-for-microG)</li></ul>

<p>After many hours of trial and research I got LineageOS installed, and some notes taken, several improvements implemented in my local copy of Open Android Installer, and a first couple of blog <a href="https://wrily.foad.me.uk/troubleshooting-heimdall-fails-at-initialising-protocol">posts</a> <a href="https://wrily.foad.me.uk/odin-and-heimdall-free-your-samsung-android">posted</a> about parts of the procedure.</p>

<p>After reaching that stage, it was relatively easy to replace plain LineageOS with LineageOS-for-MicroG (both at version 21).</p>

<p>I also tried replacing it with e-OS (version T equivalent to 20) but that failed:</p>

<blockquote><pre><code>Installing update...
Comparing TZ version XF.5.1-01015-1 to XF.5.1-638149-3
ERROR: This package requires firmware from an Android 12 based stock ROM build. Please upgrade firmware and retry!
ERROR:   recovery: Error in /sideload/package.zip (status 1)
</code></pre></blockquote>

<p>The tablet was running Samsung Android version 12 before I started. Never mind that for now. I&#39;ll come back to e-OS later.</p>

<p>So, I can claim success on one score: my tablet is now running LineageOS-for-microG.</p>

<p>Oh! You wanted all the details of how I did it and what went wrong? I&#39;m not planning to write that up in that form (it was messy), but rather to work out improvements and write them up. I&#39;ll post them here once I&#39;ve got something.</p>

<h2 id="making-it-easier-for-others-to-do-the-same" id="making-it-easier-for-others-to-do-the-same">Making it easier for others to do the same</h2>

<p>Taking hours to achieve this feat just for myself does not make me feel good.</p>

<p>I want to make it feasible for people with just a little technical skill to install an alternative operating system. It really should not and need not be so hard.</p>

<p>I can:</p>
<ul><li>improve the installer apps (Open Android Installer, e-OS Easy Installer)</li>
<li>improve the installation instructions</li></ul>

<p>In particular I want to do things that help whole classes of problems, across multiple devices and multiple operating systems, such as making the installers and instructions more automatic, more consistent, more foolproof, easier to diagnose.</p>

<p>To these ends, I have been keeping notes on what&#39;s missing, and have started making improvements to Open Android Installer.</p>



<hr>

<p><a href="https://wrily.foad.me.uk/tag:fossGadgets" class="hashtag"><span>#</span><span class="p-category">fossGadgets</span></a> <a href="https://wrily.foad.me.uk/tag:android" class="hashtag"><span>#</span><span class="p-category">android</span></a> <a href="https://wrily.foad.me.uk/tag:degoogled" class="hashtag"><span>#</span><span class="p-category">degoogled</span></a> <a href="https://wrily.foad.me.uk/tag:lineageOS" class="hashtag"><span>#</span><span class="p-category">lineageOS</span></a> <a href="https://wrily.foad.me.uk/tag:eOS" class="hashtag"><span>#</span><span class="p-category">eOS</span></a></p>



<hr>

<p><em>Follow/Feedback/Contact:</em> <a href="https://wrily.foad.me.uk/feed/"><em>RSS feed</em></a> · <em>Fedi follow this blog: @julian​@wrily.foad.me.uk</em> · <a href="https://matrix.to/#/@julian:foad.me.uk" title="matrix Julian"><em>matrix me</em></a> · <a href="https://fed.foad.me.uk/%40julian%40fed.foad.me.uk" title="follow Julian"><em>Fedi follow me</em></a> · <a href="mailto:julian@foad.me.uk?subject=Wrily" title="email Julian"><em>email me</em></a> · <a href="https://julian.foad.me.uk/"><em>julian.foad.me.uk</em></a>
<em>Donate:</em> <a href="https://liberapay.com/julianfoad" title="Donate to Julian using Liberapay"><em>via Liberapay</em></a>
<em>All posts © Julian Foad and licensed <a href="https://creativecommons.org/licenses/by-nd/4.0/">CC-BY-ND</a> except quotes, translations, or where stated otherwise</em></p>
]]></content:encoded>
      <guid>https://wrily.foad.me.uk/freedom-respecting-gadget-degoogling-a-samsung-tablet</guid>
      <pubDate>Mon, 20 May 2024 19:00:00 +0000</pubDate>
    </item>
    <item>
      <title>You Too Can Have a Freedom-Respecting Smart Phone!</title>
      <link>https://wrily.foad.me.uk/freedom-respecting-smart-phone-want-get-have</link>
      <description>&lt;![CDATA[Are you asking yourself,&#xA;&#xA;  &#34;What&#39;s it to be: Android or iPhone?&#34;&#xA;&#xA;Actually, NO! There is another way.&#xA;&#xA;  Time I Learned: there are freedom-respecting phones.&#xA;&#xA;I&#39;ll tell you which one you need.&#xA;&#xA;img src=&#34;https://blog.foad.me.uk/wp-content/uploads/2023/12/IMG20231020164324.resized-rotated.jpg&#34; title=&#34;My freedom phone... badge FreeYourAndroid.org&#34; style=&#34;max-height: 10em&#34; / img src=&#34;https://blog.foad.me.uk/wp-content/uploads/2023/10/FP4-front-back-angled-1-300x300-1.png&#34; title=&#34;Freedom phone with Murena e-OS on a Fairphone 4&#34; style=&#34;max-height: 10em&#34; / img src=&#34;https://blog.foad.me.uk/wp-content/uploads/2023/12/⁨j-phone-lock-screen-foss-1j⁩-ss1.jpg&#34; style=&#34;max-height: 10em&#34; /&#xA;&#xA;What&#39;s the problem?&#xA;&#xA;What&#39;s so bad about choosing either Google or Apple?&#xA;&#xA;It&#39;s about who controls our use of the device after we &#34;bought&#34; it. Do &#34;they&#34; remain in control of what we do, or are we in control?&#xA;!--more--&#xA;&#xA;It&#39;s not about the hardware. Well, there are certainly important issues about the hardware -- and you might want to discover PinePhone and FairPhone. But I&#39;m here to talk about our freedom in using the product.&#xA;&#xA;Many of us today are increasingly concerned about the vendor lock-in, advertising and data mining perpetrated by Apple and Google. They are so pervasive that it&#39;s hard at first to see all the avenues of social human interaction and creativity in which we could be harnessing the power of our computers and our electronic connection to others, all these avenues from which Big Tech have cut us off, as they steer us through their own product pathways according to their own commercial objectives.&#xA;&#xA;In short, we are carrying around general purpose computers but we are artificially locked in to using their power only within the vendor&#39;s own playground. Read: The General Purpose Computer in Your Pocket. Those mega-corporations ensure everything we do is steered toward making their advertisers and shareholders richer: attention grabbing, commercial subscriptions, ads and so on. Not towards what&#39;s best and nicest for us as people.&#xA;&#xA;We&#39;ve been subjected so completely to their way that it&#39;s hard to imagine any other way. Hard to see that the nuggets of convenience we&#39;d have to give up would be as nothing compared to the adventures we&#39;d gain by switching. We can&#39;t see the wood for the trees.&#xA;&#xA;Yet, the alternatives are here. We don&#39;t have to accept it&#39;s a choice between a rock and a hard place.&#xA;&#xA;What we can do instead is choose tech that unlocks the power of these personal computers we carry around, and lets us use them for purposes that make no profits but enhance our own social lives. Gentle technology. Small Tech as opposed to Big Tech.&#xA;&#xA;Once we make the leap and begin exploring the previously untapped possibilities, we begin to appreciate what it feels like to be released from Big Tech&#39;s constraints. It&#39;s not a stretch to say those companies had pressed us into their servitude, and now we can be free. That&#39;s what I&#39;m feeling, and I want us all to have that opportunity.&#xA;&#xA;Which Freedom-respecting Phone?&#xA;&#xA;The one that stands out to me as best suited for most people is built upon a degoogled operating system compatible with Android:&#xA;&#xA;Murena /e/OS smartphones&#xA;  deGoogled, Android-compatible phone&#xA;  with deGoogled &#34;cloud&#34; suite: email, docs, storage, etc. (free or €2~20 /month)&#xA;  choice of phone models (€300~600) including Fairphone&#xA;&#xA;Being freedom-software (open source), the maker guarantees your freedom to use the tools they provide or change to others. What does that mean in practice? For example, if you don&#39;t like the terms and conditions of the Murena cloud software suite, you can use a different one provided by someone else, be it an independent commercial provider, or run by your school or club, or at your best techie friend&#39;s home. And then you don&#39;t even need a Murena account.&#xA;&#xA;How is this degree of freedom possible? First, with the slogan &#34;my data is my data&#34;, Murena is committed to these principles. It was founded by Gaël Duval, the creator of Mandrake Linux. Second, in contrast to Google&#39;s Android which merely contains some open-source software components, this technology stack is designed around open source principles. Their cloud service is not only based on Nextcloud, but is designed to be compatible and interoperable with similar services run by lots of other providers and individuals. Together, and in stark contrast to the Big G and the Big A, these mean there is neither a practical lock-in nor a legal lock-in.&#xA;&#xA;How to get one?&#xA;&#xA;The no-fuss solution: buy one&#xA;The techie friend option: ask the friend to set it for you on a second-hand phone.&#xA;&#xA;&#34;But I&#39;m Not Average&#34;: Other Freedom Phones&#xA;&#xA;If you are not the average person, or if you want to learn more about the alternatives, read on.&#xA;&#xA;I recommend Murena for the average person because their offering is so inclusive: the phone hardware, the cloud services, the freedom to take or leave parts of the system and adapt it to your needs, compatibility with most smart phone apps, and working in a way that is broadly familiar to a lot of people already. I hope we will soon see other providers like them offering a no-fuss all-included solution too.&#xA;&#xA;These alternatives will appeal more to techies and to people with particular preferences or needs, and the ability to spend a bit more effort instead of buying an all-in package. With most of these, you or a techie friend will need to do one or more of: install the operating system software on a suitable phone, setting up any &#34;cloud&#34; services you want, or using apps that are currently less mainstream.&#xA;&#xA;That said, these are quality and important alternatives.&#xA;&#xA;Linux-based Phones&#xA;&#xA;By Linux-based phones, I mean operating systems aligned with GNU/Linux rather than with Android. There are a few.&#xA;&#xA;Purism in particular is an outstanding company dedicated to making freedom and privacy centred devices. If their Librem phone isn&#39;t for you, check out their laptop, server, security key.&#xA; &#xA;Purism&#39;s Librem 5&#xA;  Linux-based phone OS&#xA;  convergence with Linux desktop: run desktop apps on the phone, or plug into a monitor and use as a desktop computer&#xA;  company dedicated to software and hardware freedom and privacy at all levels, and working with wider FOSS community&#xA;&#xA;Jolla with its SailfishOS is the favourite of The Opt Out Project&#39;s Janet Vertesi.&#xA;&#xA;See also: It&#39;s Foss&#39;s short list of GNU/Linux phones&#xA;&#xA;Android-Compatibles&#xA;&#xA;Android compatibles can be partially or completely degoogled, giving privacy from spying megacorps including not only the big G but others too. Most give you a choice of how far you want to distance yourself.&#xA;&#xA;Shiftphones in Germany sells modular repairable phones (and laptops, headphones, etc.). While their current SHIFT6mq comes with a Google Android pre-installed, the interesting thing is they offer an easy and built-in way to install an &#34;upgrade&#34; to a degoogled android version. Much easier than degoogling any other phone.&#xA;&#xA;Shiftphone SHIFT6mq detailed Review including thorough instructions on degoogling it, and suggestions for additional settings and apps.&#xA;&#xA;Iodé is a small company in France selling phones pre-installed with deGoogled Android, with extra privacy features.&#xA;&#xA;Iodé&#39;s new or refurbished phones&#xA;  deGoogled, Android-compatible phone&#xA;  choice of phone models (€210~730) including Fairphone&#xA;&#xA;For techies, there are more deGoogled Android distributions that you can download and install yourself on a suitable phone:&#xA;&#xA;LineageOS or LineageOS for microG&#xA;CalyxOS&#xA;GrapheneOS&#xA;&#xA;Many of the phone operating systems from the vendors mentioned, being based on freedom software, can be self-installed too:&#xA;&#xA;install Murena /e/OS&#xA;install Iodé&#xA;install Purism&#39;s PureOS&#xA;&#xA;How About an iOS-compatible Freedom Phone?&#xA;&#xA;An iOS-compatible Freedom Phone? That&#39;s an oxymoron! Apple locks its users into its own walled garden completely. See The Neighborhood and The Nursing Home.&#xA;&#xA;What Does Julian Use?&#xA;&#xA;Personally, for myself and family I am currently using LineageOS-for-MicroG. I chose that option because I am a techie, experimenting with the various options on a budget, so I tended towards those I can install myself on a wide range of old and new phones. And because it is quite close to mainstream Android so a majority of mainstream apps run on it. And because my less techie family members needed the reassurance of being able to continue using their familiar Google apps to begin with, and only gradually migrating to freedom-software, one app at a time when they are ready, from Chrome to Firefox for example.&#xA;&#xA;I have experimented with others. I really admire what Murena is doing, and have self-installed /e/OS on older and newer phones. I am considering switching over to it on my main phone, and to use it for family members, as it is more readily maintainable and more user-friendly, and supports the widest range of apps from proprietary locked-down banking apps through to fully open freedom software, all on a wonderfully freedom-valued platform.&#xA;&#xA;I would want to use /e/OS with my own compatible cloud service rather than using Murena&#39;s cloud, because I will not compromise on using my own domain name as the key to my own data services. I believe Murena and other companies offering &#34;your own data&#34; services should for this reason always offer &#34;bring your own domain&#34;. For now, the situation is that Murena&#39;s service is open source with the source code repository ecloud-selfhosting in &#34;beta&#34; status. That means it is possible to set up one&#39;s own infrastructure, just not as easy as it really needs to be. (It is however to be congratulated that they host their software forge on their own domain rather than using the anti-freedom Microsoft-Github.)&#xA;&#xA;----&#xA;&#xA;This article is part of my Open Source Gadgets series.&#xA;&#xA;Originally published as All I Want for Christmas is... a Smart Phone?, 2022-11-09. This revised version published December 2023.&#xA;&#xA;More articles tagged... #fossGadgets #android #degoogled #lineageOS #eOS&#xA;&#xA;!--more--&#xD;&#xA;----&#xD;&#xA;Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian&amp;ZeroWidthSpace;@wrily.foad.me.uk · matrix me · Fedi follow me · email me · julian.foad.me.uk&#xD;&#xA;Donate: via Liberapay&#xD;&#xA;All posts &amp;copy; Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Are you asking yourself,</p>

<blockquote><p>“What&#39;s it to be: Android or iPhone?”</p></blockquote>

<p>Actually, NO! There is another way.</p>

<blockquote><p><strong>Time I Learned: there are freedom-respecting phones.</strong></p></blockquote>

<p>I&#39;ll tell you which one you need.</p>

<p><img src="https://blog.foad.me.uk/wp-content/uploads/2023/12/IMG_20231020_164324.resized-rotated.jpg" title="My freedom phone... badge FreeYourAndroid.org" style="max-height: 10em"/> <img src="https://blog.foad.me.uk/wp-content/uploads/2023/10/FP4-front-back-angled-1-300x300-1.png" title="Freedom phone with Murena e-OS on a Fairphone 4" style="max-height: 10em"/> <img src="https://blog.foad.me.uk/wp-content/uploads/2023/12/%E2%81%A8j-phone-lock-screen-foss-1j%E2%81%A9-ss1.jpg" style="max-height: 10em"/></p>

<h2 id="what-s-the-problem" id="what-s-the-problem">What&#39;s the problem?</h2>

<p>What&#39;s so bad about choosing either Google or Apple?</p>

<p><strong>It&#39;s about who controls our use of the device after we “bought” it. Do “they” remain in control of what we do, or are we in control?</strong>
</p>

<p><em>It&#39;s not about the hardware. Well, there are certainly important issues about the hardware — and you might want to discover <a href="https://pine64.com/product-category/smartphones/">PinePhone</a> and <a href="https://www.fairphone.com/en/">FairPhone</a>. But I&#39;m here to talk about our freedom in <em>using</em> the product.</em></p>

<p>Many of us today are increasingly concerned about the vendor lock-in, advertising and data mining perpetrated by Apple and Google. They are so pervasive that it&#39;s hard at first to see all the avenues of social human interaction and creativity in which we could be harnessing the power of our computers and our electronic connection to others, all these avenues from which Big Tech have cut us off, as they steer us through their own product pathways according to their own commercial objectives.</p>

<p>In short, we are carrying around general purpose computers but we are artificially locked in to using their power only within the vendor&#39;s own playground. Read: <a href="https://puri.sm/posts/the-general-purpose-computer-in-your-pocket/">The General Purpose Computer in Your Pocket</a>. Those mega-corporations ensure everything we do is steered toward making their advertisers and shareholders richer: attention grabbing, commercial subscriptions, ads and so on. Not towards what&#39;s best and nicest for us as people.</p>

<p>We&#39;ve been subjected so completely to their way that it&#39;s hard to imagine any other way. Hard to see that the nuggets of convenience we&#39;d have to give up would be as nothing compared to the adventures we&#39;d gain by switching. We can&#39;t see the wood for the trees.</p>

<p>Yet, the alternatives are here. We don&#39;t have to accept it&#39;s a choice between a rock and a hard place.</p>

<p>What we can do instead is choose tech that unlocks the power of these personal computers we carry around, and lets us use them for purposes that make no profits but enhance our own social lives. Gentle technology. Small Tech as opposed to Big Tech.</p>

<p>Once we make the leap and begin exploring the previously untapped possibilities, we begin to appreciate what it feels like to be released from Big Tech&#39;s constraints. It&#39;s not a stretch to say those companies had pressed us into their servitude, and now we can be free. That&#39;s what I&#39;m feeling, and I want us all to have that opportunity.</p>

<h2 id="which-freedom-respecting-phone" id="which-freedom-respecting-phone">Which Freedom-respecting Phone?</h2>

<p>The one that stands out to me as best suited for most people is built upon a degoogled operating system compatible with Android:</p>
<ul><li><strong><a href="https://murena.com/products/smartphones/">Murena /e/OS smartphones</a></strong>
<ul><li>deGoogled, Android-compatible phone</li>
<li>with deGoogled “cloud” suite: email, docs, storage, etc. (free or €2~20 /month)</li>
<li>choice of phone models (€300~600) including Fairphone</li></ul></li></ul>

<p>Being freedom-software (open source), the maker guarantees your freedom to use the tools they provide or change to others. What does that mean in practice? For example, if you don&#39;t like the terms and conditions of the Murena cloud software suite, you can use a different one provided by someone else, be it an independent commercial provider, or run by your school or club, or at your best techie friend&#39;s home. And then you don&#39;t even need a Murena account.</p>

<p>How is this degree of freedom possible? First, with the slogan “my data is my data”, Murena is committed to these principles. It was founded by <a href="https://gaelduval.com/about-gael-duval/">Gaël Duval</a>, the creator of Mandrake Linux. Second, in contrast to Google&#39;s Android which merely <em>contains</em> some open-source software components, this technology stack is designed around open source <em>principles</em>. Their cloud service is not only based on Nextcloud, but is designed to be compatible and interoperable with similar services run by lots of other providers and individuals. Together, and in stark contrast to the Big G and the Big A, these mean there is neither a practical lock-in nor a legal lock-in.</p>

<p>How to get one?</p>
<ul><li>The no-fuss solution: <a href="https://murena.com/products/smartphones/">buy one</a></li>
<li>The techie friend option: ask the friend to set it for you on a second-hand phone.</li></ul>

<h2 id="but-i-m-not-average-other-freedom-phones" id="but-i-m-not-average-other-freedom-phones">“But I&#39;m Not Average”: Other Freedom Phones</h2>

<p>If you are not the average person, or if you want to learn more about the alternatives, read on.</p>

<p>I recommend Murena for the average person because their offering is so inclusive: the phone hardware, the cloud services, the freedom to take or leave parts of the system and adapt it to your needs, compatibility with most smart phone apps, and working in a way that is broadly familiar to a lot of people already. I hope we will soon see other providers like them offering a no-fuss all-included solution too.</p>

<p>These alternatives will appeal more to techies and to people with particular preferences or needs, and the ability to spend a bit more effort instead of buying an all-in package. With most of these, you or a techie friend will need to do one or more of: install the operating system software on a suitable phone, setting up any “cloud” services you want, or using apps that are currently less mainstream.</p>

<p>That said, these are quality and important alternatives.</p>

<h3 id="linux-based-phones" id="linux-based-phones">Linux-based Phones</h3>

<p>By Linux-based phones, I mean operating systems aligned with GNU/Linux rather than with Android. There are a few.</p>

<p>Purism in particular is an outstanding company dedicated to making freedom and privacy centred devices. If their Librem phone isn&#39;t for you, check out their laptop, server, security key.</p>
<ul><li><p><a href="https://puri.sm/">Purism</a>&#39;s <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a></p>
<ul><li>Linux-based phone OS</li>
<li>convergence with Linux desktop: run desktop apps on the phone, or plug into a monitor and use as a desktop computer</li>
<li>company dedicated to software and hardware freedom and privacy at all levels, and working with wider FOSS community</li></ul></li>

<li><p><a href="https://jolla.com/">Jolla</a> with its <a href="https://sailfishos.org/">SailfishOS</a> is <a href="https://www.optoutproject.net/sailfish-the-iphone-and-android-alternative/">the favourite</a> of <a href="https://www.optoutproject.net/">The Opt Out Project</a>&#39;s Janet Vertesi.</p></li></ul>

<p>See also: <a href="https://itsfoss.com/linux-phones/">It&#39;s Foss&#39;s short list of GNU/Linux phones</a></p>

<h3 id="android-compatibles" id="android-compatibles">Android-Compatibles</h3>

<p>Android compatibles can be partially or completely degoogled, giving privacy from spying megacorps including not only the big G but others too. Most give you a choice of how far you want to distance yourself.</p>

<p><a href="https://www.shiftphones.com/en/">Shiftphones</a> in Germany sells modular repairable phones (and laptops, headphones, etc.). While their current SHIFT6mq comes with a Google Android pre-installed, the interesting thing is they offer an easy and built-in way to install an “upgrade” to a degoogled android version. Much easier than degoogling any other phone.</p>
<ul><li><a href="https://android.izzysoft.de/articles/named/android-without-google-8">Shiftphone SHIFT6mq detailed Review</a> including thorough instructions on degoogling it, and suggestions for additional settings and apps.</li></ul>

<p>Iodé is a small company in France selling phones pre-installed with deGoogled Android, with extra privacy features.</p>
<ul><li><a href="https://iode.tech/en/">Iodé</a>&#39;s new or refurbished phones
<ul><li>deGoogled, Android-compatible phone</li>
<li>choice of phone models (€210~730) including Fairphone</li></ul></li></ul>

<p>For techies, there are more deGoogled Android distributions that you can download and install yourself on a suitable phone:</p>
<ul><li><a href="https://lineageos.org/">LineageOS</a> or <a href="https://lineage.microg.org/">LineageOS for microG</a></li>
<li><a href="https://calyxos.org/">CalyxOS</a></li>
<li><a href="https://grapheneos.org/">GrapheneOS</a></li></ul>

<p>Many of the phone operating systems from the vendors mentioned, being based on freedom software, can be self-installed too:</p>
<ul><li><a href="https://doc.e.foundation/devices">install Murena /e/OS</a></li>
<li><a href="https://iode.tech/en/iodeos-installation/">install Iodé</a></li>
<li><a href="https://pureos.net/">install Purism&#39;s PureOS</a></li></ul>

<h3 id="how-about-an-ios-compatible-freedom-phone" id="how-about-an-ios-compatible-freedom-phone">How About an iOS-compatible Freedom Phone?</h3>

<p>An iOS-compatible Freedom Phone? That&#39;s an oxymoron! Apple locks its users into its own walled garden completely. See <a href="https://puri.sm/posts/the-future-of-computers-the-neighborhood-and-the-nursing-home/">The Neighborhood and The Nursing Home</a>.</p>

<h2 id="what-does-julian-use" id="what-does-julian-use">What Does Julian Use?</h2>

<p>Personally, for myself and family I am currently using LineageOS-for-MicroG. I chose that option because I am a techie, experimenting with the various options on a budget, so I tended towards those I can install myself on a wide range of old and new phones. And because it is quite close to mainstream Android so a majority of mainstream apps run on it. And because my less techie family members needed the reassurance of being able to continue using their familiar Google apps to begin with, and only gradually migrating to freedom-software, one app at a time when they are ready, from Chrome to Firefox for example.</p>

<p>I have experimented with others. I really admire what Murena is doing, and have self-installed /e/OS on older and newer phones. I am considering switching over to it on my main phone, and to use it for family members, as it is more readily maintainable and more user-friendly, and supports the widest range of apps from proprietary locked-down banking apps through to fully open freedom software, all on a wonderfully freedom-valued platform.</p>

<p>I would want to use /e/OS with my own compatible cloud service rather than using Murena&#39;s cloud, because I will not compromise on <a href="https://blog.foad.me.uk/2021/01/08/is-your-online-identity-yours/">using my own domain name</a> as the key to my own data services. I believe Murena and other companies offering “your own data” services should for this reason always offer “bring your own domain”. For now, the situation is that Murena&#39;s service is open source with the source code repository <a href="https://gitlab.e.foundation/e/infra/ecloud-selfhosting">ecloud-selfhosting</a> in “beta” status. That means it is possible to set up one&#39;s own infrastructure, just not as easy as it really needs to be. (It is however to be congratulated that they host their software forge on their own domain rather than using the <a href="https://wrily.foad.me.uk/open-tech-be-afraid-microsoft" title="Why Give Up Github">anti-freedom Microsoft-Github</a>.)</p>

<p><img src="https://blog.foad.me.uk/wp-content/uploads/2023/12/this-phone-is-mine-sticker-hex-1a.png" alt=""></p>

<hr>

<p><em>This article is part of my <a href="https://wrily.foad.me.uk/what-to-give-tech-gadgets-that-respect-our-freedom" title="What to Give - Tech Gadgets that Respect Our Freedom">Open Source Gadgets series</a>.</em></p>

<p><em>Originally published as <a href="https://wrily.foad.me.uk/all-i-want-for-christmas-is">All I Want for Christmas is... a Smart Phone?</a>, 2022-11-09. This revised version published December 2023.</em></p>

<p>More articles tagged... <a href="https://wrily.foad.me.uk/tag:fossGadgets" class="hashtag"><span>#</span><span class="p-category">fossGadgets</span></a> <a href="https://wrily.foad.me.uk/tag:android" class="hashtag"><span>#</span><span class="p-category">android</span></a> <a href="https://wrily.foad.me.uk/tag:degoogled" class="hashtag"><span>#</span><span class="p-category">degoogled</span></a> <a href="https://wrily.foad.me.uk/tag:lineageOS" class="hashtag"><span>#</span><span class="p-category">lineageOS</span></a> <a href="https://wrily.foad.me.uk/tag:eOS" class="hashtag"><span>#</span><span class="p-category">eOS</span></a></p>



<hr>

<p><em>Follow/Feedback/Contact:</em> <a href="https://wrily.foad.me.uk/feed/"><em>RSS feed</em></a> · <em>Fedi follow this blog: @julian​@wrily.foad.me.uk</em> · <a href="https://matrix.to/#/@julian:foad.me.uk" title="matrix Julian"><em>matrix me</em></a> · <a href="https://fed.foad.me.uk/%40julian%40fed.foad.me.uk" title="follow Julian"><em>Fedi follow me</em></a> · <a href="mailto:julian@foad.me.uk?subject=Wrily" title="email Julian"><em>email me</em></a> · <a href="https://julian.foad.me.uk/"><em>julian.foad.me.uk</em></a>
<em>Donate:</em> <a href="https://liberapay.com/julianfoad" title="Donate to Julian using Liberapay"><em>via Liberapay</em></a>
<em>All posts © Julian Foad and licensed <a href="https://creativecommons.org/licenses/by-nd/4.0/">CC-BY-ND</a> except quotes, translations, or where stated otherwise</em></p>
]]></content:encoded>
      <guid>https://wrily.foad.me.uk/freedom-respecting-smart-phone-want-get-have</guid>
      <pubDate>Tue, 05 Dec 2023 12:28:11 +0000</pubDate>
    </item>
    <item>
      <title>All I Want for Christmas is... a Smart Phone?</title>
      <link>https://wrily.foad.me.uk/all-i-want-for-christmas-is</link>
      <description>&lt;![CDATA[  &#34;What&#39;s it to be: Android or iPhone?&#34;&#xA;&#xA;Actually, NO! There is another way.&#xA;&#xA;  Time I Learned: there are freedom-respecting phones.&#xA;&#xA;I&#39;ll tell you which one you need.&#xA;!--more--&#xA;&#xA;(For the literal minded: It&#39;s just a title. I don&#39;t really think Christmas is about buying gadgets. This article is about freedom in technology.)&#xA;&#xA;What&#39;s the problem?&#xA;&#xA;What&#39;s so bad about choosing either Google or Apple?&#xA;&#xA;Many of us today are increasingly concerned about the vendor lock-in, advertising and data mining perpetrated by Apple and Google. They are so pervasive that it&#39;s hard at first to see all the avenues of social human interaction and creativity in which we could be harnessing the power of our computers and our electronic connection to others, all these avenues from which Big Tech have cut us off, as they steer us through their own product pathways according to their own commercial objectives.&#xA;&#xA;In short, we are carrying around general purpose computers but we are artificially locked in to using their power only within the vendor&#39;s own playground. Read: The General Purpose Computer in Your Pocket. Those mega-corporations ensure everything we do is steered toward making their advertisers and shareholders richer: attention grabbing, commercial subscriptions, ads and so on. Not towards what&#39;s best and nicest for us as people.&#xA;&#xA;We&#39;ve been subjected so completely to their way that it&#39;s hard to imagine any other way. Hard to see that the nuggets of convenience we&#39;d have to give up would be as nothing compared to the adventures we&#39;d gain by switching. We can&#39;t see the wood for the trees.&#xA;&#xA;Yet, the alternatives are here. We don&#39;t have to accept it&#39;s a choice between a rock and a hard place.&#xA;&#xA;What we can do instead is choose tech that unlocks the power of these personal computers we carry around, and lets us use them for purposes that make no profits but enhance our own social lives. Gentle technology. Small Tech as opposed to Big Tech.&#xA;&#xA;Once we make the leap and begin exploring the previously untapped possibilities, we begin to appreciate what it feels like to be released from Big Tech&#39;s constraints. It&#39;s not a stretch to say those companies had pressed us into their servitude, and now we can be free. That&#39;s what I&#39;m feeling, and I want us all to have that opportunity.&#xA;&#xA;Which Freedom-respecting Phone?&#xA;&#xA;The one that stands out as best suited for ordinary people is built upon a deGoogled version of Android:&#xA;&#xA;Murena /e/OS smartphones&#xA;  deGoogled, Android-compatible phone&#xA;  with deGoogled &#34;cloud&#34; suite: email, docs, storage, etc. (free or €2~20 /month)&#xA;  choice of phone models (€300~600) including Fairphone&#xA;&#xA;Being freedom-software (open source), the maker guarantees your freedom to use the tools they provide or change to others. What does that mean in practice? For example, if you don&#39;t like the terms and conditions of the Murena cloud software suite, you can use a different one provided by someone else, be it an independent commercial provider, or run by your school or club, or at your best techie friend&#39;s home. And then you don&#39;t even need a Murena account.&#xA;&#xA;How is this degree of freedom possible? First, with the slogan &#34;my data is my data&#34;, Murena is committed to these principles. It was founded by Gaël Duval, the creator of Mandrake Linux. Second, in contrast to Google&#39;s Android which merely contains some open-source software components, this technology stack is designed around open source principles. Their cloud service is not only based on Nextcloud, but is designed to be compatible and interoperable with similar services run by lots of other providers and individuals. Together, and in stark contrast to the Big G and the Big A, these mean there is neither a practical lock-in nor a legal lock-in.&#xA;&#xA;How to get one?&#xA;&#xA;The no-fuss solution: buy one&#xA;The techie friend option: ask the friend to set it for you on a second-hand phone.&#xA;&#xA;&#34;But I&#39;m Not Average&#34;: Other Freedom Phones&#xA;&#xA;If you are not the average person, or if you want to learn more about the alternatives, read on.&#xA;&#xA;I recommend Murena for the average person because their offering is so inclusive: the phone hardware, the cloud services, the freedom to take or leave parts of the system and adapt it to your needs, compatibility with most smart phone apps, and working in a way that is broadly familiar to a lot of people already. I hope we will soon see other providers like them offering a no-fuss all-included solution too.&#xA;&#xA;These alternatives will appeal more to techies and to people with particular preferences or needs, and the ability to spend a bit more effort instead of buying an all-in package. With most of these, you or a techie friend will need to do one or more of: install the operating system software on a suitable phone, setting up any &#34;cloud&#34; services you want, or using apps that are currently less mainstream.&#xA;&#xA;That said, these are quality and important alternatives.&#xA;&#xA;Purism in particular is an outstanding company dedicated to making freedom and privacy centred devices. If their Librem phone isn&#39;t for you, check out their laptop, server, security key.&#xA; &#xA;Purism&#39;s Librem 5&#xA;  Linux-based phone OS&#xA;  convergence with Linux desktop: run desktop apps on the phone, or plug into a monitor and use as a desktop computer&#xA;  company dedicated to software and hardware freedom and privacy at all levels, and working with wider FOSS community&#xA;&#xA;Shiftphones in Germany sells modular repairable phones (and laptops, headphones, etc.). While their current SHIFT6mq comes with a Google Android pre-installed, the interesting thing is they offer an easy and built-in way to install an &#34;upgrade&#34; to a degoogled android version. Much easier than degoogling any other phone.&#xA;&#xA;Shiftphone SHIFT6mq detailed Review including thorough instructions on degoogling it, and suggestions for additional settings and apps.&#xA;&#xA;Iodé is a small company in France selling phones pre-installed with deGoogled Android, with extra privacy features.&#xA;&#xA;Iodé&#39;s new or refurbished phones&#xA;  deGoogled, Android-compatible phone&#xA;  choice of phone models (€210~730) including Fairphone&#xA;&#xA;For techies, there are more deGoogled Android distributions that you can download and install yourself on a suitable phone:&#xA;&#xA;LineageOS or LineageOS for microG&#xA;CalyxOS&#xA;GrapheneOS&#xA;&#xA;The phone operating systems from the vendors mentioned, all being based on freedom software, can be self-installed too:&#xA;&#xA;install Murena /e/OS&#xA;install Iodé&#xA;install Purism&#39;s PureOS&#xA;&#xA;(Where are the iOS-based freedom phones? That&#39;s not going to happen: Apple locks its users into its own walled garden completely. See The Neighborhood and The Nursing Home.)&#xA;&#xA;What Does Julian Use?&#xA;&#xA;Personally, for myself and family I am currently using LineageOS-for-MicroG. I chose that option because I am a techie, experimenting with the various options on a budget, so I tended towards those I can install myself on a wide range of old and new phones. And because it is quite close to mainstream Android so a majority of mainstream apps run on it. And because my less techie family members needed the reassurance of being able to continue using their familiar Google apps to begin with, and only gradually migrating to freedom-software, one app at a time when they are ready, from Chrome to Firefox for example.&#xA;&#xA;I have experimented with others. I really admire what Murena is doing, and have self-installed /e/OS on an older phone. I am considering switching over to it on my main phone. I would want to set up my own compatible cloud service rather than using Murena&#39;s, because I will not compromise on using my own domain name as the key to my own data services. I believe Murena and other companies offering &#34;your own data&#34; services should for this reason always offer &#34;bring your own domain&#34;. For now, the situation is that Murena&#39;s service is open source with the source code repository ecloud-selfhosting in &#34;beta&#34; status. (It is to be congratulated also that they host their software forge on their own domain rather than using the anti-freedom github.)&#xA;&#xA;----&#xA;&#xA;This article is part of my Open Source Gadgets series.&#xA;&#xA;Revised version published as Freedom-Respecting Smart Phone: Want, Get, Have!, 2023-12-05.&#xA;&#xA;#fossGadgets #android #degoogled #lineageOS #eOS&#xA;&#xA;!--more--&#xD;&#xA;----&#xD;&#xA;Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian&amp;ZeroWidthSpace;@wrily.foad.me.uk · matrix me · Fedi follow me · email me · julian.foad.me.uk&#xD;&#xA;Donate: via Liberapay&#xD;&#xA;All posts &amp;copy; Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<blockquote><p>“What&#39;s it to be: Android or iPhone?”</p></blockquote>

<p>Actually, NO! There is another way.</p>

<blockquote><p><strong>Time I Learned: there are freedom-respecting phones.</strong></p></blockquote>

<p>I&#39;ll tell you which one you need.
</p>

<p><img src="https://blog.foad.me.uk/wp-content/uploads/2023/10/FP4-front-back-angled-1-300x300-1.png" alt="" title="Murena&#39;s e-OS on a Fairphone 4"></p>

<p><em>(For the literal minded: It&#39;s just a title. I don&#39;t really think Christmas is about buying gadgets. This article is about freedom in technology.)</em></p>

<h2 id="what-s-the-problem" id="what-s-the-problem">What&#39;s the problem?</h2>

<p>What&#39;s so bad about choosing either Google or Apple?</p>

<p>Many of us today are increasingly concerned about the vendor lock-in, advertising and data mining perpetrated by Apple and Google. They are so pervasive that it&#39;s hard at first to see all the avenues of social human interaction and creativity in which we could be harnessing the power of our computers and our electronic connection to others, all these avenues from which Big Tech have cut us off, as they steer us through their own product pathways according to their own commercial objectives.</p>

<p>In short, we are carrying around general purpose computers but we are artificially locked in to using their power only within the vendor&#39;s own playground. Read: <a href="https://puri.sm/posts/the-general-purpose-computer-in-your-pocket/">The General Purpose Computer in Your Pocket</a>. Those mega-corporations ensure everything we do is steered toward making their advertisers and shareholders richer: attention grabbing, commercial subscriptions, ads and so on. Not towards what&#39;s best and nicest for us as people.</p>

<p>We&#39;ve been subjected so completely to their way that it&#39;s hard to imagine any other way. Hard to see that the nuggets of convenience we&#39;d have to give up would be as nothing compared to the adventures we&#39;d gain by switching. We can&#39;t see the wood for the trees.</p>

<p>Yet, the alternatives are here. We don&#39;t have to accept it&#39;s a choice between a rock and a hard place.</p>

<p>What we can do instead is choose tech that unlocks the power of these personal computers we carry around, and lets us use them for purposes that make no profits but enhance our own social lives. Gentle technology. Small Tech as opposed to Big Tech.</p>

<p>Once we make the leap and begin exploring the previously untapped possibilities, we begin to appreciate what it feels like to be released from Big Tech&#39;s constraints. It&#39;s not a stretch to say those companies had pressed us into their servitude, and now we can be free. That&#39;s what I&#39;m feeling, and I want us all to have that opportunity.</p>

<h2 id="which-freedom-respecting-phone" id="which-freedom-respecting-phone">Which Freedom-respecting Phone?</h2>

<p>The one that stands out as best suited for ordinary people is built upon a deGoogled version of Android:</p>
<ul><li><strong><a href="https://murena.com/products/smartphones/">Murena /e/OS smartphones</a></strong>
<ul><li>deGoogled, Android-compatible phone</li>
<li>with deGoogled “cloud” suite: email, docs, storage, etc. (free or €2~20 /month)</li>
<li>choice of phone models (€300~600) including Fairphone</li></ul></li></ul>

<p>Being freedom-software (open source), the maker guarantees your freedom to use the tools they provide or change to others. What does that mean in practice? For example, if you don&#39;t like the terms and conditions of the Murena cloud software suite, you can use a different one provided by someone else, be it an independent commercial provider, or run by your school or club, or at your best techie friend&#39;s home. And then you don&#39;t even need a Murena account.</p>

<p>How is this degree of freedom possible? First, with the slogan “my data is my data”, Murena is committed to these principles. It was founded by <a href="https://gaelduval.com/about-gael-duval/">Gaël Duval</a>, the creator of Mandrake Linux. Second, in contrast to Google&#39;s Android which merely <em>contains</em> some open-source software components, this technology stack is designed around open source <em>principles</em>. Their cloud service is not only based on Nextcloud, but is designed to be compatible and interoperable with similar services run by lots of other providers and individuals. Together, and in stark contrast to the Big G and the Big A, these mean there is neither a practical lock-in nor a legal lock-in.</p>

<p>How to get one?</p>
<ul><li>The no-fuss solution: <a href="https://murena.com/products/smartphones/">buy one</a></li>
<li>The techie friend option: ask the friend to set it for you on a second-hand phone.</li></ul>

<h2 id="but-i-m-not-average-other-freedom-phones" id="but-i-m-not-average-other-freedom-phones">“But I&#39;m Not Average”: Other Freedom Phones</h2>

<p>If you are not the average person, or if you want to learn more about the alternatives, read on.</p>

<p>I recommend Murena for the average person because their offering is so inclusive: the phone hardware, the cloud services, the freedom to take or leave parts of the system and adapt it to your needs, compatibility with most smart phone apps, and working in a way that is broadly familiar to a lot of people already. I hope we will soon see other providers like them offering a no-fuss all-included solution too.</p>

<p>These alternatives will appeal more to techies and to people with particular preferences or needs, and the ability to spend a bit more effort instead of buying an all-in package. With most of these, you or a techie friend will need to do one or more of: install the operating system software on a suitable phone, setting up any “cloud” services you want, or using apps that are currently less mainstream.</p>

<p>That said, these are quality and important alternatives.</p>

<p>Purism in particular is an outstanding company dedicated to making freedom and privacy centred devices. If their Librem phone isn&#39;t for you, check out their laptop, server, security key.</p>
<ul><li><a href="https://puri.sm/">Purism</a>&#39;s <a href="https://shop.puri.sm/shop/librem-5/">Librem 5</a>
<ul><li>Linux-based phone OS</li>
<li>convergence with Linux desktop: run desktop apps on the phone, or plug into a monitor and use as a desktop computer</li>
<li>company dedicated to software and hardware freedom and privacy at all levels, and working with wider FOSS community</li></ul></li></ul>

<p><a href="https://www.shiftphones.com/en/">Shiftphones</a> in Germany sells modular repairable phones (and laptops, headphones, etc.). While their current SHIFT6mq comes with a Google Android pre-installed, the interesting thing is they offer an easy and built-in way to install an “upgrade” to a degoogled android version. Much easier than degoogling any other phone.</p>
<ul><li><a href="https://android.izzysoft.de/articles/named/android-without-google-8">Shiftphone SHIFT6mq detailed Review</a> including thorough instructions on degoogling it, and suggestions for additional settings and apps.</li></ul>

<p>Iodé is a small company in France selling phones pre-installed with deGoogled Android, with extra privacy features.</p>
<ul><li><a href="https://iode.tech/en/">Iodé</a>&#39;s new or refurbished phones
<ul><li>deGoogled, Android-compatible phone</li>
<li>choice of phone models (€210~730) including Fairphone</li></ul></li></ul>

<p>For techies, there are more deGoogled Android distributions that you can download and install yourself on a suitable phone:</p>
<ul><li><a href="https://lineageos.org/">LineageOS</a> or <a href="https://lineage.microg.org/">LineageOS for microG</a></li>
<li><a href="https://calyxos.org/">CalyxOS</a></li>
<li><a href="https://grapheneos.org/">GrapheneOS</a></li></ul>

<p>The phone operating systems from the vendors mentioned, all being based on freedom software, can be self-installed too:</p>
<ul><li><a href="https://doc.e.foundation/devices">install Murena /e/OS</a></li>
<li><a href="https://iode.tech/en/iodeos-installation/">install Iodé</a></li>
<li><a href="https://pureos.net/">install Purism&#39;s PureOS</a></li></ul>

<p>(Where are the iOS-based freedom phones? That&#39;s not going to happen: Apple locks its users into its own walled garden completely. See <a href="https://puri.sm/posts/the-future-of-computers-the-neighborhood-and-the-nursing-home/">The Neighborhood and The Nursing Home</a>.)</p>

<h2 id="what-does-julian-use" id="what-does-julian-use">What Does Julian Use?</h2>

<p>Personally, for myself and family I am currently using LineageOS-for-MicroG. I chose that option because I am a techie, experimenting with the various options on a budget, so I tended towards those I can install myself on a wide range of old and new phones. And because it is quite close to mainstream Android so a majority of mainstream apps run on it. And because my less techie family members needed the reassurance of being able to continue using their familiar Google apps to begin with, and only gradually migrating to freedom-software, one app at a time when they are ready, from Chrome to Firefox for example.</p>

<p>I have experimented with others. I really admire what Murena is doing, and have self-installed /e/OS on an older phone. I am considering switching over to it on my main phone. I would want to set up my own compatible cloud service rather than using Murena&#39;s, because I will not compromise on <a href="https://blog.foad.me.uk/2021/01/08/is-your-online-identity-yours/">using my own domain name</a> as the key to my own data services. I believe Murena and other companies offering “your own data” services should for this reason always offer “bring your own domain”. For now, the situation is that Murena&#39;s service is open source with the source code repository <a href="https://gitlab.e.foundation/e/infra/ecloud-selfhosting">ecloud-selfhosting</a> in “beta” status. (It is to be congratulated also that they host their software forge on their own domain rather than using the <a href="https://giveupgithub.org/" title="GiveUpGithub">anti-freedom github</a>.)</p>

<hr>

<p><em>This article is part of my <a href="https://wrily.foad.me.uk/what-to-give-tech-gadgets-that-respect-our-freedom" title="What to Give - Tech Gadgets that Respect Our Freedom">Open Source Gadgets series</a>.</em></p>

<p><em>Revised version published as <a href="https://wrily.foad.me.uk/freedom-respecting-smart-phone-want-get-have">Freedom-Respecting Smart Phone: Want, Get, Have!</a>, 2023-12-05.</em></p>

<p><a href="https://wrily.foad.me.uk/tag:fossGadgets" class="hashtag"><span>#</span><span class="p-category">fossGadgets</span></a> <a href="https://wrily.foad.me.uk/tag:android" class="hashtag"><span>#</span><span class="p-category">android</span></a> <a href="https://wrily.foad.me.uk/tag:degoogled" class="hashtag"><span>#</span><span class="p-category">degoogled</span></a> <a href="https://wrily.foad.me.uk/tag:lineageOS" class="hashtag"><span>#</span><span class="p-category">lineageOS</span></a> <a href="https://wrily.foad.me.uk/tag:eOS" class="hashtag"><span>#</span><span class="p-category">eOS</span></a></p>



<hr>

<p><em>Follow/Feedback/Contact:</em> <a href="https://wrily.foad.me.uk/feed/"><em>RSS feed</em></a> · <em>Fedi follow this blog: @julian​@wrily.foad.me.uk</em> · <a href="https://matrix.to/#/@julian:foad.me.uk" title="matrix Julian"><em>matrix me</em></a> · <a href="https://fed.foad.me.uk/%40julian%40fed.foad.me.uk" title="follow Julian"><em>Fedi follow me</em></a> · <a href="mailto:julian@foad.me.uk?subject=Wrily" title="email Julian"><em>email me</em></a> · <a href="https://julian.foad.me.uk/"><em>julian.foad.me.uk</em></a>
<em>Donate:</em> <a href="https://liberapay.com/julianfoad" title="Donate to Julian using Liberapay"><em>via Liberapay</em></a>
<em>All posts © Julian Foad and licensed <a href="https://creativecommons.org/licenses/by-nd/4.0/">CC-BY-ND</a> except quotes, translations, or where stated otherwise</em></p>
]]></content:encoded>
      <guid>https://wrily.foad.me.uk/all-i-want-for-christmas-is</guid>
      <pubDate>Wed, 09 Nov 2022 21:05:09 +0000</pubDate>
    </item>
  </channel>
</rss>