<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">

<channel>

<title>Rosano / entries tagged &#34;interop&#34;</title>



<link>https://rosano.ca/log/tag/interop/</link>

<generator>Hugo</generator>

<language>en-ca</language>



<lastBuildDate>Tue, 14 Apr 2026 08:33:02 +0000</lastBuildDate>

<atom:link href="https://rosano.ca/log/tag/interop/feed" rel="self" type="application/rss" /><item>
  <title>introducing memo</title>
  <link>https://rosano.ca/blog/introducing-memo/</link>
  <pubDate>Wed, 15 Oct 2025 11:01:56 +0000</pubDate>
  <guid>https://rosano.ca/blog/introducing-memo/</guid>
  <description>a notepad you can&#39;t edit</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget>a notepad you can't edit</nugget><hr>
<div class="content"><p>I made a small web app called <a href="https://memo.rosano.ca">memo</a> to quickly jot down points, framing it as &quot;a notepad you can't edit&quot;.</p>
<p>Similar to a piece of paper, you just note things down without editing or 'managing' much.</p>
<p>There are no buttons for each item: you can only add new things, and then copy or delete everything.</p>
<p>The interface supports routines I describe in <a href="https://rosano.ca/blog/work-then-dont/">work, then don't</a>: capture points to deal with them later without distracting from whatever's happening at the moment.</p>
<p>Coming from other note taking apps like <a href="https://simplenote.com">Simplenote</a>, Apple Notes, or even <a href="https://hyperdraft.rosano.ca">Hyperdraft</a>, it's nice to not manage conflict: &quot;did I edit that already on another device?&quot;, &quot;I synced but the changes aren't here yet&quot;, &quot;I'd rather not think about that, let me make a new one and then copy/paste between later&quot;. Here, there's no need to trust in special sync — &quot;just add and it will come together&quot;.</p>
<p>I find that 'not editing' also means 'not judging', thus allowing things to flow out as easily as possible—it can easily be cleaned up later; this is useful in brainstorming, writing long-form, and other modes.</p>
<p>So it's a little box to type in that's always ready when opening the app, and it syncronizes points to other devices, and none of the data is held hostage by me because you can bring your own storage. Great, but that's it?</p>
<p>Well, it's a 'real' app that I use everyday, but I think it's also a useful example of interoperability with other tools.</p>
<p>If you want to edit or delete individual items, you can connect the same data to this simple <a href="https://listable.5apps.com">list app</a>; the changes will sync back to memo.</p>
<p>If you like checking things off as 'done', use this <a href="https://todomvc.0data.app">todo app</a>; they will show up completed <del>(crossed out)</del> in memo.</p>
<p>Some people want to keep everything forever, like a physical journal. Maybe someone could make another app that presents a nice 'archive'.</p>
<p>This is very primitive but it feels cool that separate apps work together pretty seamlessly. It's all possible because: 1) they each let you bring your own storage, and 2) they all share a similar format.</p>
<figure>
<p><img src="https://static.rosano.ca/home/blog/2025-10-15-introducing-memo/output.gif" aria-hidden="true">
</p>
<figcaption>three little web apps, sharing a filesystem</figcaption>
</figure>
<style>
figure {
  display: flex;
  flex-direction: column;
  margin: 0;
  width: unset;
}
</style>
<p>I think it would be nice if this was normal with apps and technology. The web is full of people making fun little tools but they're not connected to data in other places; I tend to imagine that by simply tweaking them to read and write data this way, we get some very cool new possibilities, and even give older projects new potential without much change.</p>
<p>Having different tools to deal with the same data is useful as an 'app user', but I love it as an 'app developer' because interop simplifies my life: I don't need to build <em>all</em> the features in my app — other apps can fill the gap, and together, we share one growing base of people who mix them in their workflows.</p>
<p>Try <a href="https://memo.rosano.ca">memo</a> or the <a href="https://todos-interop.0data.app">interop demo</a> and let me know what comes to mind.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/debut/">debut</a>, <a href="/log/tag/zero-data/">zero data</a>, <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 12:01 pm, October 15, 2025" href="/blog/introducing-memo/"><time datetime="2025-10-15T12:01:56&#43;01:00" data-pagefind-sort="date[datetime]">12h01</time></a>

		
		<span>from <a href="/log/place/porto/">Porto</a> / </span>

		<span><a href="/log/country/portugal/">Portugal</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Wednesday, October 15, 2025 12h01</title>
  <link>https://rosano.ca/log/2025-10-15-introducing-memo/</link>
  <pubDate>Wed, 15 Oct 2025 12:01:56 +0100</pubDate>
  <guid>https://rosano.ca/log/2025-10-15-introducing-memo/</guid>
  <description>I made a small web app called memo to quickly jot down points, framing it as &amp;quot;a notepad you can&#39;t edit&amp;quot;.&#xA;Similar to a piece of paper, you just note things down without editing or &#39;managing&#39; much.&#xA;There are no buttons for each item: you can only add new things, and then copy or delete everything.&#xA;The interface supports routines I describe in work, then don&#39;t: capture points to deal with them later without distracting from whatever&#39;s happening at the moment.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget><p>I made a small web app called <a href="https://memo.rosano.ca">memo</a> to quickly jot down points, framing it as &quot;a notepad you can't edit&quot;.</p>
<p>Similar to a piece of paper, you just note things down without editing or 'managing' much.</p>
<p>There are no buttons for each item: you can only add new things, and then copy or delete everything.</p>
<p>The interface supports routines I describe in <a href="https://rosano.ca/blog/work-then-dont/">work, then don't</a>: capture points to deal with them later without distracting from whatever's happening at the moment.</p></nugget><hr>
<div class="content"><p>I made a small web app called <a href="https://memo.rosano.ca">memo</a> to quickly jot down points, framing it as &quot;a notepad you can't edit&quot;.</p>
<p>Similar to a piece of paper, you just note things down without editing or 'managing' much.</p>
<p>There are no buttons for each item: you can only add new things, and then copy or delete everything.</p>
<p>The interface supports routines I describe in <a href="https://rosano.ca/blog/work-then-dont/">work, then don't</a>: capture points to deal with them later without distracting from whatever's happening at the moment.</p>
<p>Coming from other note taking apps like <a href="https://simplenote.com">Simplenote</a>, Apple Notes, or even <a href="https://hyperdraft.rosano.ca">Hyperdraft</a>, it's nice to not manage conflict: &quot;did I edit that already on another device?&quot;, &quot;I synced but the changes aren't here yet&quot;, &quot;I'd rather not think about that, let me make a new one and then copy/paste between later&quot;. Here, there's no need to trust in special sync — &quot;just add and it will come together&quot;.</p>
<p>I find that 'not editing' also means 'not judging', thus allowing things to flow out as easily as possible—it can easily be cleaned up later; this is useful in brainstorming, writing long-form, and other modes.</p>
<p>So it's a little box to type in that's always ready when opening the app, and it syncronizes points to other devices, and none of the data is held hostage by me because you can bring your own storage. Great, but that's it?</p>
<p>Well, it's a 'real' app that I use everyday, but I think it's also a useful example of interoperability with other tools.</p>
<p>If you want to edit or delete individual items, you can connect the same data to this simple <a href="https://listable.5apps.com">list app</a>; the changes will sync back to memo.</p>
<p>If you like checking things off as 'done', use this <a href="https://todomvc.0data.app">todo app</a>; they will show up completed <del>(crossed out)</del> in memo.</p>
<p>Some people want to keep everything forever, like a physical journal. Maybe someone could make another app that presents a nice 'archive'.</p>
<p>This is very primitive but it feels cool that separate apps work together pretty seamlessly. It's all possible because: 1) they each let you bring your own storage, and 2) they all share a similar format.</p>
<figure>
<p><img src="https://static.rosano.ca/home/timeline/2025-10-15-introducing-memo1760526116/output.gif" aria-hidden="true">
</p>
<figcaption>three little web apps, sharing a filesystem</figcaption>
</figure>
<style>
figure {
  display: flex;
  flex-direction: column;
  margin: 0;
  width: unset;
}
</style>
<p>I think it would be nice if this was normal with apps and technology. The web is full of people making fun little tools but they're not connected to data in other places; I tend to imagine that by simply tweaking them to read and write data this way, we get some very cool new possibilities, and even give older projects new potential without much change.</p>
<p>Having different tools to deal with the same data is useful as an 'app user', but I love it as an 'app developer' because interop simplifies my life: I don't need to build <em>all</em> the features in my app — other apps can fill the gap, and together, we share one growing base of people who mix them in their workflows.</p>
<p>Try <a href="https://memo.rosano.ca">memo</a> or the <a href="https://todos-interop.0data.app">interop demo</a> and let me know what comes to mind.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/debut/">debut</a>, <a href="/log/tag/zero-data/">zero data</a>, <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 12:01 pm, October 15, 2025" href="/log/2025-10-15-introducing-memo/"><time datetime="2025-10-15T12:01:56&#43;01:00" data-pagefind-sort="date[datetime]">12h01</time></a>

		
		<span>from <a href="/log/place/porto/">Porto</a> / </span>

		<span><a href="/log/country/portugal/">Portugal</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Tuesday, October 14, 2025 10h49</title>
  <link>https://rosano.ca/log/01k7h1zpbzk2sga15kj2nyf19t/</link>
  <pubDate>Tue, 14 Oct 2025 10:49:22 +0100</pubDate>
  <guid>https://rosano.ca/log/01k7h1zpbzk2sga15kj2nyf19t/</guid>
  <description>Feed me up, Scotty!&#xA;RSS feeds for arbitrary websites, using CSS selectors.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p><a href="https://feed-me-up-scotty.vincenttunru.com">Feed me up, Scotty!</a></p>
<blockquote>
<p>RSS feeds for arbitrary websites, using CSS selectors.</p></blockquote>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 10:49 am, October 14, 2025" href="/log/01k7h1zpbzk2sga15kj2nyf19t/"><time datetime="2025-10-14T10:49:22&#43;01:00" data-pagefind-sort="date[datetime]">10h49</time></a>

		
		<span>from <a href="/log/place/porto/">Porto</a> / </span>

		<span><a href="/log/country/portugal/">Portugal</a></span><span>, type:<a href="/log/type/project/">project</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>fun with redirects</title>
  <link>https://rosano.ca/blog/fun-with-redirects/</link>
  <pubDate>Mon, 18 Mar 2024 12:23:11 +0000</pubDate>
  <guid>https://rosano.ca/blog/fun-with-redirects/</guid>
  <description>Owning my URLs and avoiding link rot since 2012.</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget>Owning my URLs and avoiding link rot since 2012.</nugget><hr>
<div class="content"><blockquote>
<p>If you have a website, what are your earliest meaningful links that still work? I have almost no broken links at least since 2012 because I usually add a redirect whenever something changes.</p></blockquote>
<p>Redirects help links in a healthy web <a href="https://www.w3.org/Provider/Style/URI">resolve</a>, avoid <a href="https://en.wikipedia.org/wiki/Link%5Frot">rot</a>, and <a href="https://worrydream.com/TheWebOfAlexandria">last a long time</a>, but they also increase agency by letting own your data (own your URLs).</p>
<h1 id="own-your-links">own your links</h1>
<p>When I link to a platform I don't control, I try to at least use a URL that I do control. I have found this useful in recent years when switching my newsletter provider (<a href="https://rosano.ca/list">/list</a>), Mastodon instance (<a href="https://rosano.ca/mastodon">/mastodon</a>), or crowdfunding platform (<a href="https://rosano.ca/fund">/fund</a>)–I didn't have to change any links when that happened.</p>
<p>I'm considering even my Twitter account (<a href="https://rosano.ca/twitter">/twitter</a> in case the site goes bankrupt, and GitHub repositories (<a href="https://rosano.ca/hyperdraft-source">/hyperdraft-source</a>) or YouTube videos (<a href="https://rosano.ca/strolling-0172-video">/strolling-0172-video</a>) in case I start self-hosting; neither has happened yet, but if it occurs, I can easily update the destination once and point it somewhere else retroactively.</p>
<h1 id="self-hosting-a-link-manager">self-hosting a link manager</h1>
<figure>
	<img src="https://static.rosano.ca/home/blog/2024-03-18-fun-with-redirects/yourls.png"/>
	<figcaption>about 300 links managed with YOURLS</figcaption>
</figure>
<p>My links tend to be readable, but I like Derek Sivers' idea of making them <a href="https://sive.rs/su">short and speakable</a>. I use <a href="https://yourls.org">YOURLS</a> one-click self-hosted via <a href="https://www.cloudron.io">Cloudron</a> to manage my redirects which makes it easy to have both short and speakable if necessary; the links technically are something like <code>go.rosano.ca/whatever</code>, but because I own the data, I can make it further accessible under my root domain, as <code>rosano.ca/whatever</code> is often shortest, simplest, and most memorable. I also do the same contraction with blog permalinks so that <code>utopia.rosano.ca/interoperable-visions/</code> can be accessed at <code>rosano.ca/interoperable-visions</code>; I stick with <a href="https://ghost.org">Ghost</a>'s simple permalinks design of <code>/post-title-as-a-slug</code> and find it more readable and predictable.</p>
<h1 id="self-hosting-legacy-redirection">self-hosting legacy redirection</h1>
<p>For legacy domains and permalinks, I made a simple <a href="https://github.com/rosano/redirects/blob/master/main.js">single-file Node.js Express app</a> (<code>git push</code> self-hosted via <a href="https://caprover.com">CapRover</a>). There are about two dozen domains pointing to the same app to handle:</p>
<ol>
<li><a href="https://github.com/rosano/redirects/commit/3ed596df0fb4cebe5d32c231b4aecd44de091bbd">removing www.</a></li>
<li><a href="https://github.com/rosano/redirects/commit/52bf5d6ffe8dde9faadc0d71a524d76ec70be8ee">correcting old and mispelled domains</a></li>
<li><a href="https://github.com/rosano/redirects/commit/fbab1be533fc64ed01c0611b630eadb89c59e2a9">redirecting archived projects to a single page</a></li>
<li><a href="https://github.com/rosano/redirects/commit/43eeee14874ded0c16be6e82fcfd786fad4caf22">masking a domain that functions as a landing page</a></li>
<li><a href="https://github.com/rosano/redirects/commit/8a4ce8ed0c309dd4a40c57477e5df80d6fc2ba4f">redirecting PeerTube links to YouTube</a></li>
<li><a href="https://github.com/rosano/redirects/commit/41786338aee47c59e08ed6a7e03fd9a3b715c54e">redirecting gibberish slugs to friendly slugs</a></li>
<li><a href="https://github.com/rosano/redirects/commit/47a9439a5d523ea4cbbc6257e4e40e995c75dd8d">redirecting to the Wayback Machine</a> as a last resort, (but I may have done this one incorrectly, as it might cause some recursive issues).</li>
</ol>
<p>This is hopefully a graceful degradation that takes care to guide existing links somewhere useful. It also supports HTTPS so if you write <code>https://[OLD_DOMAIN]</code> it works, which is not the case when you 'forward' URLs via registrars like <a href="https://www.hover.com">Hover</a> who only support writing <code>http://[OLD_DOMAIN]</code>.</p>
<h1 id="static-versus-dynamic">static versus dynamic</h1>
<p>I love the simplicity of static sites and how they're basically free to keep alive forever, but all of my redirect pipework makes me feel forever tied to dynamic systems. It's possible to redirect via <a href="https://www.w3.org/TR/WCAG20-TECHS/H76.html">meta refresh</a> on a static page but I find it ugly to write and manage with HTML; I'm also not sure if all search engines understand them, although <a href="https://developers.google.com/search/docs/crawling-indexing/special-tags#refresh">Google claims to yet still recommends server-side redirects</a>:</p>
<blockquote>
<p>This tag, commonly called meta-refresh, sends the user to a new URL after a certain amount of time, and is sometimes used as a simple form of redirection. However, it is <a href="https://www.w3.org/TR/WCAG10-HTML-TECHS/#meta-element">not supported by all browsers and can be confusing to the user</a>. We recommend using a server-side <a href="https://developers.google.com/search/docs/crawling-indexing/301-redirects">301 redirect</a> instead.</p></blockquote>
<h1 id="conclusion">conclusion</h1>
<p>Maybe it's the librarian in me that finds it fun to have my stuff organized and moving along smoothly. I like the sense of ownership that comes with being able to direct links where I want, and the care to avoid throwing visitors into the weeds by making sure they land somewhere useful, always and forever.</p>
<hr>
	<p><small>If you want to keep reading, learn about the difference between fragile data and <a href="https://utopia.rosano.ca/durable-data/">durable data</a>, dream some <a href="https://utopia.rosano.ca/pointing-at-the-wrong-thing/">interoperable visions</a> with me, or marvel at how the person who wrote this needed <a href="https://utopia.rosano.ca/sixth-times-a-charm/">six tries to learn iPhone programming</a>.</small></p>
	<hr></div><p>
	<small>Tagged: <a href="/log/tag/technical/">technical</a>, <a href="/log/tag/zero-data/">zero data</a>, <a href="/log/tag/self-hosting/">self-hosting</a>, <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 8:23 am, March 18, 2024" href="/blog/fun-with-redirects/"><time datetime="2024-03-18T08:23:11-04:00" data-pagefind-sort="date[datetime]">08h23</time></a>

		
		<span>from <a href="/log/place/toronto/">Toronto</a> / </span>

		<span><a href="/log/country/canada/">Canada</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Monday, March 18, 2024 08h23</title>
  <link>https://rosano.ca/log/2024-03-18-fun-with-redirects/</link>
  <pubDate>Mon, 18 Mar 2024 08:23:11 -0400</pubDate>
  <guid>https://rosano.ca/log/2024-03-18-fun-with-redirects/</guid>
  <description> If you have a website, what are your earliest meaningful links that still work? I have almost no broken links at least since 2012 because I usually add a redirect whenever something changes.&#xA;Redirects help links in a healthy web resolve, avoid rot, and last a long time, but they also increase agency by letting own your data (own your URLs).&#xA;own your links When I link to a platform I don&#39;t control, I try to at least use a URL that I do control. I have found this useful in recent years when switching my newsletter provider (/list), Mastodon instance (/mastodon), or crowdfunding platform (/fund)–I didn&#39;t have to change any links when that happened.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget><blockquote>
<p>If you have a website, what are your earliest meaningful links that still work? I have almost no broken links at least since 2012 because I usually add a redirect whenever something changes.</p></blockquote>
<p>Redirects help links in a healthy web <a href="https://www.w3.org/Provider/Style/URI">resolve</a>, avoid <a href="https://en.wikipedia.org/wiki/Link%5Frot">rot</a>, and <a href="https://worrydream.com/TheWebOfAlexandria">last a long time</a>, but they also increase agency by letting own your data (own your URLs).</p>
<h1 id="own-your-links">own your links</h1>
<p>When I link to a platform I don't control, I try to at least use a URL that I do control. I have found this useful in recent years when switching my newsletter provider (<a href="https://rosano.ca/list">/list</a>), Mastodon instance (<a href="https://rosano.ca/mastodon">/mastodon</a>), or crowdfunding platform (<a href="https://rosano.ca/fund">/fund</a>)–I didn't have to change any links when that happened.</p></nugget><hr>
<div class="content"><blockquote>
<p>If you have a website, what are your earliest meaningful links that still work? I have almost no broken links at least since 2012 because I usually add a redirect whenever something changes.</p></blockquote>
<p>Redirects help links in a healthy web <a href="https://www.w3.org/Provider/Style/URI">resolve</a>, avoid <a href="https://en.wikipedia.org/wiki/Link%5Frot">rot</a>, and <a href="https://worrydream.com/TheWebOfAlexandria">last a long time</a>, but they also increase agency by letting own your data (own your URLs).</p>
<h1 id="own-your-links">own your links</h1>
<p>When I link to a platform I don't control, I try to at least use a URL that I do control. I have found this useful in recent years when switching my newsletter provider (<a href="https://rosano.ca/list">/list</a>), Mastodon instance (<a href="https://rosano.ca/mastodon">/mastodon</a>), or crowdfunding platform (<a href="https://rosano.ca/fund">/fund</a>)–I didn't have to change any links when that happened.</p>
<p>I'm considering even my Twitter account (<a href="https://rosano.ca/twitter">/twitter</a> in case the site goes bankrupt, and GitHub repositories (<a href="https://rosano.ca/hyperdraft-source">/hyperdraft-source</a>) or YouTube videos (<a href="https://rosano.ca/strolling-0172-video">/strolling-0172-video</a>) in case I start self-hosting; neither has happened yet, but if it occurs, I can easily update the destination once and point it somewhere else retroactively.</p>
<h1 id="self-hosting-a-link-manager">self-hosting a link manager</h1>
<figure>
	<img src="https://static.rosano.ca/home/blog/2024-03-18-fun-with-redirects/yourls.png"/>
	<figcaption>about 300 links managed with YOURLS</figcaption>
</figure>
<p>My links tend to be readable, but I like Derek Sivers' idea of making them <a href="https://sive.rs/su">short and speakable</a>. I use <a href="https://yourls.org">YOURLS</a> one-click self-hosted via <a href="https://www.cloudron.io">Cloudron</a> to manage my redirects which makes it easy to have both short and speakable if necessary; the links technically are something like <code>go.rosano.ca/whatever</code>, but because I own the data, I can make it further accessible under my root domain, as <code>rosano.ca/whatever</code> is often shortest, simplest, and most memorable. I also do the same contraction with blog permalinks so that <code>utopia.rosano.ca/interoperable-visions/</code> can be accessed at <code>rosano.ca/interoperable-visions</code>; I stick with <a href="https://ghost.org">Ghost</a>'s simple permalinks design of <code>/post-title-as-a-slug</code> and find it more readable and predictable.</p>
<h1 id="self-hosting-legacy-redirection">self-hosting legacy redirection</h1>
<p>For legacy domains and permalinks, I made a simple <a href="https://github.com/rosano/redirects/blob/master/main.js">single-file Node.js Express app</a> (<code>git push</code> self-hosted via <a href="https://caprover.com">CapRover</a>). There are about two dozen domains pointing to the same app to handle:</p>
<ol>
<li><a href="https://github.com/rosano/redirects/commit/3ed596df0fb4cebe5d32c231b4aecd44de091bbd">removing www.</a></li>
<li><a href="https://github.com/rosano/redirects/commit/52bf5d6ffe8dde9faadc0d71a524d76ec70be8ee">correcting old and mispelled domains</a></li>
<li><a href="https://github.com/rosano/redirects/commit/fbab1be533fc64ed01c0611b630eadb89c59e2a9">redirecting archived projects to a single page</a></li>
<li><a href="https://github.com/rosano/redirects/commit/43eeee14874ded0c16be6e82fcfd786fad4caf22">masking a domain that functions as a landing page</a></li>
<li><a href="https://github.com/rosano/redirects/commit/8a4ce8ed0c309dd4a40c57477e5df80d6fc2ba4f">redirecting PeerTube links to YouTube</a></li>
<li><a href="https://github.com/rosano/redirects/commit/41786338aee47c59e08ed6a7e03fd9a3b715c54e">redirecting gibberish slugs to friendly slugs</a></li>
<li><a href="https://github.com/rosano/redirects/commit/47a9439a5d523ea4cbbc6257e4e40e995c75dd8d">redirecting to the Wayback Machine</a> as a last resort, (but I may have done this one incorrectly, as it might cause some recursive issues).</li>
</ol>
<p>This is hopefully a graceful degradation that takes care to guide existing links somewhere useful. It also supports HTTPS so if you write <code>https://[OLD_DOMAIN]</code> it works, which is not the case when you 'forward' URLs via registrars like <a href="https://www.hover.com">Hover</a> who only support writing <code>http://[OLD_DOMAIN]</code>.</p>
<h1 id="static-versus-dynamic">static versus dynamic</h1>
<p>I love the simplicity of static sites and how they're basically free to keep alive forever, but all of my redirect pipework makes me feel forever tied to dynamic systems. It's possible to redirect via <a href="https://www.w3.org/TR/WCAG20-TECHS/H76.html">meta refresh</a> on a static page but I find it ugly to write and manage with HTML; I'm also not sure if all search engines understand them, although <a href="https://developers.google.com/search/docs/crawling-indexing/special-tags#refresh">Google claims to yet still recommends server-side redirects</a>:</p>
<blockquote>
<p>This tag, commonly called meta-refresh, sends the user to a new URL after a certain amount of time, and is sometimes used as a simple form of redirection. However, it is <a href="https://www.w3.org/TR/WCAG10-HTML-TECHS/#meta-element">not supported by all browsers and can be confusing to the user</a>. We recommend using a server-side <a href="https://developers.google.com/search/docs/crawling-indexing/301-redirects">301 redirect</a> instead.</p></blockquote>
<h1 id="conclusion">conclusion</h1>
<p>Maybe it's the librarian in me that finds it fun to have my stuff organized and moving along smoothly. I like the sense of ownership that comes with being able to direct links where I want, and the care to avoid throwing visitors into the weeds by making sure they land somewhere useful, always and forever.</p>
<hr>
	<p><small>If you want to keep reading, learn about the difference between fragile data and <a href="https://utopia.rosano.ca/durable-data/">durable data</a>, dream some <a href="https://utopia.rosano.ca/pointing-at-the-wrong-thing/">interoperable visions</a> with me, or marvel at how the person who wrote this needed <a href="https://utopia.rosano.ca/sixth-times-a-charm/">six tries to learn iPhone programming</a>.</small></p>
	<hr></div><p>
	<small>Tagged: <a href="/log/tag/technical/">technical</a>, <a href="/log/tag/zero-data/">zero data</a>, <a href="/log/tag/self-hosting/">self-hosting</a>, <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 8:23 am, March 18, 2024" href="/log/2024-03-18-fun-with-redirects/"><time datetime="2024-03-18T08:23:11-04:00" data-pagefind-sort="date[datetime]">08h23</time></a>

		
		<span>from <a href="/log/place/toronto/">Toronto</a> / </span>

		<span><a href="/log/country/canada/">Canada</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Thursday, March 14, 2024 23h37</title>
  <link>https://rosano.ca/log/01hs02ynna67qh79vs76m41fr7/</link>
  <pubDate>Thu, 14 Mar 2024 23:37:08 -0400</pubDate>
  <guid>https://rosano.ca/log/01hs02ynna67qh79vs76m41fr7/</guid>
  <description>If schemas are like language then they&#39;re also better negotiated through common usage.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p>If schemas are like language then they're also better negotiated through common usage.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 11:37 pm, March 14, 2024" href="/log/01hs02ynna67qh79vs76m41fr7/"><time datetime="2024-03-14T23:37:08-04:00" data-pagefind-sort="date[datetime]">23h37</time></a>

		
		<span>from <a href="/log/place/toronto/">Toronto</a> / </span>

		<span><a href="/log/country/canada/">Canada</a></span><span>, type:<a href="/log/type/thought/">thought</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>durable data</title>
  <link>https://rosano.ca/blog/durable-data/</link>
  <pubDate>Wed, 21 Feb 2024 14:24:24 +0000</pubDate>
  <guid>https://rosano.ca/blog/durable-data/</guid>
  <description>Data ownership baked into how the system works, no goodwill needed, making people feel safe as in a long-term relationship.</description>
  <content:encoded><![CDATA[
  <div class="post">

<p class="feature-image"><img src="https://static.rosano.ca/home/tags/interop/test.jpg" aria-hidden="true"></p><nugget>Data ownership baked into how the system works, no goodwill needed, making people feel safe as in a long-term relationship.</nugget><hr>
<div class="content"><p>After the experiences that prompted my <a href="https://utopia.rosano.ca/encryption-rant/">encryption rant</a>, I have started to notice other moments when my digital stuff seems precarious, fleeting, as if slipping out of my hands; I hope to describe this a little and then consider some solutions.</p>
<h1 id="fragile-data">fragile data</h1>
<p>Encrypted messaging apps (like Signal and WhatsApp) can be <a href="https://utopia.rosano.ca/encryption-rant/">volatile</a>: you can easily lose access to your conversations; messages can fail to sync or deliver; your data might be secure with encryption, yet still trapped in an app.</p>
<p><a href="https://www.beeper.com">Beeper</a> and <a href="https://texts.com">Texts</a> help bring your messaging app data in one place, but export is not yet possible, even with open-source <a href="https://element.io">Element</a> and the half dozen <a href="https://matrix.org">Matrix</a> clients I've tried.</p>
<p>Platforms (like Discord, Slack, Telegram, or Facebook) don't let you own your messages: their systems can go offline and temporarily obstruct access; one of your contacts can delete their account and disappear your correspondence; smaller ones get <a href="https://ourincrediblejourney.tumblr.com">acquired or shut down</a>; you can only hope to get your data out or somewhere useful; your 'permalinks' (which you didn't own or control) break (remember that <a href="https://www.w3.org/Provider/Style/URI">cool URLs don't change</a>).</p>
<p>Microblogging platforms make it hard to own your posts: Twitter oscillates in states of chaos; Mastodon (or ActivityPub) ties them to whichever server you published from; Bluesky claims to let you move your data, but somehow it's not directly tangible.</p>
<p>Self-hosting gives you more control, but you still might end up losing stuff to 'export'. <a href="https://discourse.org">Discourse</a> will give you SQL that has 'everything', which you need technical expertise to 'do something'; <a href="https://datasette.io">Datasette</a> can be helpful to browse what you have and maybe convert to more accessible formats. <a href="https://ghost.org">Ghost</a> claims creators get &quot;access to 100% of their data&quot;, and WordPress claims you can &quot;Own your data, all of it&quot;, but both their exports only include what <em>they</em> consider important; to actually get 'everything', you need to have systems administrator expertise to export SQL and download your images or attachments, then more expertise once you have all that and want to 'do something'. <a href="https://twitter.com/andy%5Fmatuschak/status/1452438176996347907">Consider export harmful</a> unless proven otherwise.</p>
<p>I've been enthusiastic about <a href="https://0data.app">personal data stores</a>, but can admit it doesn't feel like it's <a href="https://utopia.rosano.ca/interoperable-visions/#there-but-invisible">in my hands</a>.</p>
<hr>
<p>Let's summarize 'fragile data' as:</p>
<ul>
<li>volatile access</li>
<li>limited or no export</li>
<li>data tied to a provider</li>
<li>unusable formats (needing technical expertise)</li>
<li>hard to see or manipulate data directly</li>
</ul>
<h1 id="durable-data">durable data</h1>
<p>I want to stop my stuff slipping out of reach as platforms change, depending on companies to stay around and hold it for me, or losing it to 'security', 'encryption', and 'export'. I want to have all my correspondence, publishing, and data, forever, defragmented from various networks and apps. I want to search my archive. I want to avoid being tied to a risky provider or format.</p>
<p>So far, the options that feel durable to me are email, files, Delta Chat, and git: they all continue to work, are supported by older systems and diverse new ones, and enable interesting possibilities via interop; the closest to 'future-proof' that I'm aware of.</p>
<h2 id="email">email</h2>
<p>Email will likely be around <a href="https://en.wikipedia.org/wiki/Lindy%5Feffect">for at least as long as it has been around</a> and remains ubiquitous and accessible to more people than any other data storage system. You can take your messages with you, switch providers, interact with everything in a variety of apps and clients.</p>
<p>Too bad many associate it with 'transactional B.S. from startups', 'marketing offers', 'newsletters one can't unsubscribe to', '10,000+ unread and no way to process'. Comprehensive solutions to <a href="https://en.wikipedia.org/wiki/Information%5Foverload">information overload</a> would be beyond the scope of what I'm writing (off the cuff, I can think of <a href="https://www.hey.com">technical</a>, <a href="https://calmtech.com">philosophical</a>, <a href="https://en.wikipedia.org/wiki/Email%5Fbankruptcy">social</a>, and <a href="https://en.wikipedia.org/wiki/Right%5Fto%5Fdisconnect">political</a> ones), but even if your main account isn't usable, it's easy and basically free to create a quiet new one to play with possibilities.</p>
<p>Email is a nice way to store data associated with a specific moment in time without considering how to structure files or tag items. Sometimes when I research an answer that I likely won't need anymore, I send myself an email instead of putting it in my notes. I would love to have a rich summary of activity on various platforms periodically archived there to maintain my history. Gmail used to harmonize chats and email by archiving and automatically grouping messages by conversation.</p>
<p>Email means copies. Using platforms with their own messaging system relies on the site to be online and hold your messages, while it's also possible for them to go offline (temporarily or permanently), erase data of someone who deletes their account, and sell or get acquired (sending your data who knows where). I used to delete emails with 'messages' sent on these platforms, but now I keep them as I don't trust the platform to do it for me.</p>
<p>Email is the original 'all your stuff in one place that you control', and as long it's designed to protect and respect your attention, it can serve an important function in supporting more durable data.</p>
<h2 id="files">files</h2>
<p>I don't like managing files and consider them a holdover from an older time, preferring interoperable apps (ideally as <a href="https://utopia.rosano.ca/interoperable-visions/#flexibility-through-pluralism">pluralistic lenses on data</a>), yet they remain a useful <a href="https://stephango.com/file-over-app">response to ephemeral software</a>. Files let you <a href="https://www.geoffreylitt.com/2021/03/05/bring-your-own-client.html">choose how to use them</a>, and can be moved between different devices or storage providers.</p>
<p>I don't like hand-editing CSV, reading JSON or XML or HTML, but I'll be able to 'do something' with them probably forever. Plaintext is the way to my heart, and also one of the most interoperable types out there.</p>
<p>There are so many common formats and it's not easy to get an ecosystem to agree on which ones to use. Despite their limitations, having the data stored this way liberates it from any app. Your data could be available in these formats through export or integrations, but ultimately the app developer chooses whether to make that available; some solutions could be to ask people nicely, pressure companies publicly, or <a href="https://beepb00p.xyz/myinfra.html">take it ourselves</a>.</p>
<h2 id="delta-chat">Delta Chat</h2>
<p>(Disclosure: I've done paid work in the past to help with this project. I write my own opinions here to describe how it relates to durable data.)</p>
<p><a href="https://delta.chat">Delta Chat</a> uses your existing email account as a messaging app, and lets you do many things you'd want to do with apps like Signal and WhatsApp.</p>
<p>Unlike other messaging apps: you can move your messages between providers as easily as email; if the app goes away or stops working, you'll still have access to your messages (even if encrypted); it can help defragment your social graph across various platforms; it supports <a href="https://webxdc.org">webxdc</a> as an emerging way to do 'app things', including collaboration; it requires no permission, no company, and &quot;no coins&quot; to participate.</p>
<p>As documented in <a href="https://utopia.rosano.ca/encryption-rant/">encryption rant</a>, it's easy to transfer devices and never leaves me with the feeling that my messages will disappear. And because the data is stored in my email account, it's not dependent on any app, including Delta Chat itself.</p>
<p>It's basically as durable as email, with extra features and benefits: one approach to 'email without crap'.</p>
<h2 id="git-and-github">git and GitHub</h2>
<p>GitHub still leans technical but is becoming increasingly accessible.</p>
<p>It turns git into version control you can see and lets you edit directly on the site without installing apps.</p>
<p>There are virtually infinite integrations and automations available.</p>
<p>Backup, replication, and copies are built into the underlying technology.</p>
<p>Git enables <a href="https://subconscious.substack.com/p/credible-exit">credible exit</a> from GitHub so you can take your files with you.</p>
<p>It's also collaborative and doesn't rely on a specific app's format of version control.</p>
<p>Connecting <a href="https://utopia.rosano.ca/github-as-storage/">GitHub as the storage backend</a> for apps would be a powerful way to enable backup and sync to multiple devices.</p>
<h1 id="building-for-ownership">building for ownership</h1>
<p>There's a reason why <a href="https://0data.app">Zero Data</a> defines data ownership specifically to mean 'having access without export or permission'. In the sea of shiny features advertised by apps, startups, and projects, it can be confusing to understand whether you actually have or own your stuff in the end.</p>
<p>'Encryption' helps avoid unauthorized access, but <a href="https://utopia.rosano.ca/encryption-rant/">your data could easily disappear</a>.</p>
<p>Many efforts that use the '<a href="https://www.inkandswitch.com/local-first/">local-first</a>' label focus on 'working offline', 'sync', and 'collaboration via CRDTs' without consideration for the seventh ideal of data ownership (perhaps leaving some company holding the data); in this way, plenty of Apple software could be misunderstood as 'local-first' while locking data into their ecosystem; <a href="https://dxos.org">DXOS</a> is the closest I've seen to doing local-first right.</p>
<p>Ideally, data ownership is not a coincidental byproduct of someone's goodwill, but rather baked into how the system works. It should go beyond a technical concept to make people feel safe and able to trust the space as they might in a long-term relationship.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/technical/">technical</a>, <a href="/log/tag/interop/">interop</a>, <a href="/log/tag/zero-data/">zero data</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 9:24 am, February 21, 2024" href="/blog/durable-data/"><time datetime="2024-02-21T09:24:24-05:00" data-pagefind-sort="date[datetime]">09h24</time></a>

		
		<span>from <a href="/log/place/toronto/">Toronto</a> / </span>

		<span><a href="/log/country/canada/">Canada</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Wednesday, February 21, 2024 09h24</title>
  <link>https://rosano.ca/log/2024-02-21-durable-data/</link>
  <pubDate>Wed, 21 Feb 2024 09:24:24 -0500</pubDate>
  <guid>https://rosano.ca/log/2024-02-21-durable-data/</guid>
  <description>After the experiences that prompted my encryption rant, I have started to notice other moments when my digital stuff seems precarious, fleeting, as if slipping out of my hands; I hope to describe this a little and then consider some solutions.&#xA;fragile data Encrypted messaging apps (like Signal and WhatsApp) can be volatile: you can easily lose access to your conversations; messages can fail to sync or deliver; your data might be secure with encryption, yet still trapped in an app.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">

<p class="feature-image"><img src="https://static.rosano.ca/home/tags/interop/test.jpg" aria-hidden="true"></p><nugget><p>After the experiences that prompted my <a href="https://utopia.rosano.ca/encryption-rant/">encryption rant</a>, I have started to notice other moments when my digital stuff seems precarious, fleeting, as if slipping out of my hands; I hope to describe this a little and then consider some solutions.</p>
<h1 id="fragile-data">fragile data</h1>
<p>Encrypted messaging apps (like Signal and WhatsApp) can be <a href="https://utopia.rosano.ca/encryption-rant/">volatile</a>: you can easily lose access to your conversations; messages can fail to sync or deliver; your data might be secure with encryption, yet still trapped in an app.</p></nugget><hr>
<div class="content"><p>After the experiences that prompted my <a href="https://utopia.rosano.ca/encryption-rant/">encryption rant</a>, I have started to notice other moments when my digital stuff seems precarious, fleeting, as if slipping out of my hands; I hope to describe this a little and then consider some solutions.</p>
<h1 id="fragile-data">fragile data</h1>
<p>Encrypted messaging apps (like Signal and WhatsApp) can be <a href="https://utopia.rosano.ca/encryption-rant/">volatile</a>: you can easily lose access to your conversations; messages can fail to sync or deliver; your data might be secure with encryption, yet still trapped in an app.</p>
<p><a href="https://www.beeper.com">Beeper</a> and <a href="https://texts.com">Texts</a> help bring your messaging app data in one place, but export is not yet possible, even with open-source <a href="https://element.io">Element</a> and the half dozen <a href="https://matrix.org">Matrix</a> clients I've tried.</p>
<p>Platforms (like Discord, Slack, Telegram, or Facebook) don't let you own your messages: their systems can go offline and temporarily obstruct access; one of your contacts can delete their account and disappear your correspondence; smaller ones get <a href="https://ourincrediblejourney.tumblr.com">acquired or shut down</a>; you can only hope to get your data out or somewhere useful; your 'permalinks' (which you didn't own or control) break (remember that <a href="https://www.w3.org/Provider/Style/URI">cool URLs don't change</a>).</p>
<p>Microblogging platforms make it hard to own your posts: Twitter oscillates in states of chaos; Mastodon (or ActivityPub) ties them to whichever server you published from; Bluesky claims to let you move your data, but somehow it's not directly tangible.</p>
<p>Self-hosting gives you more control, but you still might end up losing stuff to 'export'. <a href="https://discourse.org">Discourse</a> will give you SQL that has 'everything', which you need technical expertise to 'do something'; <a href="https://datasette.io">Datasette</a> can be helpful to browse what you have and maybe convert to more accessible formats. <a href="https://ghost.org">Ghost</a> claims creators get &quot;access to 100% of their data&quot;, and WordPress claims you can &quot;Own your data, all of it&quot;, but both their exports only include what <em>they</em> consider important; to actually get 'everything', you need to have systems administrator expertise to export SQL and download your images or attachments, then more expertise once you have all that and want to 'do something'. <a href="https://twitter.com/andy%5Fmatuschak/status/1452438176996347907">Consider export harmful</a> unless proven otherwise.</p>
<p>I've been enthusiastic about <a href="https://0data.app">personal data stores</a>, but can admit it doesn't feel like it's <a href="https://utopia.rosano.ca/interoperable-visions/#there-but-invisible">in my hands</a>.</p>
<hr>
<p>Let's summarize 'fragile data' as:</p>
<ul>
<li>volatile access</li>
<li>limited or no export</li>
<li>data tied to a provider</li>
<li>unusable formats (needing technical expertise)</li>
<li>hard to see or manipulate data directly</li>
</ul>
<h1 id="durable-data">durable data</h1>
<p>I want to stop my stuff slipping out of reach as platforms change, depending on companies to stay around and hold it for me, or losing it to 'security', 'encryption', and 'export'. I want to have all my correspondence, publishing, and data, forever, defragmented from various networks and apps. I want to search my archive. I want to avoid being tied to a risky provider or format.</p>
<p>So far, the options that feel durable to me are email, files, Delta Chat, and git: they all continue to work, are supported by older systems and diverse new ones, and enable interesting possibilities via interop; the closest to 'future-proof' that I'm aware of.</p>
<h2 id="email">email</h2>
<p>Email will likely be around <a href="https://en.wikipedia.org/wiki/Lindy%5Feffect">for at least as long as it has been around</a> and remains ubiquitous and accessible to more people than any other data storage system. You can take your messages with you, switch providers, interact with everything in a variety of apps and clients.</p>
<p>Too bad many associate it with 'transactional B.S. from startups', 'marketing offers', 'newsletters one can't unsubscribe to', '10,000+ unread and no way to process'. Comprehensive solutions to <a href="https://en.wikipedia.org/wiki/Information%5Foverload">information overload</a> would be beyond the scope of what I'm writing (off the cuff, I can think of <a href="https://www.hey.com">technical</a>, <a href="https://calmtech.com">philosophical</a>, <a href="https://en.wikipedia.org/wiki/Email%5Fbankruptcy">social</a>, and <a href="https://en.wikipedia.org/wiki/Right%5Fto%5Fdisconnect">political</a> ones), but even if your main account isn't usable, it's easy and basically free to create a quiet new one to play with possibilities.</p>
<p>Email is a nice way to store data associated with a specific moment in time without considering how to structure files or tag items. Sometimes when I research an answer that I likely won't need anymore, I send myself an email instead of putting it in my notes. I would love to have a rich summary of activity on various platforms periodically archived there to maintain my history. Gmail used to harmonize chats and email by archiving and automatically grouping messages by conversation.</p>
<p>Email means copies. Using platforms with their own messaging system relies on the site to be online and hold your messages, while it's also possible for them to go offline (temporarily or permanently), erase data of someone who deletes their account, and sell or get acquired (sending your data who knows where). I used to delete emails with 'messages' sent on these platforms, but now I keep them as I don't trust the platform to do it for me.</p>
<p>Email is the original 'all your stuff in one place that you control', and as long it's designed to protect and respect your attention, it can serve an important function in supporting more durable data.</p>
<h2 id="files">files</h2>
<p>I don't like managing files and consider them a holdover from an older time, preferring interoperable apps (ideally as <a href="https://utopia.rosano.ca/interoperable-visions/#flexibility-through-pluralism">pluralistic lenses on data</a>), yet they remain a useful <a href="https://stephango.com/file-over-app">response to ephemeral software</a>. Files let you <a href="https://www.geoffreylitt.com/2021/03/05/bring-your-own-client.html">choose how to use them</a>, and can be moved between different devices or storage providers.</p>
<p>I don't like hand-editing CSV, reading JSON or XML or HTML, but I'll be able to 'do something' with them probably forever. Plaintext is the way to my heart, and also one of the most interoperable types out there.</p>
<p>There are so many common formats and it's not easy to get an ecosystem to agree on which ones to use. Despite their limitations, having the data stored this way liberates it from any app. Your data could be available in these formats through export or integrations, but ultimately the app developer chooses whether to make that available; some solutions could be to ask people nicely, pressure companies publicly, or <a href="https://beepb00p.xyz/myinfra.html">take it ourselves</a>.</p>
<h2 id="delta-chat">Delta Chat</h2>
<p>(Disclosure: I've done paid work in the past to help with this project. I write my own opinions here to describe how it relates to durable data.)</p>
<p><a href="https://delta.chat">Delta Chat</a> uses your existing email account as a messaging app, and lets you do many things you'd want to do with apps like Signal and WhatsApp.</p>
<p>Unlike other messaging apps: you can move your messages between providers as easily as email; if the app goes away or stops working, you'll still have access to your messages (even if encrypted); it can help defragment your social graph across various platforms; it supports <a href="https://webxdc.org">webxdc</a> as an emerging way to do 'app things', including collaboration; it requires no permission, no company, and &quot;no coins&quot; to participate.</p>
<p>As documented in <a href="https://utopia.rosano.ca/encryption-rant/">encryption rant</a>, it's easy to transfer devices and never leaves me with the feeling that my messages will disappear. And because the data is stored in my email account, it's not dependent on any app, including Delta Chat itself.</p>
<p>It's basically as durable as email, with extra features and benefits: one approach to 'email without crap'.</p>
<h2 id="git-and-github">git and GitHub</h2>
<p>GitHub still leans technical but is becoming increasingly accessible.</p>
<p>It turns git into version control you can see and lets you edit directly on the site without installing apps.</p>
<p>There are virtually infinite integrations and automations available.</p>
<p>Backup, replication, and copies are built into the underlying technology.</p>
<p>Git enables <a href="https://subconscious.substack.com/p/credible-exit">credible exit</a> from GitHub so you can take your files with you.</p>
<p>It's also collaborative and doesn't rely on a specific app's format of version control.</p>
<p>Connecting <a href="https://utopia.rosano.ca/github-as-storage/">GitHub as the storage backend</a> for apps would be a powerful way to enable backup and sync to multiple devices.</p>
<h1 id="building-for-ownership">building for ownership</h1>
<p>There's a reason why <a href="https://0data.app">Zero Data</a> defines data ownership specifically to mean 'having access without export or permission'. In the sea of shiny features advertised by apps, startups, and projects, it can be confusing to understand whether you actually have or own your stuff in the end.</p>
<p>'Encryption' helps avoid unauthorized access, but <a href="https://utopia.rosano.ca/encryption-rant/">your data could easily disappear</a>.</p>
<p>Many efforts that use the '<a href="https://www.inkandswitch.com/local-first/">local-first</a>' label focus on 'working offline', 'sync', and 'collaboration via CRDTs' without consideration for the seventh ideal of data ownership (perhaps leaving some company holding the data); in this way, plenty of Apple software could be misunderstood as 'local-first' while locking data into their ecosystem; <a href="https://dxos.org">DXOS</a> is the closest I've seen to doing local-first right.</p>
<p>Ideally, data ownership is not a coincidental byproduct of someone's goodwill, but rather baked into how the system works. It should go beyond a technical concept to make people feel safe and able to trust the space as they might in a long-term relationship.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/technical/">technical</a>, <a href="/log/tag/interop/">interop</a>, <a href="/log/tag/zero-data/">zero data</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 9:24 am, February 21, 2024" href="/log/2024-02-21-durable-data/"><time datetime="2024-02-21T09:24:24-05:00" data-pagefind-sort="date[datetime]">09h24</time></a>

		
		<span>from <a href="/log/place/toronto/">Toronto</a> / </span>

		<span><a href="/log/country/canada/">Canada</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>encryption rant</title>
  <link>https://rosano.ca/blog/encryption-rant/</link>
  <pubDate>Wed, 21 Feb 2024 14:23:43 +0000</pubDate>
  <guid>https://rosano.ca/blog/encryption-rant/</guid>
  <description>Robustly-secured data that can surprisingly vanish at a moments notice.</description>
  <content:encoded><![CDATA[
  <div class="post">

<p class="feature-image"><img src="https://static.rosano.ca/home/tags/interop/Screen-Shot-2024-02-14-at-11.30.50-copy-export.jpg" aria-hidden="true"></p><nugget>Robustly-secured data that can surprisingly vanish at a moments notice.</nugget><hr>
<div class="content"><p><small>👋 Heads up: if you're more interested in solutions, read <a href="https://utopia.rosano.ca/durable-data/">durable data</a>.</small></p>
<hr>
<p>This sort of 'complain-y' post fleshes out my <a href="https://mastodon.online/@rosano/110685716693430299">encryption thread</a> to highlight how data becoming inaccessible might feel to someone less tech-oriented than I am and who isn't going to document their experience; if you're a technology wrangler, read the rest of this while putting yourself in the shoes of someone whose relationship with owning data might be &quot;new phone, please send your number&quot;.</p>
<h1 id="encrypted-bricks">encrypted bricks</h1>
<p>In the end of 2023 I experienced the co-incidental deprecation of multiple messaging apps simultaneously. <a href="https://whatsapp.com">WhatsApp</a>, <a href="https://signal.org">Signal</a>, and <a href="https://www.beeper.com">Beeper</a> either suddenly stopped working or warned about 'going away soon'.</p>
<p><gallery><img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/2023.11.07-16.56.23.jpg" aria-hidden="true">
</gallery><gallery><img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/2024.01.26-at-07.19.54.jpg" aria-hidden="true">
 <img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/Screen-Shot-2024-02-17-at-10.06.50.jpg" aria-hidden="true">
</gallery><gallery><img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/2023.11.07-18.21.46.jpg" aria-hidden="true">
 <img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/Screen-Shot-2024-02-17-at-16.34.05.png" aria-hidden="true">
</gallery></p>
<figure><figcaption>removing native support for older systems</figcaption></figure>
<p>As a technologist, I can vaguely guess it's tied to something like 'availability of better encryption primitives or standards on newer versions of the operating system', but to a non-tech person it might be strange how WhatsApp says &quot;you can use their web version instead, without upgrading your computer, but the native version that was working yesterday 'needs to' stop working today because of 'security'&quot;.</p>
<p>This could nicely tie into imagined stories of planned obsolescence and 'Apple pushing people to always get new stuff' even if that might not be what's really happening here; without technical knowledge, how would you tell the difference?</p>
<p>Also weird how many of these run in Electron (Chrome) as web apps with some kind of server component, but they don't work in a normal web browser.</p>
<h1 id="volatile-updates">volatile updates</h1>
<p>It's fine that Beeper is no longer compatible with my older version of macOS, but not fine that the underlying self-update framework (<a href="https://github.com/Squirrel/Squirrel.Mac/issues/275">Squirrel</a>) forces an upgrade to a version that doesn't run on my machine: when is that ever desirable?</p>
<p>The threat of these workflow disruptions means one needs to keep backup copies of apps or lock them from being changed to prevent unintended updates.</p>
<figure>
<p><img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/Untitled-2-export.jpg" aria-hidden="true">
</p>
<figcaption>locking Element on macOS to prevent it from incompatible upgrades</figcaption>
</figure>
<p>locking Element on macOS to prevent it from incompatible upgrades</p>
<h1 id="moving-devices">moving devices</h1>
<p>Transferring both WhatsApp and Signal messages to a new phone, there's a scary thought (and real possibility) that all my messages could suddenly disappear because of 'security'. Since the app's transfer interface doesn't assure me of the correct path, I need to find the <a href="https://faq.whatsapp.com/209942271778103/">eight-</a> to <a href="https://support.signal.org/hc/en-us/articles/360007059752-Backup-and-Restore-Messages">thirteen-</a>step guide via a search engine and precisely follow it in order to understand and not mess up.</p>
<p>WhatsApp's transfer process simply didn't appear for me, but I was able to just re-register my number on the new phone (<a href="https://support.apple.com/en-us/HT204184#computer">restored from iOS full backup</a>) and unlock my data; phew, glad I didn't trust the <em>documented process</em> and relied on luck or a third party like Apple instead.</p>
<p>Signal's QR-code-based local network transfer is more straight-forward, but repeatedly failed at 99%, which although probably contains all my data, will not let me manage the last inch, thus leaving me locked out. After changing Wi-Fi networks, with a crash for success, it seemed to make it over safely.</p>
<p>Now, even though my messages are there at the moment, there's a lingering worry that my path was not acceptable for 'security' and so it might all get randomly taken away from me some day; this comes from seeing how message history is often not available on new linked devices. It doesn't matter whether my imagined story about possibly losing data is real. Does the experience make you feel safe? Does it reassure you that you have your data? Or does it threaten that you could become signed out and lose everything 'for your own protection'?</p>
<p><a href="https://delta.chat">Delta Chat</a> has the simplest device transfer and even an equivalent of 'changing your number'; the messages are also encrypted, yet I never worry about losing them.</p>
<h1 id="clean-by-accident">clean by accident</h1>
<p>If you can't afford larger storage capacity, you might find yourself managing space on your device. While cleanup up earlier in the year, I accidentally deleted Signal because my screen stalled — throw away your old, slower devices as they quickly become obsolete, right? — and my finger tapped and swiped perfectly because of muscle memory. My years of chat history were just gone. I have some messages on another linked device, but no possibility to export or transfer or merge because their desktop version is only 'linked' and not 'special', awaiting the next unfortunate accident; it sends the message that 'security' lacks agency.</p>
<h1 id="decentralized-if-you-know-how">decentralized if you know how</h1>
<p>Is the solution is an open standard like <a href="https://matrix.org">Matrix</a>? It's not so easy. Their <a href="https://joinmatrix.org">&quot;join&quot; explainer</a> is not as intuitive as other decentralized projects like <a href="https://joinmastodon.org">Mastodon</a>, <a href="https://joinpeertube.org">PeerTube</a>, or <a href="https://join-lemmy.org">Lemmy</a>. I don't believe a non-programmer would be able to do this without help, but assuming they sort through and understand the options of picking both a server and client, they will get stuck on errors like &quot;Unable to decrypt message&quot;, &quot;Verification failed&quot;, and the scary thought of losing messages if you log out.</p>
<p><gallery><img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/2023.11.23-at-14.31.33-1.jpg" aria-hidden="true">
 <img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/2024-02-14-at-12-12-14-1.jpg" aria-hidden="true">
</gallery><gallery><img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/2024-02-14-at-12-12-48-1.jpg" aria-hidden="true">
 <img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/IMG_E7520-1.JPG" aria-hidden="true">
</gallery></p>
<figure><figcaption>scary messages</figcaption></figure>
<p><gallery><img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/2024.01.03-at-10-20-25.jpg" aria-hidden="true">
 <img src="https://static.rosano.ca/home/blog/2024-02-21-encryption-rant/2024.01.03-at-10-20-37.jpg" aria-hidden="true">
</gallery></p>
<figure><figcaption>do these match?</figcaption></figure>
<p>Well, it was tricky to figure out how to trigger the Matrix verification process, but I managed to revive access to my Beeper messages with <a href="https://fluffychat.im">FluffyChat</a> (which really might be &quot;The cutest messenger in the Matrix network&quot;), and it's nice to have access to my data in a variety of web apps that will probably remain backwards compatible forever. Still, &quot;I managed to get it working&quot; is a hard sell for normal people.</p>
<h1 id="export-impossible">export impossible</h1>
<p>I still have yet to see a built-in way to export all my messages at once with Signal, WhatsApp, or any popular Matrix client. It's possible to <a href="https://unix.stackexchange.com/questions/505008/signal-desktop-how-to-export-messages">get a copy of some Signal Desktop messages</a> with tools like <a href="https://github.com/tbvdm/sigtop">sigtop</a> and <a href="https://github.com/signalapp/Signal-Desktop/issues/2516#issuecomment-442797638">sqlcipher</a> if you're comfortable typing into a terminal (I'm not). <a href="https://imazing.com">iMazing</a> lets you export messages and attachments from WhatsApp. Not being part of official app interfaces just feels like platform capture to me: data in, but not out.</p>
<h1 id="secure-complex-fragile">secure, complex, fragile</h1>
<p>Why does all this 'security' have to feel so fragile? What does it mean when 'robustly-secured data' can accidentally vanish at a moment's notice, or that I can back up my entire phone for peace of mind, except for 'secure things'? Should it be normal to expect people to simply upgrade their operating system to the latest version when it's known to likely cause a slew of random issues?</p>
<p>How are ordinary people supposed to feel good about this? There may be workarounds, and maybe I'm even just taking the wrong approach in everything I've documented here, but if someone like me can't figure it out, it's bad: for people outside the tech world with little time or capacity to deal with these kinds of issues, the seeming possibility of them occurring is scary and unsafe, even if not real; for software developers to treat these circumstances as mere 'policy' is not very empathetic.</p>
<p>It's important to give space and patience to technology under development as people make it work, but there's no feigning moral superiority in using 'alternative tech' until it includes a real foundation to stand on for people without this domain expertise. Fleeting personal data is like alternative tech's equivalent of platform enshitification and doesn't fill me with confidence to trust these systems or recommend my non-tech friends to do so.</p>
<h1 id="end-rant">end rant</h1>
<p>I hope to see more apps with comprehensive export or supporting personal data stores. And why not maximize compatibility where possible? If I can message all these platforms via Matrix bridges in a web browser, there's no reason to force an upgrade or brick my app.</p>
<p>Digital security should go beyond a technical concept: what if it made people feel safe, trusting the space as they might in a long-term relationship?</p>
<p>Are these stories of data becoming inaccessible just mine? If you have your own, be welcome to share. Maybe if the problems are documented, they're more likely to be fixed.</p>
<hr>
	<p><small>If you liked that, you might want to read <a href="https://utopia.rosano.ca/durable-data/">durable data</a> for some solutions, or interoperable visions in <a href="https://utopia.rosano.ca/pointing-at-the-wrong-thing/">pointing at the wrong thing</a>, or about different <a href="https://utopia.rosano.ca/levels-of-agency/">levels of agency</a>.</small></p>
	<hr></div><p>
	<small>Tagged: <a href="/log/tag/technical/">technical</a>, <a href="/log/tag/interop/">interop</a>, <a href="/log/tag/zero-data/">zero data</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 9:23 am, February 21, 2024" href="/blog/encryption-rant/"><time datetime="2024-02-21T09:23:43-05:00" data-pagefind-sort="date[datetime]">09h23</time></a>

		
		<span>from <a href="/log/place/toronto/">Toronto</a> / </span>

		<span><a href="/log/country/canada/">Canada</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Wednesday, February 21, 2024 09h23</title>
  <link>https://rosano.ca/log/2024-02-21-encryption-rant/</link>
  <pubDate>Wed, 21 Feb 2024 09:23:43 -0500</pubDate>
  <guid>https://rosano.ca/log/2024-02-21-encryption-rant/</guid>
  <description>👋 Heads up: if you&#39;re more interested in solutions, read durable data.&#xA;This sort of &#39;complain-y&#39; post fleshes out my encryption thread to highlight how data becoming inaccessible might feel to someone less tech-oriented than I am and who isn&#39;t going to document their experience; if you&#39;re a technology wrangler, read the rest of this while putting yourself in the shoes of someone whose relationship with owning data might be &amp;quot;new phone, please send your number&amp;quot;.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">

<p class="feature-image"><img src="https://static.rosano.ca/home/tags/interop/Screen-Shot-2024-02-14-at-11.30.50-copy-export.jpg" aria-hidden="true"></p><nugget><p><small>👋 Heads up: if you're more interested in solutions, read <a href="https://utopia.rosano.ca/durable-data/">durable data</a>.</small></p>
<hr>
<p>This sort of 'complain-y' post fleshes out my <a href="https://mastodon.online/@rosano/110685716693430299">encryption thread</a> to highlight how data becoming inaccessible might feel to someone less tech-oriented than I am and who isn't going to document their experience; if you're a technology wrangler, read the rest of this while putting yourself in the shoes of someone whose relationship with owning data might be &quot;new phone, please send your number&quot;.</p></nugget><hr>
<div class="content"><p><small>👋 Heads up: if you're more interested in solutions, read <a href="https://utopia.rosano.ca/durable-data/">durable data</a>.</small></p>
<hr>
<p>This sort of 'complain-y' post fleshes out my <a href="https://mastodon.online/@rosano/110685716693430299">encryption thread</a> to highlight how data becoming inaccessible might feel to someone less tech-oriented than I am and who isn't going to document their experience; if you're a technology wrangler, read the rest of this while putting yourself in the shoes of someone whose relationship with owning data might be &quot;new phone, please send your number&quot;.</p>
<h1 id="encrypted-bricks">encrypted bricks</h1>
<p>In the end of 2023 I experienced the co-incidental deprecation of multiple messaging apps simultaneously. <a href="https://whatsapp.com">WhatsApp</a>, <a href="https://signal.org">Signal</a>, and <a href="https://www.beeper.com">Beeper</a> either suddenly stopped working or warned about 'going away soon'.</p>
<p><gallery><img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/2023.11.07-16.56.23.jpg" aria-hidden="true">
</gallery><gallery><img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/2024.01.26-at-07.19.54.jpg" aria-hidden="true">
 <img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/Screen-Shot-2024-02-17-at-10.06.50.jpg" aria-hidden="true">
</gallery><gallery><img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/2023.11.07-18.21.46.jpg" aria-hidden="true">
 <img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/Screen-Shot-2024-02-17-at-16.34.05.png" aria-hidden="true">
</gallery></p>
<figure><figcaption>removing native support for older systems</figcaption></figure>
<p>As a technologist, I can vaguely guess it's tied to something like 'availability of better encryption primitives or standards on newer versions of the operating system', but to a non-tech person it might be strange how WhatsApp says &quot;you can use their web version instead, without upgrading your computer, but the native version that was working yesterday 'needs to' stop working today because of 'security'&quot;.</p>
<p>This could nicely tie into imagined stories of planned obsolescence and 'Apple pushing people to always get new stuff' even if that might not be what's really happening here; without technical knowledge, how would you tell the difference?</p>
<p>Also weird how many of these run in Electron (Chrome) as web apps with some kind of server component, but they don't work in a normal web browser.</p>
<h1 id="volatile-updates">volatile updates</h1>
<p>It's fine that Beeper is no longer compatible with my older version of macOS, but not fine that the underlying self-update framework (<a href="https://github.com/Squirrel/Squirrel.Mac/issues/275">Squirrel</a>) forces an upgrade to a version that doesn't run on my machine: when is that ever desirable?</p>
<p>The threat of these workflow disruptions means one needs to keep backup copies of apps or lock them from being changed to prevent unintended updates.</p>
<figure>
<p><img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/Untitled-2-export.jpg" aria-hidden="true">
</p>
<figcaption>locking Element on macOS to prevent it from incompatible upgrades</figcaption>
</figure>
<p>locking Element on macOS to prevent it from incompatible upgrades</p>
<h1 id="moving-devices">moving devices</h1>
<p>Transferring both WhatsApp and Signal messages to a new phone, there's a scary thought (and real possibility) that all my messages could suddenly disappear because of 'security'. Since the app's transfer interface doesn't assure me of the correct path, I need to find the <a href="https://faq.whatsapp.com/209942271778103/">eight-</a> to <a href="https://support.signal.org/hc/en-us/articles/360007059752-Backup-and-Restore-Messages">thirteen-</a>step guide via a search engine and precisely follow it in order to understand and not mess up.</p>
<p>WhatsApp's transfer process simply didn't appear for me, but I was able to just re-register my number on the new phone (<a href="https://support.apple.com/en-us/HT204184#computer">restored from iOS full backup</a>) and unlock my data; phew, glad I didn't trust the <em>documented process</em> and relied on luck or a third party like Apple instead.</p>
<p>Signal's QR-code-based local network transfer is more straight-forward, but repeatedly failed at 99%, which although probably contains all my data, will not let me manage the last inch, thus leaving me locked out. After changing Wi-Fi networks, with a crash for success, it seemed to make it over safely.</p>
<p>Now, even though my messages are there at the moment, there's a lingering worry that my path was not acceptable for 'security' and so it might all get randomly taken away from me some day; this comes from seeing how message history is often not available on new linked devices. It doesn't matter whether my imagined story about possibly losing data is real. Does the experience make you feel safe? Does it reassure you that you have your data? Or does it threaten that you could become signed out and lose everything 'for your own protection'?</p>
<p><a href="https://delta.chat">Delta Chat</a> has the simplest device transfer and even an equivalent of 'changing your number'; the messages are also encrypted, yet I never worry about losing them.</p>
<h1 id="clean-by-accident">clean by accident</h1>
<p>If you can't afford larger storage capacity, you might find yourself managing space on your device. While cleanup up earlier in the year, I accidentally deleted Signal because my screen stalled — throw away your old, slower devices as they quickly become obsolete, right? — and my finger tapped and swiped perfectly because of muscle memory. My years of chat history were just gone. I have some messages on another linked device, but no possibility to export or transfer or merge because their desktop version is only 'linked' and not 'special', awaiting the next unfortunate accident; it sends the message that 'security' lacks agency.</p>
<h1 id="decentralized-if-you-know-how">decentralized if you know how</h1>
<p>Is the solution is an open standard like <a href="https://matrix.org">Matrix</a>? It's not so easy. Their <a href="https://joinmatrix.org">&quot;join&quot; explainer</a> is not as intuitive as other decentralized projects like <a href="https://joinmastodon.org">Mastodon</a>, <a href="https://joinpeertube.org">PeerTube</a>, or <a href="https://join-lemmy.org">Lemmy</a>. I don't believe a non-programmer would be able to do this without help, but assuming they sort through and understand the options of picking both a server and client, they will get stuck on errors like &quot;Unable to decrypt message&quot;, &quot;Verification failed&quot;, and the scary thought of losing messages if you log out.</p>
<p><gallery><img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/2023.11.23-at-14.31.33-1.jpg" aria-hidden="true">
 <img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/2024-02-14-at-12-12-14-1.jpg" aria-hidden="true">
</gallery><gallery><img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/2024-02-14-at-12-12-48-1.jpg" aria-hidden="true">
 <img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/IMG_E7520-1.JPG" aria-hidden="true">
</gallery></p>
<figure><figcaption>scary messages</figcaption></figure>
<p><gallery><img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/2024.01.03-at-10-20-25.jpg" aria-hidden="true">
 <img src="https://static.rosano.ca/home/timeline/2024-02-21-encryption-rant1708525423/2024.01.03-at-10-20-37.jpg" aria-hidden="true">
</gallery></p>
<figure><figcaption>do these match?</figcaption></figure>
<p>Well, it was tricky to figure out how to trigger the Matrix verification process, but I managed to revive access to my Beeper messages with <a href="https://fluffychat.im">FluffyChat</a> (which really might be &quot;The cutest messenger in the Matrix network&quot;), and it's nice to have access to my data in a variety of web apps that will probably remain backwards compatible forever. Still, &quot;I managed to get it working&quot; is a hard sell for normal people.</p>
<h1 id="export-impossible">export impossible</h1>
<p>I still have yet to see a built-in way to export all my messages at once with Signal, WhatsApp, or any popular Matrix client. It's possible to <a href="https://unix.stackexchange.com/questions/505008/signal-desktop-how-to-export-messages">get a copy of some Signal Desktop messages</a> with tools like <a href="https://github.com/tbvdm/sigtop">sigtop</a> and <a href="https://github.com/signalapp/Signal-Desktop/issues/2516#issuecomment-442797638">sqlcipher</a> if you're comfortable typing into a terminal (I'm not). <a href="https://imazing.com">iMazing</a> lets you export messages and attachments from WhatsApp. Not being part of official app interfaces just feels like platform capture to me: data in, but not out.</p>
<h1 id="secure-complex-fragile">secure, complex, fragile</h1>
<p>Why does all this 'security' have to feel so fragile? What does it mean when 'robustly-secured data' can accidentally vanish at a moment's notice, or that I can back up my entire phone for peace of mind, except for 'secure things'? Should it be normal to expect people to simply upgrade their operating system to the latest version when it's known to likely cause a slew of random issues?</p>
<p>How are ordinary people supposed to feel good about this? There may be workarounds, and maybe I'm even just taking the wrong approach in everything I've documented here, but if someone like me can't figure it out, it's bad: for people outside the tech world with little time or capacity to deal with these kinds of issues, the seeming possibility of them occurring is scary and unsafe, even if not real; for software developers to treat these circumstances as mere 'policy' is not very empathetic.</p>
<p>It's important to give space and patience to technology under development as people make it work, but there's no feigning moral superiority in using 'alternative tech' until it includes a real foundation to stand on for people without this domain expertise. Fleeting personal data is like alternative tech's equivalent of platform enshitification and doesn't fill me with confidence to trust these systems or recommend my non-tech friends to do so.</p>
<h1 id="end-rant">end rant</h1>
<p>I hope to see more apps with comprehensive export or supporting personal data stores. And why not maximize compatibility where possible? If I can message all these platforms via Matrix bridges in a web browser, there's no reason to force an upgrade or brick my app.</p>
<p>Digital security should go beyond a technical concept: what if it made people feel safe, trusting the space as they might in a long-term relationship?</p>
<p>Are these stories of data becoming inaccessible just mine? If you have your own, be welcome to share. Maybe if the problems are documented, they're more likely to be fixed.</p>
<hr>
	<p><small>If you liked that, you might want to read <a href="https://utopia.rosano.ca/durable-data/">durable data</a> for some solutions, or interoperable visions in <a href="https://utopia.rosano.ca/pointing-at-the-wrong-thing/">pointing at the wrong thing</a>, or about different <a href="https://utopia.rosano.ca/levels-of-agency/">levels of agency</a>.</small></p>
	<hr></div><p>
	<small>Tagged: <a href="/log/tag/technical/">technical</a>, <a href="/log/tag/interop/">interop</a>, <a href="/log/tag/zero-data/">zero data</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 9:23 am, February 21, 2024" href="/log/2024-02-21-encryption-rant/"><time datetime="2024-02-21T09:23:43-05:00" data-pagefind-sort="date[datetime]">09h23</time></a>

		
		<span>from <a href="/log/place/toronto/">Toronto</a> / </span>

		<span><a href="/log/country/canada/">Canada</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Tuesday, February 20, 2024 15h24</title>
  <link>https://rosano.ca/log/01hq431fzfsr7kc93ya3h8yyq2/</link>
  <pubDate>Tue, 20 Feb 2024 15:24:14 -0500</pubDate>
  <guid>https://rosano.ca/log/01hq431fzfsr7kc93ya3h8yyq2/</guid>
  <description>The benefits of interop are greater than the convenience of not caring about standard formats.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p>The benefits of interop are greater than the convenience of not caring about standard formats.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 3:24 pm, February 20, 2024" href="/log/01hq431fzfsr7kc93ya3h8yyq2/"><time datetime="2024-02-20T15:24:14-05:00" data-pagefind-sort="date[datetime]">15h24</time></a>

		
		<span>from <a href="/log/place/toronto/">Toronto</a> / </span>

		<span><a href="/log/country/canada/">Canada</a></span><span>, type:<a href="/log/type/thought/">thought</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Tuesday, December 26, 2023 05h55</title>
  <link>https://rosano.ca/log/01hjjncqggyq1g0xhyqa9y8mtx/</link>
  <pubDate>Tue, 26 Dec 2023 05:55:50 -0300</pubDate>
  <guid>https://rosano.ca/log/01hjjncqggyq1g0xhyqa9y8mtx/</guid>
  <description>Let’s talk about pods&#xA;[Choosing where and how to store data is less about how to make it work for one app work and more about all other apps.]&#xA;How does the way we write data impact others’ ability to reuse that data?&#xA;[The document box approach creates conflicts between 1) how data was obtained (provenance); 2) what it will be used for (trust); 3) logical groupings of items (context); 4) who has access (permission). For example, an address book app that dealing with all contact data versus a birthday app dealing only with one detail of many contacts.]&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p><a href="https://ruben.verborgh.org/blog/2022/12/30/lets-talk-about-pods/">Let’s talk about pods</a></p>
<blockquote>
<p>[Choosing where and how to store data is less about how to make it work for <em>one</em> app work and more about all <em>other</em> apps.]</p></blockquote>
<blockquote>
<p>How does the way we write data impact others’ ability to reuse that data?</p></blockquote>
<blockquote>
<p>[The document box approach creates conflicts between 1) how data was obtained (provenance); 2) what it will be used for (trust); 3) logical groupings of items (context); 4) who has access (permission). For example, an address book app that dealing with all contact data versus a birthday app dealing only with one detail of many contacts.]</p></blockquote>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 5:55 am, December 26, 2023" href="/log/01hjjncqggyq1g0xhyqa9y8mtx/"><time datetime="2023-12-26T05:55:50-03:00" data-pagefind-sort="date[datetime]">05h55</time></a>

		
		<span>from <a href="/log/place/brasilia/">Brasilia</a> / </span>

		<span><a href="/log/country/brazil/">Brazil</a></span><span>, type:<a href="/log/type/article/">article</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Tuesday, December 19, 2023 20h26</title>
  <link>https://rosano.ca/log/01hj26egqa6bsdgpspdg7m92w9/</link>
  <pubDate>Tue, 19 Dec 2023 20:26:49 -0300</pubDate>
  <guid>https://rosano.ca/log/01hj26egqa6bsdgpspdg7m92w9/</guid>
  <description>Digital Tools I Wish Existed&#xA;Let me compare my reading list with another to see overlap. I find this a wonderful way to spark conversation and find common interests.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p><a href="https://jon.bo/posts/digital-tools">Digital Tools I Wish Existed</a></p>
<blockquote>
<p>Let me compare my reading list with another to see overlap. I find this a wonderful way to spark conversation and find common interests.</p></blockquote>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 8:26 pm, December 19, 2023" href="/log/01hj26egqa6bsdgpspdg7m92w9/"><time datetime="2023-12-19T20:26:49-03:00" data-pagefind-sort="date[datetime]">20h26</time></a>

		
		<span>from <a href="/log/place/brasilia/">Brasilia</a> / </span>

		<span><a href="/log/country/brazil/">Brazil</a></span><span>, type:<a href="/log/type/article/">article</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Friday, December 15, 2023 10h39</title>
  <link>https://rosano.ca/log/01hhpv8a3741y0pya9fp6bjt26/</link>
  <pubDate>Fri, 15 Dec 2023 10:39:32 -0300</pubDate>
  <guid>https://rosano.ca/log/01hhpv8a3741y0pya9fp6bjt26/</guid>
  <description>No more raw data&#xA;[Sometimes it&#39;s better not to decide what data you share, and defer the choice to someone with more expertise, such as medical data being provisioned by your doctor (who likely knows better how to respond to the request).]&#xA;Not only can my pod automatically fill out such forms; the forms don’t need to be there in the first place, because my pod can just share the needed data, machine to machine.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p><a href="https://ruben.verborgh.org/blog/2023/11/10/no-more-raw-data/">No more raw data</a></p>
<blockquote>
<p>[Sometimes it's better not to decide what data you share, and defer the choice to someone with more expertise, such as medical data being provisioned by your doctor (who likely knows better how to respond to the request).]</p></blockquote>
<blockquote>
<p>Not only can my pod automatically fill out such forms; the forms don’t need to be there in the first place, because my pod can just share the needed data, machine to machine.</p></blockquote>
<blockquote>
<p>[Recipients will want to keep the trust envelope because it's their proof to an auditor that they comply with its policy.]</p></blockquote>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 10:39 am, December 15, 2023" href="/log/01hhpv8a3741y0pya9fp6bjt26/"><time datetime="2023-12-15T10:39:32-03:00" data-pagefind-sort="date[datetime]">10h39</time></a>

		
		<span>from <a href="/log/place/brasilia/">Brasilia</a> / </span>

		<span><a href="/log/country/brazil/">Brazil</a></span><span>, type:<a href="/log/type/code/">code</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Thursday, December 14, 2023 18h00</title>
  <link>https://rosano.ca/log/01hhn234q97m0chjhvf3502nka/</link>
  <pubDate>Thu, 14 Dec 2023 18:00:34 -0300</pubDate>
  <guid>https://rosano.ca/log/01hhn234q97m0chjhvf3502nka/</guid>
  <description>Musician’s own website as definitive source of all info&#xA;I think the musician’s own “.com” homepage website should be the one-and-only place the musician ever has to enter their info. It should be the sole definitive source for their music, photos, bio, lyrics, calendar, blog, and especially their fan/friend/email list.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p><a href="https://sive.rs/mhost">Musician’s own website as definitive source of all info</a></p>
<blockquote>
<p>I think the musician’s own “.com” homepage website should be the one-and-only place the musician ever has to enter their info. It should be the sole definitive source for their music, photos, bio, lyrics, calendar, blog, and especially their fan/friend/email list.</p></blockquote>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 6:00 pm, December 14, 2023" href="/log/01hhn234q97m0chjhvf3502nka/"><time datetime="2023-12-14T18:00:34-03:00" data-pagefind-sort="date[datetime]">18h00</time></a>

		
		<span>from <a href="/log/place/brasilia/">Brasilia</a> / </span>

		<span><a href="/log/country/brazil/">Brazil</a></span><span>, type:<a href="/log/type/article/">article</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Thursday, December 14, 2023 13h43</title>
  <link>https://rosano.ca/log/01hhmkc1h8z6q7nt3eq5rsbvyd/</link>
  <pubDate>Thu, 14 Dec 2023 13:43:17 -0300</pubDate>
  <guid>https://rosano.ca/log/01hhmkc1h8z6q7nt3eq5rsbvyd/</guid>
  <description>Foam: Software as Curation&#xA;[With a modular enough system, people can simply curate components or plugins into a kind of software experience, requiring less effort or technical skill than programming.]&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p><a href="https://www.geoffreylitt.com/2020/07/19/tools-over-apps-for-personal-notetaking">Foam: Software as Curation</a></p>
<blockquote>
<p>[With a modular enough system, people can simply curate components or plugins into a kind of software experience, requiring less effort or technical skill than programming.]</p></blockquote>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 1:43 pm, December 14, 2023" href="/log/01hhmkc1h8z6q7nt3eq5rsbvyd/"><time datetime="2023-12-14T13:43:17-03:00" data-pagefind-sort="date[datetime]">13h43</time></a>

		
		<span>from <a href="/log/place/brasilia/">Brasilia</a> / </span>

		<span><a href="/log/country/brazil/">Brazil</a></span><span>, type:<a href="/log/type/article/">article</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Saturday, December 2, 2023 08h34</title>
  <link>https://rosano.ca/log/01hp2adhr76252qng3zqkye214/</link>
  <pubDate>Sat, 02 Dec 2023 08:34:22 -0300</pubDate>
  <guid>https://rosano.ca/log/01hp2adhr76252qng3zqkye214/</guid>
  <description>Interoperability is people connecting, communicating, collaborating.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p>Interoperability is people connecting, communicating, collaborating.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 8:34 am, December 2, 2023" href="/log/01hp2adhr76252qng3zqkye214/"><time datetime="2023-12-02T08:34:22-03:00" data-pagefind-sort="date[datetime]">08h34</time></a>

		
		<span>from <a href="/log/place/recife/">Recife</a> / </span>

		<span><a href="/log/country/brazil/">Brazil</a></span><span>, type:<a href="/log/type/thought/">thought</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Wednesday, November 29, 2023 19h00</title>
  <link>https://rosano.ca/log/01hhpzytzgesfvzap0275x441t/</link>
  <pubDate>Wed, 29 Nov 2023 19:00:00 -0300</pubDate>
  <guid>https://rosano.ca/log/01hhpzytzgesfvzap0275x441t/</guid>
  <description>Using all flavours of Solid&#xA;Whereas classically we think of the situation where a user interacts with one identity provider, one storage provider, and multiple applications, recent experiments in practice have moved more towards also using multiple storage providers linked to a single identity.&#xA;There is an example app called Projectron which is mentioned throughout the Solid Application Interoperability spec and which can be used to track projects and issues; a first step would be to make this app compatible with the SolidOS Issue tracker, so that issues created through Solid OS will &amp;quot;magically&amp;quot; show up when you open Projectron.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p><a href="https://michielbdejong.com/blog/29.html">Using all flavours of Solid</a></p>
<blockquote>
<p>Whereas classically we think of the situation where a user interacts with one identity provider, one storage provider, and multiple applications, recent experiments in practice have moved more towards also using multiple storage providers linked to a single identity.</p></blockquote>
<blockquote>
<p>There is an example app called Projectron which is mentioned throughout the Solid Application Interoperability spec and which can be used to track projects and issues; a first step would be to make this app compatible with the SolidOS Issue tracker, so that issues created through Solid OS will &quot;magically&quot; show up when you open Projectron.</p></blockquote>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 7:00 pm, November 29, 2023" href="/log/01hhpzytzgesfvzap0275x441t/"><time datetime="2023-11-29T19:00:00-03:00" data-pagefind-sort="date[datetime]">19h00</time></a>

		
		<span>from <a href="/log/place/recife/">Recife</a> / </span>

		<span><a href="/log/country/brazil/">Brazil</a></span><span>, type:<a href="/log/type/article/">article</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Wednesday, November 29, 2023 17h10</title>
  <link>https://rosano.ca/log/01hhpznmb6nkvvbd2qvzjag0q3/</link>
  <pubDate>Wed, 29 Nov 2023 17:10:00 -0300</pubDate>
  <guid>https://rosano.ca/log/01hhpznmb6nkvvbd2qvzjag0q3/</guid>
  <description>Problems and Goals for Interoperability, Collaboration, and Security in a Solid Pod&#xA;Applications must have a shared understanding of data&#xA;Data must be discoverable.&#xA;Data must be durable.&#xA;Data must be portable.&#xA;Problem #3 - Disparate entities using different applications must be able to safely and effectively interoperate within their scope of authorization&#xA;Problem #4 - People shouldn’t need to think about how to physically organize their data to use Solid.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p><a href="https://github.com/solid/data-interoperability-panel/blob/main/problems-and-goals.md">Problems and Goals for Interoperability, Collaboration, and Security in a Solid Pod</a></p>
<blockquote>
<p>Applications must have a shared understanding of data</p></blockquote>
<blockquote>
<p>Data must be discoverable.</p></blockquote>
<blockquote>
<p>Data must be durable.</p></blockquote>
<blockquote>
<p>Data must be portable.</p></blockquote>
<blockquote>
<p>Problem #3 - Disparate entities using different applications must be able to safely and effectively interoperate within their scope of authorization</p></blockquote>
<blockquote>
<p>Problem #4 - People shouldn’t need to think about how to physically organize their data to use Solid.</p></blockquote>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>, <a href="/log/tag/digital/">digital</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 5:10 pm, November 29, 2023" href="/log/01hhpznmb6nkvvbd2qvzjag0q3/"><time datetime="2023-11-29T17:10:00-03:00" data-pagefind-sort="date[datetime]">17h10</time></a>

		
		<span>from <a href="/log/place/recife/">Recife</a> / </span>

		<span><a href="/log/country/brazil/">Brazil</a></span><span>, type:<a href="/log/type/article/">article</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Tuesday, November 21, 2023 16h49</title>
  <link>https://rosano.ca/log/01hfvs1vpmcthy35tw2eb9y2n8/</link>
  <pubDate>Tue, 21 Nov 2023 16:49:00 -0300</pubDate>
  <guid>https://rosano.ca/log/01hfvs1vpmcthy35tw2eb9y2n8/</guid>
  <description>Embark - Dynamic documents for making plans&#xA;Travel-certified trip planning demo combining end-user programming and customization, spreadsheet-like formulas, text as super app.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p><a href="https://youtu.be/mGnez4lA9f4">Embark - Dynamic documents for making plans</a></p>
<p>Travel-certified trip planning demo combining end-user programming and customization, spreadsheet-like formulas, text as super app.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/interop/">interop</a>.
	</small>
</p>

<hr>
<span class="metadata" data-pagefind-ignore>

	<small>
		<a aria-label="Permalink for 4:49 pm, November 21, 2023" href="/log/01hfvs1vpmcthy35tw2eb9y2n8/"><time datetime="2023-11-21T16:49:00-03:00" data-pagefind-sort="date[datetime]">16h49</time></a>

		
		<span>from <a href="/log/place/recife/">Recife</a> / </span>

		<span><a href="/log/country/brazil/">Brazil</a></span><span>, type:<a href="/log/type/project/">project</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item>



</channel>

</rss>
