<?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;apps&#34;</title>



<link>https://rosano.ca/log/tag/apps/</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/apps/feed" rel="self" type="application/rss" /><item>
  <title>off the App Store yet again</title>
  <link>https://rosano.ca/blog/off-the-app-store-yet-again/</link>
  <pubDate>Fri, 10 Apr 2026 09:10:14 +0000</pubDate>
  <guid>https://rosano.ca/blog/off-the-app-store-yet-again/</guid>
  <description>stay updated, scale big, or you&#39;ll get taken out.</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget>stay updated, scale big, or you'll get taken out.</nugget><hr>
<div class="content"><p>I wrote this in January but waited to see if I'd resolve it somehow. Since it looks like I'll miss the deadline, better to share it and move on.</p>
<hr>
<p>This is what Apple's kiss of death looks like:</p>
<blockquote>
<p>Hello Rosano,</p>
<p>We've sent you a new message about your app, sonogrid, app Apple ID: 1409129549.</p>
<p>For details, visit the App Review page in App Store Connect.</p>
<p>Best regards,<br>
App Review</p></blockquote>
<p>Swift, bureaucratic, saying nothing.</p>
<p>According to their policies, it's been over three years since the last time I updated my apps, and there aren't &quot;enough&quot; downloads for them to keep it on the store, so Apple will remove <em>all of them</em> unless I update within ninety days.</p>
<p><roco-divider></roco-divider></p>
<p>To update means:</p>
<ol>
<li>apply half a decade of iOS and App Store &quot;innovations&quot; just to exist or remain compliant, but</li>
<li>even then there's no guarantee it would be approved, and</li>
<li>even if it does, it only buys me three years</li>
</ol>
<p>Naive to think I could just pay their $99 USD annual membership fee to keep projects up there.</p>
<p>It doesn't matter if you spent seven to ten years working on something in the Apple platform and it's meaningful to your niche: either you keep up with <em>policies</em> (stay updated, scale with them) or you'll get taken out in a fashion maximally automated to communicate how cheap and replaceable you are to the ecosystem.</p>
<p>I might look into alternative app stores like <a href="https://altstore.io">AltStore</a>, but it's sort of like starting from scratch while my primary motivation was to let people who already paid have easy access on their other devices. I'm also kind of tired and lazy to deal with this genre of problems to be honest: with orders of magnitude less effort, I could ship something on the web today and make progress that the rest of the world and I can keep forever.</p>
<p><roco-divider></roco-divider></p>
<p>Maybe I'll find a way through it another day, but this definitely confirms <a href="/blog/going-fully-web/">most of my hesitations about the App Store</a> in the first place and makes me glad the web exists: I can just do things there.</p>
<p>So once again, I'll say &quot;<a href="https://rosano.ca/blog/audioscrub-and-sonogrid-back-on-the-app-store/">get them</a> while you can&quot;; they'll be gone around April 27, 2026.</p>
<figure>
  <video autoplay muted loop><source src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/main-iphone.m4v" type="video/mp4"></video>
</figure>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 11:10 am, April 10, 2026" href="/blog/off-the-app-store-yet-again/"><time datetime="2026-04-10T11:10:14&#43;02:00" data-pagefind-sort="date[datetime]">11h10</time></a>

		
		<span>from <a href="/log/place/berlin/">Berlin</a> / </span>

		<span><a href="/log/country/germany/">Germany</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Friday, April 10, 2026 11h10</title>
  <link>https://rosano.ca/log/2026-04-10-off-the-app-store-yet-again/</link>
  <pubDate>Fri, 10 Apr 2026 11:10:14 +0200</pubDate>
  <guid>https://rosano.ca/log/2026-04-10-off-the-app-store-yet-again/</guid>
  <description>I wrote this in January but waited to see if I&#39;d resolve it somehow. Since it looks like I&#39;ll miss the deadline, better to share it and move on.&#xA;This is what Apple&#39;s kiss of death looks like:&#xA;Hello Rosano,&#xA;We&#39;ve sent you a new message about your app, sonogrid, app Apple ID: 1409129549.&#xA;For details, visit the App Review page in App Store Connect.&#xA;Best regards,&#xA;App Review&#xA;Swift, bureaucratic, saying nothing.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget><p>I wrote this in January but waited to see if I'd resolve it somehow. Since it looks like I'll miss the deadline, better to share it and move on.</p>
<hr>
<p>This is what Apple's kiss of death looks like:</p>
<blockquote>
<p>Hello Rosano,</p>
<p>We've sent you a new message about your app, sonogrid, app Apple ID: 1409129549.</p>
<p>For details, visit the App Review page in App Store Connect.</p>
<p>Best regards,<br>
App Review</p></blockquote>
<p>Swift, bureaucratic, saying nothing.</p></nugget><hr>
<div class="content"><p>I wrote this in January but waited to see if I'd resolve it somehow. Since it looks like I'll miss the deadline, better to share it and move on.</p>
<hr>
<p>This is what Apple's kiss of death looks like:</p>
<blockquote>
<p>Hello Rosano,</p>
<p>We've sent you a new message about your app, sonogrid, app Apple ID: 1409129549.</p>
<p>For details, visit the App Review page in App Store Connect.</p>
<p>Best regards,<br>
App Review</p></blockquote>
<p>Swift, bureaucratic, saying nothing.</p>
<p>According to their policies, it's been over three years since the last time I updated my apps, and there aren't &quot;enough&quot; downloads for them to keep it on the store, so Apple will remove <em>all of them</em> unless I update within ninety days.</p>
<p><roco-divider></roco-divider></p>
<p>To update means:</p>
<ol>
<li>apply half a decade of iOS and App Store &quot;innovations&quot; just to exist or remain compliant, but</li>
<li>even then there's no guarantee it would be approved, and</li>
<li>even if it does, it only buys me three years</li>
</ol>
<p>Naive to think I could just pay their $99 USD annual membership fee to keep projects up there.</p>
<p>It doesn't matter if you spent seven to ten years working on something in the Apple platform and it's meaningful to your niche: either you keep up with <em>policies</em> (stay updated, scale with them) or you'll get taken out in a fashion maximally automated to communicate how cheap and replaceable you are to the ecosystem.</p>
<p>I might look into alternative app stores like <a href="https://altstore.io">AltStore</a>, but it's sort of like starting from scratch while my primary motivation was to let people who already paid have easy access on their other devices. I'm also kind of tired and lazy to deal with this genre of problems to be honest: with orders of magnitude less effort, I could ship something on the web today and make progress that the rest of the world and I can keep forever.</p>
<p><roco-divider></roco-divider></p>
<p>Maybe I'll find a way through it another day, but this definitely confirms <a href="/blog/going-fully-web/">most of my hesitations about the App Store</a> in the first place and makes me glad the web exists: I can just do things there.</p>
<p>So once again, I'll say &quot;<a href="https://rosano.ca/blog/audioscrub-and-sonogrid-back-on-the-app-store/">get them</a> while you can&quot;; they'll be gone around April 27, 2026.</p>
<figure>
  <video autoplay muted loop><source src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/main-iphone.m4v" type="video/mp4"></video>
</figure>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 11:10 am, April 10, 2026" href="/log/2026-04-10-off-the-app-store-yet-again/"><time datetime="2026-04-10T11:10:14&#43;02:00" data-pagefind-sort="date[datetime]">11h10</time></a>

		
		<span>from <a href="/log/place/berlin/">Berlin</a> / </span>

		<span><a href="/log/country/germany/">Germany</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>AudioScrub and sonogrid back on the App Store</title>
  <link>https://rosano.ca/blog/audioscrub-and-sonogrid-back-on-the-app-store/</link>
  <pubDate>Thu, 18 Dec 2025 10:00:24 +0000</pubDate>
  <guid>https://rosano.ca/blog/audioscrub-and-sonogrid-back-on-the-app-store/</guid>
  <description>Everything still works great and I&#39;ve never stopped using them.</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget>Everything still works great and I've never stopped using them.</nugget><hr>
<div class="content"><p>My iOS apps are <a href="https://apps.apple.com/developer/rcreativ/id356609408">on the App Store</a> again; if you ever wanted to have sonogrid or the others, now might be a good time to get a copy.</p>
<figure>
  <video autoplay muted loop><source src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/main-iphone.m4v" type="video/mp4"></video>
</figure>
<h2 id="audioscrub"><a href="https://apps.apple.com/app/audioscrub-remix-edition/id903693369">AudioScrub</a></h2>
<p>slow down music, change keys, loop.</p>
<p>essential tool for transcribers, improvisers, music students.</p>
<p>also available with a subset of those features as a <a href="https://apps.apple.com/app/audioscrub-play-edition/id524438615">PLAY Edition</a> that remote controls Apple's Music app.</p>
<p><gallery><img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/ilr/0x0ss-export.webp" alt="transpose, fine tune, change speed">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/ilr/0x0ss-1-export.webp" alt="loop sections">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/ilr/0x0ss-3-export.webp" alt="your music library">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/ilr/0x0ss-4-export.webp" alt="tapedeck playback">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/ilp/0x0ss-export.webp" alt="control the Music app with surgical precision">
 <iframe title="AudioScrub video preview" src="https://player.vimeo.com/video/142756465" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></gallery></p>
<h2 id="sonogrid"><a href="https://apps.apple.com/app/sonogrid/id1409129549">sonogrid</a></h2>
<p>&quot;drum machine on steroids&quot;.</p>
<p>make simple loops that overlap in complex ways, explore visually and playfully, send midi out if you to connect with other systems.</p>
<p><gallery><img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/sgr/sgr-screenshot-iphone-1-export.webp" alt="a toy supreme">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/sgr/sgr-screenshot-iphone-2-export.webp" alt="orchestrate on the fly">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/sgr/sgr-screenshot-iphone-3-export.webp" alt="birds eye project view">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/sgr/sgr-screenshot-iphone-4-export.webp" alt="powerful operations on multiple tracks">
 <iframe title="sonogrid video preview 1" src="https://player.vimeo.com/video/288769227" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe> <iframe title="sonogrid video preview 2" src="https://player.vimeo.com/video/289320230" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></gallery></p>
<h2 id="quick-record"><a href="https://apps.apple.com/app/quick-record-audio-recorder/id955925799">Quick Record</a></h2>
<p>audio recorder with iCloud sync that can start on launch; select audio quality, add tags.</p>
<p><gallery><img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/qrec/0x0ss-export.webp" alt="organize on all devices via iCloud">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/qrec/0x0ss-1-export.webp" alt="simple swift tagging">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/qrec/0x0ss-2-export.webp" alt="choose your workflow">
</gallery><gallery><img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/qrec/0x0ss-3-export.webp" alt="powerful actions with a swipe">
 <iframe title="Quick Record video preview" src="https://player.vimeo.com/video/122381063" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></gallery></p>
<h2 id="ticker"><a href="https://apps.apple.com/app/ticker-metronome/id966541004">Ticker</a></h2>
<p>fun scrolly metronome that shows classical music markings.</p>
<p><gallery><img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/tkr/0x0ss-export.webp" alt="sample-accurate 15 BPM to 400 BPM">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/tkr/0x0ss-1-export.webp" alt="create tempo presets">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/tkr/0x0ss-2-export.webp" alt="beatmatch with two taps">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/tkr/0x0ss-3-export.webp" alt="notes, intervals, chords">
 <img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/tkr/0x0ss-4-export.webp" alt="plays while device is asleep / locked">
 <iframe title="Ticker video preview" src="https://player.vimeo.com/video/119860916" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></gallery></p>
<h2 id="carrot-price"><a href="https://apps.apple.com/app/carrot-price/id1399527553">Carrot Price</a></h2>
<p>&quot;now you know which one is cheaper&quot;.</p>
<p>unit cost calculator with my beatboxing sounds.</p>
<p><gallery><img src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/crp/0x0ss-export.webp" alt="save money on groceries">
 <iframe title="Ticker video preview" src="https://player.vimeo.com/video/278311213" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></gallery></p>
<hr>
<p>I wrote in <a href="https://rosano.ca/blog/going-fully-web/">going fully web</a> about my reasons to take them down and, although I continue to feel similarly, was recently convinced by <a href="https://ried.studio">Heddi</a> to consider restoring them there.</p>
<p>Here's what motivated me:</p>
<ol>
<li>People who previously paid for them could not get a copy for new or other devices. I thought this would be possible even when not officially on the store, but it turns out to be more complicated than that. After contacting those who had issues about this years ago, many quickly replied back with very visible gratitude to have access to AudioScrub again; seems it still fits their needs better than whatever else is available.</li>
</ol>
<blockquote>
<p>yes!!!!! Thank you🎉🎉🎉 Still the best one out there</p></blockquote>
<blockquote>
<p>Thanks so much for communicating this to me. I’ll pass the word on to friends and  colleagues who I know will benefit greatly from these 2 apps.<br>
I myself use these apps daily, as it helps the learning music process greatly!</p></blockquote>
<blockquote>
<p>That’s amazing, congratulations! And thank you for letting me know, I really appreciate it.</p></blockquote>
<blockquote>
<p>I will definitely try it today on my iPad. I love your app.</p></blockquote>
<blockquote>
<p>Hello, so great to see your music app again!</p></blockquote>
<blockquote>
<p>i have already bought it !! Thank you very much. A nice Christmas present.</p></blockquote>
<ol start="2">
<li>
<p>I worked hard on these and remain quite proud of them; not sure if it accomplishes much to nuke my history in the way that I did. Even though they were built for another era, everything still works great and I've never stopped using them.</p>
</li>
<li>
<p>It's been quite a puzzle to create income from pure web apps with my ideal structure of <a href="https://0data.app">no personal data stored or collected</a>, <a href="https://rosano.ca/blog/going-doorless/">no login or signup to start</a>, ideally <a href="https://github.com/rosano/rosano/blob/master/README.md">open-source</a>. While I figure out how to make that sustainable, it's helpful to have some other income streams.</p>
</li>
</ol>
<p>No plans to update these for the moment, but I think it's a good step to keep it available.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 10:00 am, December 18, 2025" href="/blog/audioscrub-and-sonogrid-back-on-the-app-store/"><time datetime="2025-12-18T10:00:24Z" data-pagefind-sort="date[datetime]">10h00</time></a>

		
		<span>from <a href="/log/place/portim%C3%A3o/">Portimão</a> / </span>

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

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Thursday, December 18, 2025 10h00</title>
  <link>https://rosano.ca/log/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/</link>
  <pubDate>Thu, 18 Dec 2025 10:00:24 +0000</pubDate>
  <guid>https://rosano.ca/log/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/</guid>
  <description>My iOS apps are on the App Store again; if you ever wanted to have sonogrid or the others, now might be a good time to get a copy.&#xA;AudioScrub slow down music, change keys, loop.&#xA;essential tool for transcribers, improvisers, music students.&#xA;also available with a subset of those features as a PLAY Edition that remote controls Apple&#39;s Music app.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget><p>My iOS apps are <a href="https://apps.apple.com/developer/rcreativ/id356609408">on the App Store</a> again; if you ever wanted to have sonogrid or the others, now might be a good time to get a copy.</p>
<figure>
  <video autoplay muted loop><source src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/main-iphone.m4v" type="video/mp4"></video>
</figure>
<h2 id="audioscrub"><a href="https://apps.apple.com/app/audioscrub-remix-edition/id903693369">AudioScrub</a></h2>
<p>slow down music, change keys, loop.</p>
<p>essential tool for transcribers, improvisers, music students.</p>
<p>also available with a subset of those features as a <a href="https://apps.apple.com/app/audioscrub-play-edition/id524438615">PLAY Edition</a> that remote controls Apple's Music app.</p>
<p><gallery><img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/ilr/0x0ss-export.webp" alt="transpose, fine tune, change speed">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/ilr/0x0ss-1-export.webp" alt="loop sections">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/ilr/0x0ss-3-export.webp" alt="your music library">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/ilr/0x0ss-4-export.webp" alt="tapedeck playback">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/ilp/0x0ss-export.webp" alt="control the Music app with surgical precision">
 <iframe title="AudioScrub video preview" src="https://player.vimeo.com/video/142756465" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></gallery></p></nugget><hr>
<div class="content"><p>My iOS apps are <a href="https://apps.apple.com/developer/rcreativ/id356609408">on the App Store</a> again; if you ever wanted to have sonogrid or the others, now might be a good time to get a copy.</p>
<figure>
  <video autoplay muted loop><source src="https://static.rosano.ca/home/blog/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/main-iphone.m4v" type="video/mp4"></video>
</figure>
<h2 id="audioscrub"><a href="https://apps.apple.com/app/audioscrub-remix-edition/id903693369">AudioScrub</a></h2>
<p>slow down music, change keys, loop.</p>
<p>essential tool for transcribers, improvisers, music students.</p>
<p>also available with a subset of those features as a <a href="https://apps.apple.com/app/audioscrub-play-edition/id524438615">PLAY Edition</a> that remote controls Apple's Music app.</p>
<p><gallery><img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/ilr/0x0ss-export.webp" alt="transpose, fine tune, change speed">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/ilr/0x0ss-1-export.webp" alt="loop sections">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/ilr/0x0ss-3-export.webp" alt="your music library">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/ilr/0x0ss-4-export.webp" alt="tapedeck playback">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/ilp/0x0ss-export.webp" alt="control the Music app with surgical precision">
 <iframe title="AudioScrub video preview" src="https://player.vimeo.com/video/142756465" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></gallery></p>
<h2 id="sonogrid"><a href="https://apps.apple.com/app/sonogrid/id1409129549">sonogrid</a></h2>
<p>&quot;drum machine on steroids&quot;.</p>
<p>make simple loops that overlap in complex ways, explore visually and playfully, send midi out if you to connect with other systems.</p>
<p><gallery><img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/sgr/sgr-screenshot-iphone-1-export.webp" alt="a toy supreme">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/sgr/sgr-screenshot-iphone-2-export.webp" alt="orchestrate on the fly">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/sgr/sgr-screenshot-iphone-3-export.webp" alt="birds eye project view">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/sgr/sgr-screenshot-iphone-4-export.webp" alt="powerful operations on multiple tracks">
 <iframe title="sonogrid video preview 1" src="https://player.vimeo.com/video/288769227" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe> <iframe title="sonogrid video preview 2" src="https://player.vimeo.com/video/289320230" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></gallery></p>
<h2 id="quick-record"><a href="https://apps.apple.com/app/quick-record-audio-recorder/id955925799">Quick Record</a></h2>
<p>audio recorder with iCloud sync that can start on launch; select audio quality, add tags.</p>
<p><gallery><img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/qrec/0x0ss-export.webp" alt="organize on all devices via iCloud">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/qrec/0x0ss-1-export.webp" alt="simple swift tagging">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/qrec/0x0ss-2-export.webp" alt="choose your workflow">
</gallery><gallery><img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/qrec/0x0ss-3-export.webp" alt="powerful actions with a swipe">
 <iframe title="Quick Record video preview" src="https://player.vimeo.com/video/122381063" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></gallery></p>
<h2 id="ticker"><a href="https://apps.apple.com/app/ticker-metronome/id966541004">Ticker</a></h2>
<p>fun scrolly metronome that shows classical music markings.</p>
<p><gallery><img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/tkr/0x0ss-export.webp" alt="sample-accurate 15 BPM to 400 BPM">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/tkr/0x0ss-1-export.webp" alt="create tempo presets">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/tkr/0x0ss-2-export.webp" alt="beatmatch with two taps">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/tkr/0x0ss-3-export.webp" alt="notes, intervals, chords">
 <img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/tkr/0x0ss-4-export.webp" alt="plays while device is asleep / locked">
 <iframe title="Ticker video preview" src="https://player.vimeo.com/video/119860916" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></gallery></p>
<h2 id="carrot-price"><a href="https://apps.apple.com/app/carrot-price/id1399527553">Carrot Price</a></h2>
<p>&quot;now you know which one is cheaper&quot;.</p>
<p>unit cost calculator with my beatboxing sounds.</p>
<p><gallery><img src="https://static.rosano.ca/home/timeline/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store1766052024/crp/0x0ss-export.webp" alt="save money on groceries">
 <iframe title="Ticker video preview" src="https://player.vimeo.com/video/278311213" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></gallery></p>
<hr>
<p>I wrote in <a href="https://rosano.ca/blog/going-fully-web/">going fully web</a> about my reasons to take them down and, although I continue to feel similarly, was recently convinced by <a href="https://ried.studio">Heddi</a> to consider restoring them there.</p>
<p>Here's what motivated me:</p>
<ol>
<li>People who previously paid for them could not get a copy for new or other devices. I thought this would be possible even when not officially on the store, but it turns out to be more complicated than that. After contacting those who had issues about this years ago, many quickly replied back with very visible gratitude to have access to AudioScrub again; seems it still fits their needs better than whatever else is available.</li>
</ol>
<blockquote>
<p>yes!!!!! Thank you🎉🎉🎉 Still the best one out there</p></blockquote>
<blockquote>
<p>Thanks so much for communicating this to me. I’ll pass the word on to friends and  colleagues who I know will benefit greatly from these 2 apps.<br>
I myself use these apps daily, as it helps the learning music process greatly!</p></blockquote>
<blockquote>
<p>That’s amazing, congratulations! And thank you for letting me know, I really appreciate it.</p></blockquote>
<blockquote>
<p>I will definitely try it today on my iPad. I love your app.</p></blockquote>
<blockquote>
<p>Hello, so great to see your music app again!</p></blockquote>
<blockquote>
<p>i have already bought it !! Thank you very much. A nice Christmas present.</p></blockquote>
<ol start="2">
<li>
<p>I worked hard on these and remain quite proud of them; not sure if it accomplishes much to nuke my history in the way that I did. Even though they were built for another era, everything still works great and I've never stopped using them.</p>
</li>
<li>
<p>It's been quite a puzzle to create income from pure web apps with my ideal structure of <a href="https://0data.app">no personal data stored or collected</a>, <a href="https://rosano.ca/blog/going-doorless/">no login or signup to start</a>, ideally <a href="https://github.com/rosano/rosano/blob/master/README.md">open-source</a>. While I figure out how to make that sustainable, it's helpful to have some other income streams.</p>
</li>
</ol>
<p>No plans to update these for the moment, but I think it's a good step to keep it available.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 10:00 am, December 18, 2025" href="/log/2025-12-18-audioscrub-and-sonogrid-back-on-the-app-store/"><time datetime="2025-12-18T10:00:24Z" data-pagefind-sort="date[datetime]">10h00</time></a>

		
		<span>from <a href="/log/place/portim%C3%A3o/">Portimão</a> / </span>

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

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>when bad things happen in the world</title>
  <link>https://rosano.ca/blog/when-bad-things-happen-in-the-world/</link>
  <pubDate>Thu, 25 Jan 2024 19:03:35 +0000</pubDate>
  <guid>https://rosano.ca/blog/when-bad-things-happen-in-the-world/</guid>
  <description>My projects won&#39;t save a life or end that bad problem over there, but without hesitation I know my actions to be completely holistic.</description>
  <content:encoded><![CDATA[
  <div class="post">

<p class="feature-image"><img src="https://static.rosano.ca/home/tags/apps/1024px-Spear_03.jpg" aria-hidden="true"></p><nugget>My projects won't save a life or end that bad problem over there, but without hesitation I know my actions to be completely holistic.</nugget><hr>
<div class="content"><p>Human suffering on an immense scale has been an inseparable part of how we got here. It's not new, but still impacts us so strongly that seeing people in pain or learning about possible future issues can numb us into paralysis (&quot;there's nothing I can do&quot;, &quot;let me think about something else&quot;) or provoke us into finding solutions (&quot;what can I do?&quot;, &quot;how do I make a difference?&quot;).</p>
<p>I went through a short period considering myself an activist when I was helping organize events and student initiatives to raise awareness about various issues: this was a time when I shared news and political outrage on social media, using whatever platform I had to publicly call out hypocrisy in anger, often shouting into the void; saying it this way is not meant to demean anyone who does similar-seeming things, but a way to acknowledge my own misalignment of intentions as I operated under confusion without realizing—I thought that's what <em>my</em> response needed to be.</p>
<p>With a greater understanding of how power works and propagates itself, I now focus on things that bring me satisfaction. Dealing with root causes rather than symptoms is harder because it's invisible and not a job for one person, or even a group of people: it really requires humanity overall to be more cooperative. So every time I feel the real and consequential urgency of moral injury, and find myself thrown into deciphering a problem larger than myself while I brush my teeth anxiously or lie in bed unable to sleep, I try to remember that my individualized frenzy is misplaced: it's not just me that will solve this—it's the whole planet working together. How can this be accomplished? Is it even possible? Or a good idea? I don't have all the answers but trust in figuring that out collectively, and rather than joining a group or starting one, I've chosen to create bridges between them.</p>
<p>Part of bringing people together involves being inclusive and seeing diverse forms of contribution as useful and necessary: what's needed isn't always visible, vocal, and popular forms of 'activism', or what is considered as such either by 'activists' or the people who claim to disdain them. Everything is politics. I like how this <a href="https://www.youtube.com/watch?v=C4xhJZsmFIY&amp;t=58s">analogy of the spear</a> describes a spectrum of contributions coming together:</p>
<ul>
<li>Direct action is the tiniest tip of a spear's blade: sharp and vital for making a mark, but not powerful on its own.</li>
<li>The metal part between tip and handle represents organizing around that, showing up, and substantiating the above with food, calls, gatherings, emotional support, bail, paperwork, etc…: everything here enables the tip to have some kind of impact and is often considered activism, but the result is very acute (and seen as fringe) without further support from a larger populace.</li>
<li>Supporters of a movement inhabit the much longer portion of a spear's handle, and represents a diversity of perspectives, some of which may not feel satisfactory to the metal and tip; it doesn't get as much attention as the other parts even though it's what creates leverage and forward movement for deep impact. At the very end of the handle you might find people who show up to take a selfie and leave: this is considered 'merely performative' by some but is also important for bringing ideas out of the fringe and into normal discussion, shifting thought.</li>
</ul>
<p>To find my own place within this sphere, I avoid doing things that make me feel replaceable, where the result would be comparable if someone else was in my place, and prefer activities where the outcome drastically changes because I'm there. This leads me to spend most of my time on personal projects, which often provokes a comparison about whether I'm doing 'enough' or 'my part' in times of crisis, probably because it's not how most people get to spend their days. Yet, every time I question myself, the deliberations lead me circling back to the same place: my projects will likely not save a life or end that bad problem over there, but without hesitation I feel and understand my actions to be completely holistic.</p>
<p>How do conversations on <a href="https://strolling.rosano.ca">Strolling</a> help? After a period of global political unrest and binary views on how things should be, I observed divisions everywhere, and saw myself as part of the problem that divided communities into red and blue. Dissatisfied that greater powers continue to flourish and profit as we squabble over our teams and rip apart the world's social fabric with our own hands, I recognized that dialogue is critical to overcoming conflict and disagreement, and have I've tried to repair what I can by <a href="https://utopia.rosano.ca/why-are-we-yelling-by-buster-benson/">learning to disagree productively</a>, <a href="https://utopia.rosano.ca/building-social-bridges-and-healing-a-divided-world">fostering discussion</a>, <a href="https://ref.rosano.ca/01etqcgcr348ycpnwj2pfczyng">being a bridge</a>, reconnecting, calling in, reaching out. Strolling tries to honour dialogue and what is possible through merely conversing, and perhaps also expose people to ideas they wouldn't come across anywhere else or be open to; I've been in a bubble so far recording mostly with people who share adjacent perspectives, but on occasions where I disagree, I practice being conducive instead of reactionary.</p>
<p>How do apps help? Technology underpins everything today, and its companies with massive resources would rather profit from transforming us into consumers of their addictive platform fodder than help us cultivate greater agency. I don't believe technology will or can solve all our problems, but if we want a different future, it must involve changing our technology. I participate here because I have specific skills and feel it's under-addressed, as: 1. most of the world does not have the space to develop technical expertise to infiltrate the castles of confusion erected by programmers; and 2. most of those who <em>do</em> have expertise see it as a job or fun hobby without attempting to change why it works the way it does; without criticism towards either, I believe this is the reality and it's not sufficient. My involvement has always tried to help close this gap by <a href="https://rosano.hmm.garden/01f62t5yseb053m024v1mczbzy">documenting for beginners</a>, or decentering the English language in app development (maximum localization), or incorporating <a href="https://rosano.hmm.garden/01f255wk8f42fbg4zv5hsjz6sh">non-techie friends</a> into the world of alternative technology. I've also written about <a href="https://utopia.rosano.ca/levels-of-agency/">agency</a>, <a href="https://0data.app">separation of data from apps</a>, <a href="https://utopia.rosano.ca/pointing-at-the-wrong-thing/">interoperability</a>, and <a href="https://rosano.hmm.garden/01gq5znszqemzj0z45pzkrw2f6">antipatterns</a>, often with accessible language and minimal jargon, to help more people realize what could be possible.</p>
<p>How does music on <a href="https://www.youtube.com/channel/UCPMFNN-2JUuS6D9iYfrVK8g">Vibrations</a> help? It's my formation and one place where I might hold a deeper credibility. I publish music mostly for myself as a way to recover from the narrow-minded upbringings of my training, and send a message about how different the concept of music could be. People seem to enjoy what I share, and that has taught me to care less about being considered 'professional' (a former pain point) and more about doing meaningful things. I consider music one of the deepest, most underrated forms of social change, and it's completely invisible to most people; I might write later about how [[music is not what's on your streaming platform]]. Daryl Davis talks about reflexes as a musician to 'create harmony' as he <a href="https://youtu.be/FdI%5FayaAXDE">reformed over 200 KKK members</a>, and although he mentions it in passing as if light spiritual humour, I think music manifests a capacity to create synergy, and on a practical level help coordinate multiple things in parallel.</p>
<p>In summary: I have some skills, see where it could make a difference, and try to enjoy the process; this may lead to discomfort or financial instability if it's not seen as useful by the institutions of society, but I've learned to harden myself against comparisons and counterproductive thoughts as long as I believe in what I'm doing. The range of 'music, technology, and conversations' might seem disparate and perhaps selfish, but I see it all as complementary and emancipatory: there's no question to me that it's holistic, which fills me with confidence to go forward 100% even as the dumpster fire burns higher.</p>
<p>I'm also proud to have received feedback that my presence had an unlocking and enabling effect on some people, without trying to persuade them to do things the way I do; I believe changing something about your life merely by feeling inspired is actually quite powerful and was my catalyst for many initiatives and habits.</p>
<p>When you think 'nothing I do matters' consider this: in all those stories of time travel, you step out of your time machine into a moment of the past, maybe feeling uneasy about touching anything or making even the slightest change to your surrounding environment, out of fear that any difference would create a cascading effect with unforeseeable consequences as time progresses with the result of your actions; now bring yourself back to the present and realize that the same power is held by each of us, right now. So… What would you like to do today?</p>
<hr>
<p>Thanks to Heddi for encouraging me to put in words here something that I've often said to myself and others, but never considered writing.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/vibrations/">Vibrations</a>, <a href="/log/tag/strolling/">Strolling</a>, <a href="/log/tag/reflection/">reflection</a>, <a href="/log/tag/community/">community</a>, <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 2:03 pm, January 25, 2024" href="/blog/when-bad-things-happen-in-the-world/"><time datetime="2024-01-25T14:03:35-05:00" data-pagefind-sort="date[datetime]">14h03</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, January 25, 2024 14h03</title>
  <link>https://rosano.ca/log/2024-01-25-when-bad-things-happen-in-the-world/</link>
  <pubDate>Thu, 25 Jan 2024 14:03:35 -0500</pubDate>
  <guid>https://rosano.ca/log/2024-01-25-when-bad-things-happen-in-the-world/</guid>
  <description>Human suffering on an immense scale has been an inseparable part of how we got here. It&#39;s not new, but still impacts us so strongly that seeing people in pain or learning about possible future issues can numb us into paralysis (&amp;quot;there&#39;s nothing I can do&amp;quot;, &amp;quot;let me think about something else&amp;quot;) or provoke us into finding solutions (&amp;quot;what can I do?&amp;quot;, &amp;quot;how do I make a difference?&amp;quot;).&#xA;I went through a short period considering myself an activist when I was helping organize events and student initiatives to raise awareness about various issues: this was a time when I shared news and political outrage on social media, using whatever platform I had to publicly call out hypocrisy in anger, often shouting into the void; saying it this way is not meant to demean anyone who does similar-seeming things, but a way to acknowledge my own misalignment of intentions as I operated under confusion without realizing—I thought that&#39;s what my response needed to be.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">

<p class="feature-image"><img src="https://static.rosano.ca/home/tags/apps/1024px-Spear_03.jpg" aria-hidden="true"></p><nugget><p>Human suffering on an immense scale has been an inseparable part of how we got here. It's not new, but still impacts us so strongly that seeing people in pain or learning about possible future issues can numb us into paralysis (&quot;there's nothing I can do&quot;, &quot;let me think about something else&quot;) or provoke us into finding solutions (&quot;what can I do?&quot;, &quot;how do I make a difference?&quot;).</p>
<p>I went through a short period considering myself an activist when I was helping organize events and student initiatives to raise awareness about various issues: this was a time when I shared news and political outrage on social media, using whatever platform I had to publicly call out hypocrisy in anger, often shouting into the void; saying it this way is not meant to demean anyone who does similar-seeming things, but a way to acknowledge my own misalignment of intentions as I operated under confusion without realizing—I thought that's what <em>my</em> response needed to be.</p></nugget><hr>
<div class="content"><p>Human suffering on an immense scale has been an inseparable part of how we got here. It's not new, but still impacts us so strongly that seeing people in pain or learning about possible future issues can numb us into paralysis (&quot;there's nothing I can do&quot;, &quot;let me think about something else&quot;) or provoke us into finding solutions (&quot;what can I do?&quot;, &quot;how do I make a difference?&quot;).</p>
<p>I went through a short period considering myself an activist when I was helping organize events and student initiatives to raise awareness about various issues: this was a time when I shared news and political outrage on social media, using whatever platform I had to publicly call out hypocrisy in anger, often shouting into the void; saying it this way is not meant to demean anyone who does similar-seeming things, but a way to acknowledge my own misalignment of intentions as I operated under confusion without realizing—I thought that's what <em>my</em> response needed to be.</p>
<p>With a greater understanding of how power works and propagates itself, I now focus on things that bring me satisfaction. Dealing with root causes rather than symptoms is harder because it's invisible and not a job for one person, or even a group of people: it really requires humanity overall to be more cooperative. So every time I feel the real and consequential urgency of moral injury, and find myself thrown into deciphering a problem larger than myself while I brush my teeth anxiously or lie in bed unable to sleep, I try to remember that my individualized frenzy is misplaced: it's not just me that will solve this—it's the whole planet working together. How can this be accomplished? Is it even possible? Or a good idea? I don't have all the answers but trust in figuring that out collectively, and rather than joining a group or starting one, I've chosen to create bridges between them.</p>
<p>Part of bringing people together involves being inclusive and seeing diverse forms of contribution as useful and necessary: what's needed isn't always visible, vocal, and popular forms of 'activism', or what is considered as such either by 'activists' or the people who claim to disdain them. Everything is politics. I like how this <a href="https://www.youtube.com/watch?v=C4xhJZsmFIY&amp;t=58s">analogy of the spear</a> describes a spectrum of contributions coming together:</p>
<ul>
<li>Direct action is the tiniest tip of a spear's blade: sharp and vital for making a mark, but not powerful on its own.</li>
<li>The metal part between tip and handle represents organizing around that, showing up, and substantiating the above with food, calls, gatherings, emotional support, bail, paperwork, etc…: everything here enables the tip to have some kind of impact and is often considered activism, but the result is very acute (and seen as fringe) without further support from a larger populace.</li>
<li>Supporters of a movement inhabit the much longer portion of a spear's handle, and represents a diversity of perspectives, some of which may not feel satisfactory to the metal and tip; it doesn't get as much attention as the other parts even though it's what creates leverage and forward movement for deep impact. At the very end of the handle you might find people who show up to take a selfie and leave: this is considered 'merely performative' by some but is also important for bringing ideas out of the fringe and into normal discussion, shifting thought.</li>
</ul>
<p>To find my own place within this sphere, I avoid doing things that make me feel replaceable, where the result would be comparable if someone else was in my place, and prefer activities where the outcome drastically changes because I'm there. This leads me to spend most of my time on personal projects, which often provokes a comparison about whether I'm doing 'enough' or 'my part' in times of crisis, probably because it's not how most people get to spend their days. Yet, every time I question myself, the deliberations lead me circling back to the same place: my projects will likely not save a life or end that bad problem over there, but without hesitation I feel and understand my actions to be completely holistic.</p>
<p>How do conversations on <a href="https://strolling.rosano.ca">Strolling</a> help? After a period of global political unrest and binary views on how things should be, I observed divisions everywhere, and saw myself as part of the problem that divided communities into red and blue. Dissatisfied that greater powers continue to flourish and profit as we squabble over our teams and rip apart the world's social fabric with our own hands, I recognized that dialogue is critical to overcoming conflict and disagreement, and have I've tried to repair what I can by <a href="https://utopia.rosano.ca/why-are-we-yelling-by-buster-benson/">learning to disagree productively</a>, <a href="https://utopia.rosano.ca/building-social-bridges-and-healing-a-divided-world">fostering discussion</a>, <a href="https://ref.rosano.ca/01etqcgcr348ycpnwj2pfczyng">being a bridge</a>, reconnecting, calling in, reaching out. Strolling tries to honour dialogue and what is possible through merely conversing, and perhaps also expose people to ideas they wouldn't come across anywhere else or be open to; I've been in a bubble so far recording mostly with people who share adjacent perspectives, but on occasions where I disagree, I practice being conducive instead of reactionary.</p>
<p>How do apps help? Technology underpins everything today, and its companies with massive resources would rather profit from transforming us into consumers of their addictive platform fodder than help us cultivate greater agency. I don't believe technology will or can solve all our problems, but if we want a different future, it must involve changing our technology. I participate here because I have specific skills and feel it's under-addressed, as: 1. most of the world does not have the space to develop technical expertise to infiltrate the castles of confusion erected by programmers; and 2. most of those who <em>do</em> have expertise see it as a job or fun hobby without attempting to change why it works the way it does; without criticism towards either, I believe this is the reality and it's not sufficient. My involvement has always tried to help close this gap by <a href="https://rosano.hmm.garden/01f62t5yseb053m024v1mczbzy">documenting for beginners</a>, or decentering the English language in app development (maximum localization), or incorporating <a href="https://rosano.hmm.garden/01f255wk8f42fbg4zv5hsjz6sh">non-techie friends</a> into the world of alternative technology. I've also written about <a href="https://utopia.rosano.ca/levels-of-agency/">agency</a>, <a href="https://0data.app">separation of data from apps</a>, <a href="https://utopia.rosano.ca/pointing-at-the-wrong-thing/">interoperability</a>, and <a href="https://rosano.hmm.garden/01gq5znszqemzj0z45pzkrw2f6">antipatterns</a>, often with accessible language and minimal jargon, to help more people realize what could be possible.</p>
<p>How does music on <a href="https://www.youtube.com/channel/UCPMFNN-2JUuS6D9iYfrVK8g">Vibrations</a> help? It's my formation and one place where I might hold a deeper credibility. I publish music mostly for myself as a way to recover from the narrow-minded upbringings of my training, and send a message about how different the concept of music could be. People seem to enjoy what I share, and that has taught me to care less about being considered 'professional' (a former pain point) and more about doing meaningful things. I consider music one of the deepest, most underrated forms of social change, and it's completely invisible to most people; I might write later about how [[music is not what's on your streaming platform]]. Daryl Davis talks about reflexes as a musician to 'create harmony' as he <a href="https://youtu.be/FdI%5FayaAXDE">reformed over 200 KKK members</a>, and although he mentions it in passing as if light spiritual humour, I think music manifests a capacity to create synergy, and on a practical level help coordinate multiple things in parallel.</p>
<p>In summary: I have some skills, see where it could make a difference, and try to enjoy the process; this may lead to discomfort or financial instability if it's not seen as useful by the institutions of society, but I've learned to harden myself against comparisons and counterproductive thoughts as long as I believe in what I'm doing. The range of 'music, technology, and conversations' might seem disparate and perhaps selfish, but I see it all as complementary and emancipatory: there's no question to me that it's holistic, which fills me with confidence to go forward 100% even as the dumpster fire burns higher.</p>
<p>I'm also proud to have received feedback that my presence had an unlocking and enabling effect on some people, without trying to persuade them to do things the way I do; I believe changing something about your life merely by feeling inspired is actually quite powerful and was my catalyst for many initiatives and habits.</p>
<p>When you think 'nothing I do matters' consider this: in all those stories of time travel, you step out of your time machine into a moment of the past, maybe feeling uneasy about touching anything or making even the slightest change to your surrounding environment, out of fear that any difference would create a cascading effect with unforeseeable consequences as time progresses with the result of your actions; now bring yourself back to the present and realize that the same power is held by each of us, right now. So… What would you like to do today?</p>
<hr>
<p>Thanks to Heddi for encouraging me to put in words here something that I've often said to myself and others, but never considered writing.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/vibrations/">Vibrations</a>, <a href="/log/tag/strolling/">Strolling</a>, <a href="/log/tag/reflection/">reflection</a>, <a href="/log/tag/community/">community</a>, <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 2:03 pm, January 25, 2024" href="/log/2024-01-25-when-bad-things-happen-in-the-world/"><time datetime="2024-01-25T14:03:35-05:00" data-pagefind-sort="date[datetime]">14h03</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>Going free</title>
  <link>https://rosano.ca/blog/going-free/</link>
  <pubDate>Tue, 03 Oct 2023 13:57:15 +0000</pubDate>
  <guid>https://rosano.ca/blog/going-free/</guid>
  <description>Removing limits from my apps, cancelling their active subscription payments, and transitioning to free and open access.</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget>Removing limits from my apps, cancelling their active subscription payments, and transitioning to free and open access.</nugget><hr>
<div class="content"><p>In August 2023, I decided to remove all limits from my apps, cancel their active subscription payments, and transition to free and open access. This documents my thought process, why I think the previous model feels misaligned, and what could take its place.</p>
<hr>
<p>Since 2019, I have been experimenting with a <a href="https://rosano.ca/fund-button">fund button</a> integrated into my apps to create direct link between the app experience and people who want to support the project financially. The design seemed logical to me after seeing many lovingly crafted open-source projects poorly funded through other means. Building this custom payment system and various integrations was a technical achievement for me as someone who didn't consider themselves a 'real programmer', but I quickly regretted bringing that level of complexity into my life and cautioned against it whenever asked. Over these years, I was nonetheless happy to have some quite passionate and supportive people work through my maze of a system to send me their money and try something new. Ultimately, the various shortcomings of my own design made it limited, obscure, brittle, and relied on <a href="https://0data.app">personal data stores</a> that I imagine should be commonplace but aren't yet in the hands of most people. A better solution for me would be more simple and flexible, less transactional.</p>
<p>I was going to replace it with a <a href="https://ghost.org">Ghost</a> membership system, as I'm familiar with it from other projects and have observed less technically inclined people navigate it with no issues, but halfway through creating the experience, I felt the pain of creating custom integrations once again and also the potential burden of having to maintain unofficial code bolted onto another active open-source project. I still amaze myself considering how I can just build this stuff given what I consider a limited background; too bad my snazzy passwordless, one-click login system may never see the light of day…</p>
<h1 id="trying-free">Trying free</h1>
<p>I must have been so excited to present my fund button to the world, building into my first published web app, that I didn't think once about offering apps for 'free'; something was already settled in my thinking that perhaps it wouldn't work or would somehow overwhelm me. Seems worthwhile to at least try, I suppose? I '<a href="https://xangelo.ca/posts/free%5Fsoftware%5Fmtx/">owe so much to free</a>' and easily accessible things on the Internet and would feel good contributing back to that pool. Free is also a chance to provide value in the <a href="https://twitter.com/dvassallo/status/1216976156466958337">'give, give, give, then ask'</a> framework I'm experimenting with.</p>
<p>From a maintenance perspective, many things become easier: by just giving it all away, I can remove complexity concerning my payment system to simplify code, interfaces, and my life; feels great to rip out old, unused stuff and chuck it. Maybe I still need to think about business models, but I can forget about access codes, logins, or infrastructure for now.</p>
<p>Socially speaking, I've always had an issue with dividing people into those who pay and those who don't—more on that in a bit—so it's nice to avoid this as well. As long as I'm able to keep myself afloat somehow, it would be great to popularize this approach, remove barriers, optimize projects for sharing and spreading ideas more broadly. Useful that the kind of 'static web apps' I make can basically exist online forever for free (which technologies can you say this for?)—sustainability in this case has less to do with any distribution or publishing cost and more to do with development, maintenance, and my own well-being.</p>
<h1 id="erroneous-assumptions">Erroneous assumptions</h1>
<p>The biggest learning I've had while thinking about this is becoming aware of patterns that I've been copying (from myself and others) that seem misaligned with how I'd like to do things.</p>
<h2 id="not-business">Not business</h2>
<p>For about a decade, I was paying my bills via <a href="https://utopia.rosano.ca/ive-never-worked-in-a-company">my live music listings project and iPhone apps</a>, which made me comfortable with the language of business, products, sales, and marketing. Until recently, I was thinking &quot;I did those as businesses, hence this should be the same.&quot; Business got me to the point I'm at now, enabled me to live a life I enjoy, and can be a way to organize ideas, but doesn't need to be how I approach everything. Just because it carried me in the past doesn't mean it's the right mechanism to express my future visions. I would love to be in a world of abundance where people have what they need, and I may be in enough of a privileged position to present something that reflects this.</p>
<p>I'm starting to think of my projects more like Wikipedia, which is not a business, does not seek to 'choose a niche' or 'deliver value to the customer'—it might even be odd to 'expect' anything of the project. Those who like it make the most out of it; some people contribute content and help steward its collective spaces; some people donate money (hopefully enough to cover costs); there is no 'exclusive content' for those who pay; and <a href="https://www.niemanlab.org/2019/01/unlocking-the-commons/">free-riding is the point</a>. It's definitely not a transactional space—a large diversity of people can engage with it because not everyone needs to pay, and any contributions take a variety of forms. Perhaps this could be a closer-aligned model for my own projects?</p>
<h2 id="not-creator">Not creator</h2>
<p>It was tempting for me to connect the app world with that of subscriptions and memberships, thinking that 'indie creators selling exclusive content' is mainstream now, therefore I can also simply use that model. But I think I was too fixated on the technical mechanisms behind content-gating, without considering how to foster some kind of community around what I'm building; I learn repeatedly that technology doesn't magically produce social outcomes.</p>
<p>In my process to try this system, I had made a long list of creators I considered 'successful', which meant they were making an amount of money that reflected some kind of momentum around their platform: perhaps receiving $300 or $3000 per month, but not $30. Most of them tended to have some kind of large online following beforehand or were really focused in the scope of their activities. Although neither of those attributes might reflect me at the moment, I thought I could give this a try, at the same time clouding this approach with the idea of 'passive income in my sleep' without too many expectations (more common with people selling products online); this is a recipe for confusion, but dreaming about how everything would work out calmed my scarcity mindset. I realize now that this doesn't make sense for me either.</p>
<p>From a purely financial standpoint, I became convinced that subscriptions don't last forever, based on my own experience and solidified after listening to <a href="https://hackersincorporated.com/episodes/lifetime-pricing-is-underrated">Lifetime pricing is underrated</a>: there is no infinitely recurring source of income; effort is always required to find new revenue; and subscriptions are scary for a lot of people.</p>
<p>From a parasocial standpoint, I'm not sure if I 'play the part' of being active on social media to cultivate community or doing my thing in response to what other people have expressed. The dynamic of money in an indie creator model feels somewhat awkward to me. I'm lucky to have received money, but it feels like I'm not sure what to do with it. I sense some internal conflict around 'working more' for people who give me smaller amounts versus those who give me larger amounts without expecting anything. Funny that asking or even paying me wouldn't guarantee that I do something anyway, as I tend to make choices based on what my current situation and needs dictate, which someone once described to me as the approach of an artist showing zero consideration for any market or what other people think: &quot;f*** you, here's my music.&quot; I'm happy to connect with people in a way that isn't proportionate to their financial contribution, but perhaps that's not 'business'. Also, I never figured out why people gave me money in the first place, or why they stopped. All that to say: I feel weird about how money goes through my projects this way and would prefer to be more intentional about how that happens, so that it feels better for myself and anyone who chooses to support me.</p>
<h2 id="not-exactly">Not exactly</h2>
<p>The tricky part of being exposed to so many patterns is understanding that although what I do might appear to conform to certain archetypes (indie hacker, developer, entrepreneur, etc…), it doesn't mean that I <em>am</em> one of those things or that the strategies employed in those contexts make sense here. My approach needs more reflection and calibration to find a model that aligns well.</p>
<h1 id="my-big-realization-about-small-money">My big realization about small money</h1>
<p>For years, I've expressed my desire to support myself with '1000 people paying me $10 a year', because it seemed to me like a low-stress contribution for many, hopefully inclusive of people for whom the currency doesn't work in their favour, while adding up to a sum that makes a significant impact in my life. I've changed my mind. I learned that these 'small amounts' are simultaneously the wrong signal for people who would be willing to contribute higher amounts, yet <em>still</em> expensive for many people in non-Western countries. So it's better for people who have more to give more, which perhaps means I need to change my approach and messaging with money: to get clarity on what I can offer and what financial contributors receive by supporting me; I haven't figured this part out yet and would welcome any suggestions. I also no longer feel good receiving money if someone has to worry about how to make it work: if someone has to figure out whether they can afford to give me a small yearly amount, then I would prefer that they simply enjoy what I create, and if they want to help me, then they can share my projects with a friend or contribute in non-monetary ways—paying doesn't need to be the only way to feel like a participant in what I do.</p>
<h1 id="future-approaches">Future approaches</h1>
<p>So what will my path be in the future? I'm not sure yet specifically. My preference would be simple systems, likely supported by larger amounts of money from fewer people, and manifesting the spirit of the Internet by being open, free, and accessible.</p>
<p>Not charging directly tends to come with concerns like &quot;will my data be sold?&quot;, &quot;will it become overrun with ads?&quot;, and &quot;will it stick around?&quot;. Well, for those specific concerns, I thankfully have <a href="https://0data.app">zero data to sell</a>, don't like ads, and work on things that can live online for a long time. For the others, I'll have to cross that bridge when I get there.</p>
<p>Thanks to everyone who has supported me thus far. I'll probably find a way to keep doing what I do, but if you'd like to make it easier by supporting me financially, be welcome to do so via a <a href="https://strolling.rosano.ca/#/portal/signup">Strolling membership</a> or a public contribution to <a href="https://rosano.ca/fund">my Open Collective</a>.</p>
<hr>
<p>I've also written about my experiments in <a href="https://utopia.rosano.ca/platform-puzzle-pieces-for-sustainable-community">Platform puzzle pieces for sustainable community</a> and about my iOS apps experience in <a href="https://utopia.rosano.ca/going-fully-web">Going fully web</a>.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 8:57 am, October 3, 2023" href="/blog/going-free/"><time datetime="2023-10-03T08:57:15-05:00" data-pagefind-sort="date[datetime]">08h57</time></a>

		
		<span>from <a href="/log/place/minneapolis/">Minneapolis</a> / </span>

		<span><a href="/log/country/united-states/">United States</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Tuesday, October 3, 2023 08h57</title>
  <link>https://rosano.ca/log/2023-10-03-going-free/</link>
  <pubDate>Tue, 03 Oct 2023 08:57:15 -0500</pubDate>
  <guid>https://rosano.ca/log/2023-10-03-going-free/</guid>
  <description>In August 2023, I decided to remove all limits from my apps, cancel their active subscription payments, and transition to free and open access. This documents my thought process, why I think the previous model feels misaligned, and what could take its place.&#xA;Since 2019, I have been experimenting with a fund button integrated into my apps to create direct link between the app experience and people who want to support the project financially. The design seemed logical to me after seeing many lovingly crafted open-source projects poorly funded through other means. Building this custom payment system and various integrations was a technical achievement for me as someone who didn&#39;t consider themselves a &#39;real programmer&#39;, but I quickly regretted bringing that level of complexity into my life and cautioned against it whenever asked. Over these years, I was nonetheless happy to have some quite passionate and supportive people work through my maze of a system to send me their money and try something new. Ultimately, the various shortcomings of my own design made it limited, obscure, brittle, and relied on personal data stores that I imagine should be commonplace but aren&#39;t yet in the hands of most people. A better solution for me would be more simple and flexible, less transactional.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget><p>In August 2023, I decided to remove all limits from my apps, cancel their active subscription payments, and transition to free and open access. This documents my thought process, why I think the previous model feels misaligned, and what could take its place.</p>
<hr>
<p>Since 2019, I have been experimenting with a <a href="https://rosano.ca/fund-button">fund button</a> integrated into my apps to create direct link between the app experience and people who want to support the project financially. The design seemed logical to me after seeing many lovingly crafted open-source projects poorly funded through other means. Building this custom payment system and various integrations was a technical achievement for me as someone who didn't consider themselves a 'real programmer', but I quickly regretted bringing that level of complexity into my life and cautioned against it whenever asked. Over these years, I was nonetheless happy to have some quite passionate and supportive people work through my maze of a system to send me their money and try something new. Ultimately, the various shortcomings of my own design made it limited, obscure, brittle, and relied on <a href="https://0data.app">personal data stores</a> that I imagine should be commonplace but aren't yet in the hands of most people. A better solution for me would be more simple and flexible, less transactional.</p></nugget><hr>
<div class="content"><p>In August 2023, I decided to remove all limits from my apps, cancel their active subscription payments, and transition to free and open access. This documents my thought process, why I think the previous model feels misaligned, and what could take its place.</p>
<hr>
<p>Since 2019, I have been experimenting with a <a href="https://rosano.ca/fund-button">fund button</a> integrated into my apps to create direct link between the app experience and people who want to support the project financially. The design seemed logical to me after seeing many lovingly crafted open-source projects poorly funded through other means. Building this custom payment system and various integrations was a technical achievement for me as someone who didn't consider themselves a 'real programmer', but I quickly regretted bringing that level of complexity into my life and cautioned against it whenever asked. Over these years, I was nonetheless happy to have some quite passionate and supportive people work through my maze of a system to send me their money and try something new. Ultimately, the various shortcomings of my own design made it limited, obscure, brittle, and relied on <a href="https://0data.app">personal data stores</a> that I imagine should be commonplace but aren't yet in the hands of most people. A better solution for me would be more simple and flexible, less transactional.</p>
<p>I was going to replace it with a <a href="https://ghost.org">Ghost</a> membership system, as I'm familiar with it from other projects and have observed less technically inclined people navigate it with no issues, but halfway through creating the experience, I felt the pain of creating custom integrations once again and also the potential burden of having to maintain unofficial code bolted onto another active open-source project. I still amaze myself considering how I can just build this stuff given what I consider a limited background; too bad my snazzy passwordless, one-click login system may never see the light of day…</p>
<h1 id="trying-free">Trying free</h1>
<p>I must have been so excited to present my fund button to the world, building into my first published web app, that I didn't think once about offering apps for 'free'; something was already settled in my thinking that perhaps it wouldn't work or would somehow overwhelm me. Seems worthwhile to at least try, I suppose? I '<a href="https://xangelo.ca/posts/free%5Fsoftware%5Fmtx/">owe so much to free</a>' and easily accessible things on the Internet and would feel good contributing back to that pool. Free is also a chance to provide value in the <a href="https://twitter.com/dvassallo/status/1216976156466958337">'give, give, give, then ask'</a> framework I'm experimenting with.</p>
<p>From a maintenance perspective, many things become easier: by just giving it all away, I can remove complexity concerning my payment system to simplify code, interfaces, and my life; feels great to rip out old, unused stuff and chuck it. Maybe I still need to think about business models, but I can forget about access codes, logins, or infrastructure for now.</p>
<p>Socially speaking, I've always had an issue with dividing people into those who pay and those who don't—more on that in a bit—so it's nice to avoid this as well. As long as I'm able to keep myself afloat somehow, it would be great to popularize this approach, remove barriers, optimize projects for sharing and spreading ideas more broadly. Useful that the kind of 'static web apps' I make can basically exist online forever for free (which technologies can you say this for?)—sustainability in this case has less to do with any distribution or publishing cost and more to do with development, maintenance, and my own well-being.</p>
<h1 id="erroneous-assumptions">Erroneous assumptions</h1>
<p>The biggest learning I've had while thinking about this is becoming aware of patterns that I've been copying (from myself and others) that seem misaligned with how I'd like to do things.</p>
<h2 id="not-business">Not business</h2>
<p>For about a decade, I was paying my bills via <a href="https://utopia.rosano.ca/ive-never-worked-in-a-company">my live music listings project and iPhone apps</a>, which made me comfortable with the language of business, products, sales, and marketing. Until recently, I was thinking &quot;I did those as businesses, hence this should be the same.&quot; Business got me to the point I'm at now, enabled me to live a life I enjoy, and can be a way to organize ideas, but doesn't need to be how I approach everything. Just because it carried me in the past doesn't mean it's the right mechanism to express my future visions. I would love to be in a world of abundance where people have what they need, and I may be in enough of a privileged position to present something that reflects this.</p>
<p>I'm starting to think of my projects more like Wikipedia, which is not a business, does not seek to 'choose a niche' or 'deliver value to the customer'—it might even be odd to 'expect' anything of the project. Those who like it make the most out of it; some people contribute content and help steward its collective spaces; some people donate money (hopefully enough to cover costs); there is no 'exclusive content' for those who pay; and <a href="https://www.niemanlab.org/2019/01/unlocking-the-commons/">free-riding is the point</a>. It's definitely not a transactional space—a large diversity of people can engage with it because not everyone needs to pay, and any contributions take a variety of forms. Perhaps this could be a closer-aligned model for my own projects?</p>
<h2 id="not-creator">Not creator</h2>
<p>It was tempting for me to connect the app world with that of subscriptions and memberships, thinking that 'indie creators selling exclusive content' is mainstream now, therefore I can also simply use that model. But I think I was too fixated on the technical mechanisms behind content-gating, without considering how to foster some kind of community around what I'm building; I learn repeatedly that technology doesn't magically produce social outcomes.</p>
<p>In my process to try this system, I had made a long list of creators I considered 'successful', which meant they were making an amount of money that reflected some kind of momentum around their platform: perhaps receiving $300 or $3000 per month, but not $30. Most of them tended to have some kind of large online following beforehand or were really focused in the scope of their activities. Although neither of those attributes might reflect me at the moment, I thought I could give this a try, at the same time clouding this approach with the idea of 'passive income in my sleep' without too many expectations (more common with people selling products online); this is a recipe for confusion, but dreaming about how everything would work out calmed my scarcity mindset. I realize now that this doesn't make sense for me either.</p>
<p>From a purely financial standpoint, I became convinced that subscriptions don't last forever, based on my own experience and solidified after listening to <a href="https://hackersincorporated.com/episodes/lifetime-pricing-is-underrated">Lifetime pricing is underrated</a>: there is no infinitely recurring source of income; effort is always required to find new revenue; and subscriptions are scary for a lot of people.</p>
<p>From a parasocial standpoint, I'm not sure if I 'play the part' of being active on social media to cultivate community or doing my thing in response to what other people have expressed. The dynamic of money in an indie creator model feels somewhat awkward to me. I'm lucky to have received money, but it feels like I'm not sure what to do with it. I sense some internal conflict around 'working more' for people who give me smaller amounts versus those who give me larger amounts without expecting anything. Funny that asking or even paying me wouldn't guarantee that I do something anyway, as I tend to make choices based on what my current situation and needs dictate, which someone once described to me as the approach of an artist showing zero consideration for any market or what other people think: &quot;f*** you, here's my music.&quot; I'm happy to connect with people in a way that isn't proportionate to their financial contribution, but perhaps that's not 'business'. Also, I never figured out why people gave me money in the first place, or why they stopped. All that to say: I feel weird about how money goes through my projects this way and would prefer to be more intentional about how that happens, so that it feels better for myself and anyone who chooses to support me.</p>
<h2 id="not-exactly">Not exactly</h2>
<p>The tricky part of being exposed to so many patterns is understanding that although what I do might appear to conform to certain archetypes (indie hacker, developer, entrepreneur, etc…), it doesn't mean that I <em>am</em> one of those things or that the strategies employed in those contexts make sense here. My approach needs more reflection and calibration to find a model that aligns well.</p>
<h1 id="my-big-realization-about-small-money">My big realization about small money</h1>
<p>For years, I've expressed my desire to support myself with '1000 people paying me $10 a year', because it seemed to me like a low-stress contribution for many, hopefully inclusive of people for whom the currency doesn't work in their favour, while adding up to a sum that makes a significant impact in my life. I've changed my mind. I learned that these 'small amounts' are simultaneously the wrong signal for people who would be willing to contribute higher amounts, yet <em>still</em> expensive for many people in non-Western countries. So it's better for people who have more to give more, which perhaps means I need to change my approach and messaging with money: to get clarity on what I can offer and what financial contributors receive by supporting me; I haven't figured this part out yet and would welcome any suggestions. I also no longer feel good receiving money if someone has to worry about how to make it work: if someone has to figure out whether they can afford to give me a small yearly amount, then I would prefer that they simply enjoy what I create, and if they want to help me, then they can share my projects with a friend or contribute in non-monetary ways—paying doesn't need to be the only way to feel like a participant in what I do.</p>
<h1 id="future-approaches">Future approaches</h1>
<p>So what will my path be in the future? I'm not sure yet specifically. My preference would be simple systems, likely supported by larger amounts of money from fewer people, and manifesting the spirit of the Internet by being open, free, and accessible.</p>
<p>Not charging directly tends to come with concerns like &quot;will my data be sold?&quot;, &quot;will it become overrun with ads?&quot;, and &quot;will it stick around?&quot;. Well, for those specific concerns, I thankfully have <a href="https://0data.app">zero data to sell</a>, don't like ads, and work on things that can live online for a long time. For the others, I'll have to cross that bridge when I get there.</p>
<p>Thanks to everyone who has supported me thus far. I'll probably find a way to keep doing what I do, but if you'd like to make it easier by supporting me financially, be welcome to do so via a <a href="https://strolling.rosano.ca/#/portal/signup">Strolling membership</a> or a public contribution to <a href="https://rosano.ca/fund">my Open Collective</a>.</p>
<hr>
<p>I've also written about my experiments in <a href="https://utopia.rosano.ca/platform-puzzle-pieces-for-sustainable-community">Platform puzzle pieces for sustainable community</a> and about my iOS apps experience in <a href="https://utopia.rosano.ca/going-fully-web">Going fully web</a>.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 8:57 am, October 3, 2023" href="/log/2023-10-03-going-free/"><time datetime="2023-10-03T08:57:15-05:00" data-pagefind-sort="date[datetime]">08h57</time></a>

		
		<span>from <a href="/log/place/minneapolis/">Minneapolis</a> / </span>

		<span><a href="/log/country/united-states/">United States</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Introducing Sharesnip</title>
  <link>https://rosano.ca/blog/introducing-sharesnip/</link>
  <pubDate>Mon, 06 Mar 2023 10:44:53 +0000</pubDate>
  <guid>https://rosano.ca/blog/introducing-sharesnip/</guid>
  <description>I&#39;m making a QR code generator and scanner that works offline:&#xA;no accounts ✅ no popups ✅ no customization ✅ works offline ✅ download as SVG or PNG ✅ scan via camera or files ✅ rounded corners ✅ It&#39;s designed to be a simple, pain-free way to quickly create codes that look nice. Will eventually be possible to save in a collection and sync across devices…&#xA;You might use it to create a QR code for event links, social media profiles, Wi-Fi access, contact info. Someday, I hope to incorporate custom icons.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p>I'm making a QR code generator and scanner that works offline:</p>
<ul>
<li>no accounts ✅</li>
<li>no popups ✅</li>
<li>no customization ✅</li>
<li>works offline ✅</li>
<li>download as SVG or PNG ✅</li>
<li>scan via camera or files ✅</li>
<li>rounded corners ✅</li>
</ul>
<p>It's designed to be a simple, pain-free way to quickly create codes that look nice. Will eventually be possible to save in a collection and sync across devices…</p>
<p>You might use it to create a QR code for event links, social media profiles, Wi-Fi access, contact info. Someday, I hope to incorporate custom icons.</p>
<p>To break with tradition a bit, this is unfinished and will be shaped by feedback from people who use it; would love to hear what you think.</p>
<figure><a href="https://rosano.ca/qr"><img alt="Open app" src="http://static.rosano.ca/_shared/_RCSAppButton.svg" /></a></figure>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>, <a href="/log/tag/debut/">debut</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 5:44 pm, March 6, 2023" href="/blog/introducing-sharesnip/"><time datetime="2023-03-06T17:44:53&#43;07:00" data-pagefind-sort="date[datetime]">17h44</time></a>

		
		<span>from <a href="/log/place/chiang-mai/">Chiang Mai</a> / </span>

		<span><a href="/log/country/thailand/">Thailand</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Monday, March 6, 2023 17h44</title>
  <link>https://rosano.ca/log/2023-03-06-introducing-sharesnip/</link>
  <pubDate>Mon, 06 Mar 2023 17:44:53 +0700</pubDate>
  <guid>https://rosano.ca/log/2023-03-06-introducing-sharesnip/</guid>
  <description>I&#39;m making a QR code generator and scanner that works offline:&#xA;no accounts ✅ no popups ✅ no customization ✅ works offline ✅ download as SVG or PNG ✅ scan via camera or files ✅ rounded corners ✅ It&#39;s designed to be a simple, pain-free way to quickly create codes that look nice. Will eventually be possible to save in a collection and sync across devices…&#xA;You might use it to create a QR code for event links, social media profiles, Wi-Fi access, contact info. Someday, I hope to incorporate custom icons.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p>I'm making a QR code generator and scanner that works offline:</p>
<ul>
<li>no accounts ✅</li>
<li>no popups ✅</li>
<li>no customization ✅</li>
<li>works offline ✅</li>
<li>download as SVG or PNG ✅</li>
<li>scan via camera or files ✅</li>
<li>rounded corners ✅</li>
</ul>
<p>It's designed to be a simple, pain-free way to quickly create codes that look nice. Will eventually be possible to save in a collection and sync across devices…</p>
<p>You might use it to create a QR code for event links, social media profiles, Wi-Fi access, contact info. Someday, I hope to incorporate custom icons.</p>
<p>To break with tradition a bit, this is unfinished and will be shaped by feedback from people who use it; would love to hear what you think.</p>
<figure><a href="https://rosano.ca/qr"><img alt="Open app" src="http://static.rosano.ca/_shared/_RCSAppButton.svg" /></a></figure>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>, <a href="/log/tag/debut/">debut</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 5:44 pm, March 6, 2023" href="/log/2023-03-06-introducing-sharesnip/"><time datetime="2023-03-06T17:44:53&#43;07:00" data-pagefind-sort="date[datetime]">17h44</time></a>

		
		<span>from <a href="/log/place/chiang-mai/">Chiang Mai</a> / </span>

		<span><a href="/log/country/thailand/">Thailand</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Going fully web</title>
  <link>https://rosano.ca/blog/going-fully-web/</link>
  <pubDate>Sun, 14 Nov 2021 05:26:11 +0000</pubDate>
  <guid>https://rosano.ca/blog/going-fully-web/</guid>
  <description>Why I stopped making iOS apps after twelve years.</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget>Why I stopped making iOS apps after twelve years.</nugget><hr>
<div class="content"><p>I have been working on iOS apps since 2009; I started with a collaboration with <a href="https://twitter.com/tom%5Ffrog">Wil</a> on <a href="https://rosano.ca/audioscrub">AudioScrub</a> (née iLift), and eventually <a href="https://utopia.rosano.ca/sixth-times-a-charm">went solo</a> in 2014. After twelve years on the App Store, I've decided it's time to <strong>go all-in on the web</strong> and would like to share what that means and outline the tradeoffs involved.</p>
<p>The spur for this change occurred years ago after the launch of my seventh app <a href="https://rosano.ca/sonogrid">sonogrid</a>. Although the project had iterations over several years, it mostly came together in the summer of 2018: I overworked myself for months, with incessant attention to detail, and was eager to present this to people I would meet during my upcoming trip to Colombia (they <em>really</em> love music there, and this app was for music lovers).</p>
<p>The app launched to a good reception online within various iOS music app communities, but to my dismay, most of the Colombians I met in person were not able to access it because Apple devices are prohibitively expensive there. I would offer to demo the app on my phone and let the other person play with it after: repeatedly, they would enjoy the interface and become immersed in a fun creative process, only to become disappointed on learning that it's not on Android. It was hard to resolve the contradiction between producing something I was super proud to share—a kind of magnificent zenith in my iOS trajectory—and realizing that only half the world can use it.</p>
<p>This was a bit deflating, and I wasn't motivated to do double the work just because of platform duopolies. Added to this was the more subtle but long-standing aversion to the 'review process' that native apps go through before appearing on the App Store: I was hesitant to invest further in an environment with little control and leverage over my own future, with a constant fear of 'reviewer rejection' and <a href="https://marco.org/2009/06/13/trust-hostility-and-the-human-side-of-apple">the rug slipping out from under me at any time</a>. So I took a step back and haven't updated many of my iOS apps since then.</p>
<p>In place, I worked on <a href="https://github.com/orgs/olsk/repositories">various web components</a> and put them together to create <a href="https://github.com/rosano#open-source-projects">about a dozen web-based projects</a>. Contrasting the experience between the web and native (i.e. iOS) worlds, I feel more enthusiastic about how the web is evolving. It can still be 'limited' in comparison to native apps, but that gap is gradually closing and most of my ideas already fit within what's currently possible.</p>
<h2 id="why-you-should-choose-web-over-native">Why you should choose Web over Native</h2>
<p>Just to review, in case it's not obvious, there are some more commonly understood reasons for choosing the web over native:</p>
<ul>
<li>Basically, all current and future devices (mobile, tablet, desktop) and operating systems (iOS, Android, macOS, Windows, Linux) are supported.</li>
<li>Projects are simpler and more cost-effective to build and deploy, with tools and skills that are easier to acquire.</li>
<li>A thriving universe with bazillions of communities spanning the entire Internet provides lots of answers to questions, and most knowledge is based on open standards and therefore highly transferable.</li>
<li>Backward compatibility is a priority, which means your project is likely to continue working despite technology evolving over time.</li>
<li>You can make changes whenever you like and have them online within seconds or minutes, as opposed to requiring third-party approval for everything, which could take days or weeks.</li>
<li>The environment makes it more and more empowering for single-person or small team operations to produce things, without requiring the resources of a large company.</li>
</ul>
<p>The challenges of the web for developers like myself is to help people 'cross the chasm' that exists due to a lack of common patterns for interacting with apps:</p>
<ul>
<li>There is <strong>no obvious 'App Store'</strong>, so people are left to search the wider web (amongst articles, videos, cat pictures, and everything else), but maybe there could be <a href="https://appindex.app/">one that celebrates the 'instant' nature of this platform</a>, or a subscription bundle like <a href="https://talk.fission.codes/t/setapp-curated-apps-bundle-subscription/2260">SetApp</a> to help with discovery.</li>
<li>There is <strong>no universal 'buy' button</strong>—every project does this their own way, but the <a href="https://ghost.org/help/setting-up-portal/">Ghost Portal</a> is becoming more and more common, and I'm trying something similar with my <a href="https://cafe.rosano.ca/t/69">Fund Button</a>.</li>
<li>The idea of an 'install' button isn't ubiquitous, and <strong>some web apps may not be mobile-friendly</strong> or <a href="https://www.inkandswitch.com/local-first">local-first</a>, but for the rest there are libraries like <a href="https://github.com/koddr/a2hs.js">a2hs.js</a> that help guide people to make accessing web apps a more familiar experience: simply click on an app icon to launch.</li>
<li>The <strong>lack of an integrated payment system</strong> means that every project needs to re-build trust and help others be comfortable enough in the environment to support them financially, but <a href="https://stripe.com/payments/checkout">Stripe Checkout</a>, <a href="https://www.paypal.com/merchantapps/appcenter/acceptpayments/checkout">PayPal Checkout</a>, and <a href="https://webmonetization.org/">Web Monetization</a> are contributing various solutions that reduce friction from this process. (I would also love to see <a href="https://opencollective.com/fiscal-hosting">fiscal hosting</a> become more prevalent so that having a legal entity is not necessary to receive money.)</li>
<li>Performance has often <strong>held back the types of applications that can be built</strong> on the web platform, but <a href="https://webassembly.org/roadmap">WebAssembly</a> will eliminate this issue for a whole class of ideas.</li>
</ul>
<p>There are plenty of people working to create open solutions to these 'missing features'; it seems like a solvable problem with time.</p>
<h2 id="what-its-like-making-native-apps">What it’s like making Native Apps</h2>
<p>(Feel free to skip this section if you'd rather not hear me complain about Apple.) I'm sharing some negative aspects of my experience making native apps with hesitation, not to be a downer but because there might be people that aren't really familiar with the developer side:</p>
<ul>
<li><strong>The paternal review process can be soul-crushing at times</strong>: reviewers don't enforce rules consistently; bad app(le)s get approved and grift people out of money or personal information; it's an anxiety-ridden process that can feel unpredictable. You may have a good impression of Apple if you've bought their products: calling them for support usually means speaking to a friendly person who takes responsibility for your issue and tries to resolve it. App Review on the other hand might as well be an outsourced company, incredibly bureaucratic, and often feels like talking to a rock; any sensuality around the Apple brand quickly vanishes under these bright white office lights as you find yourself filling out TPS reports in the developer cubicle all of a sudden.</li>
<li><strong>Large companies dominate the App Store listings and generally get better treatment</strong>. The lucky independent developers are ones who have the ear of someone who works at Apple to support them if there's a dispute and either push their app through App Review or get it featured.</li>
<li><strong>It's quite a task for an individual or small team to produce an app</strong>, create screenshots and videos, localize everything in multiple languages, respond to reviews, and keep on top of technology that changes every year. The prototypical success looks more like a large organization than two guys in a garage.</li>
<li>It feels like <strong>feeding into a device ecosystem of planned obsolescence and overconsumption</strong>, where developers and consumers need to keep upgrading—an insatiable appetite for more.</li>
<li>The certificates and signing from the build process is <strong>complex</strong> and can bring development to a halt if you don't have the right combination of XCode and macOS (hint: keep buying new Macs).</li>
<li>The expanding variety of screen sizes forces you to <strong>learn responsiveness primitives which are platform-specific</strong> and create a complex array of image and video assets at different sizes for distribution.</li>
<li>The <strong>constantly changing environment</strong> <em>will</em> break your app and force you to either hurry and accommodate the changes or receive messages from customers asking why it doesn't work anymore.</li>
<li>You can't simply share your app with a friend or even <em>install it on your own device</em> without <strong>paying rent or getting permission through App Review</strong>.</li>
</ul>
<p>There are obviously lots of positives to native platforms as well, but these kinds of things weigh down smaller operations like mine, favouring large companies with resources and time to deal with this ever-growing complexity.</p>
<h2 id="developing-for-web">Developing for Web</h2>
<p>Despite the web's challenges, there's much that excites me about its future and some of these characteristics are intrinsic to the platform:</p>
<ul>
<li>The concept of <a href="https://www.fortressofdoors.com/the-future-of-games-is-an-instant-flash-to-the-past/">instant games</a> promotes highly shareable apps via a simple link that requires no install process: show up and start.</li>
<li>Having multiple payment providers, potentially with the addition of cryptocurrencies means if you wanted to also just invent your own value system, maybe some kind of post-money coupon thing, it's possible to integrate with existing systems…</li>
<li>User-controlled personal data stores are <a href="https://0data.app/">already being used</a> on the web and will eventually make their way to native apps.</li>
<li>Edge apps that work completely in the browser are easy to mirror or fork, and virtually free to distribute: imagine having your site/app available everywhere via <a href="https://ipfs.io/">IPFS</a></li>
<li>The culture of perpetual improvement, with less focus on versioning, is normal: people do not need to 'install updates' for each app they use on every change.</li>
<li>It's just more fun and with a lower barrier to entry, which results in more diverse and dynamic communities who form part of a larger public commons: more sparks, more life, more weird.</li>
</ul>
<p><a href="https://apps.apple.com/us/developer/rcreativ/id356609408">My iOS apps</a> have been quietly free for a while. By mid February 2022, they will disappear <em>forever</em>; I'm not completely sure how this works—I understand you can continue to use them, perhaps even re-download them, but only if you already have it. I would like to eventually re-make them for the web (be welcome to <a href="https://github.com/rosano">join me</a> or <a href="https://rosano.ca/back">keep me alive</a>). In the meantime, enjoy these apps while they last. I'm jumping headfirst into a world bubbling with new possibilities and excited to develop for the largest open pool of people on the planet.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>, <a href="/log/tag/process/">process</a>, <a href="/log/tag/meta/">meta</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 0:26 am, November 14, 2021" href="/blog/going-fully-web/"><time datetime="2021-11-14T00:26:11-05:00" data-pagefind-sort="date[datetime]">00h26</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>Sunday, November 14, 2021 00h26</title>
  <link>https://rosano.ca/log/2021-11-14-going-fully-web/</link>
  <pubDate>Sun, 14 Nov 2021 00:26:11 -0500</pubDate>
  <guid>https://rosano.ca/log/2021-11-14-going-fully-web/</guid>
  <description>I have been working on iOS apps since 2009; I started with a collaboration with Wil on AudioScrub (née iLift), and eventually went solo in 2014. After twelve years on the App Store, I&#39;ve decided it&#39;s time to go all-in on the web and would like to share what that means and outline the tradeoffs involved.&#xA;The spur for this change occurred years ago after the launch of my seventh app sonogrid. Although the project had iterations over several years, it mostly came together in the summer of 2018: I overworked myself for months, with incessant attention to detail, and was eager to present this to people I would meet during my upcoming trip to Colombia (they really love music there, and this app was for music lovers).&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget><p>I have been working on iOS apps since 2009; I started with a collaboration with <a href="https://twitter.com/tom%5Ffrog">Wil</a> on <a href="https://rosano.ca/audioscrub">AudioScrub</a> (née iLift), and eventually <a href="https://utopia.rosano.ca/sixth-times-a-charm">went solo</a> in 2014. After twelve years on the App Store, I've decided it's time to <strong>go all-in on the web</strong> and would like to share what that means and outline the tradeoffs involved.</p>
<p>The spur for this change occurred years ago after the launch of my seventh app <a href="https://rosano.ca/sonogrid">sonogrid</a>. Although the project had iterations over several years, it mostly came together in the summer of 2018: I overworked myself for months, with incessant attention to detail, and was eager to present this to people I would meet during my upcoming trip to Colombia (they <em>really</em> love music there, and this app was for music lovers).</p></nugget><hr>
<div class="content"><p>I have been working on iOS apps since 2009; I started with a collaboration with <a href="https://twitter.com/tom%5Ffrog">Wil</a> on <a href="https://rosano.ca/audioscrub">AudioScrub</a> (née iLift), and eventually <a href="https://utopia.rosano.ca/sixth-times-a-charm">went solo</a> in 2014. After twelve years on the App Store, I've decided it's time to <strong>go all-in on the web</strong> and would like to share what that means and outline the tradeoffs involved.</p>
<p>The spur for this change occurred years ago after the launch of my seventh app <a href="https://rosano.ca/sonogrid">sonogrid</a>. Although the project had iterations over several years, it mostly came together in the summer of 2018: I overworked myself for months, with incessant attention to detail, and was eager to present this to people I would meet during my upcoming trip to Colombia (they <em>really</em> love music there, and this app was for music lovers).</p>
<p>The app launched to a good reception online within various iOS music app communities, but to my dismay, most of the Colombians I met in person were not able to access it because Apple devices are prohibitively expensive there. I would offer to demo the app on my phone and let the other person play with it after: repeatedly, they would enjoy the interface and become immersed in a fun creative process, only to become disappointed on learning that it's not on Android. It was hard to resolve the contradiction between producing something I was super proud to share—a kind of magnificent zenith in my iOS trajectory—and realizing that only half the world can use it.</p>
<p>This was a bit deflating, and I wasn't motivated to do double the work just because of platform duopolies. Added to this was the more subtle but long-standing aversion to the 'review process' that native apps go through before appearing on the App Store: I was hesitant to invest further in an environment with little control and leverage over my own future, with a constant fear of 'reviewer rejection' and <a href="https://marco.org/2009/06/13/trust-hostility-and-the-human-side-of-apple">the rug slipping out from under me at any time</a>. So I took a step back and haven't updated many of my iOS apps since then.</p>
<p>In place, I worked on <a href="https://github.com/orgs/olsk/repositories">various web components</a> and put them together to create <a href="https://github.com/rosano#open-source-projects">about a dozen web-based projects</a>. Contrasting the experience between the web and native (i.e. iOS) worlds, I feel more enthusiastic about how the web is evolving. It can still be 'limited' in comparison to native apps, but that gap is gradually closing and most of my ideas already fit within what's currently possible.</p>
<h2 id="why-you-should-choose-web-over-native">Why you should choose Web over Native</h2>
<p>Just to review, in case it's not obvious, there are some more commonly understood reasons for choosing the web over native:</p>
<ul>
<li>Basically, all current and future devices (mobile, tablet, desktop) and operating systems (iOS, Android, macOS, Windows, Linux) are supported.</li>
<li>Projects are simpler and more cost-effective to build and deploy, with tools and skills that are easier to acquire.</li>
<li>A thriving universe with bazillions of communities spanning the entire Internet provides lots of answers to questions, and most knowledge is based on open standards and therefore highly transferable.</li>
<li>Backward compatibility is a priority, which means your project is likely to continue working despite technology evolving over time.</li>
<li>You can make changes whenever you like and have them online within seconds or minutes, as opposed to requiring third-party approval for everything, which could take days or weeks.</li>
<li>The environment makes it more and more empowering for single-person or small team operations to produce things, without requiring the resources of a large company.</li>
</ul>
<p>The challenges of the web for developers like myself is to help people 'cross the chasm' that exists due to a lack of common patterns for interacting with apps:</p>
<ul>
<li>There is <strong>no obvious 'App Store'</strong>, so people are left to search the wider web (amongst articles, videos, cat pictures, and everything else), but maybe there could be <a href="https://appindex.app/">one that celebrates the 'instant' nature of this platform</a>, or a subscription bundle like <a href="https://talk.fission.codes/t/setapp-curated-apps-bundle-subscription/2260">SetApp</a> to help with discovery.</li>
<li>There is <strong>no universal 'buy' button</strong>—every project does this their own way, but the <a href="https://ghost.org/help/setting-up-portal/">Ghost Portal</a> is becoming more and more common, and I'm trying something similar with my <a href="https://cafe.rosano.ca/t/69">Fund Button</a>.</li>
<li>The idea of an 'install' button isn't ubiquitous, and <strong>some web apps may not be mobile-friendly</strong> or <a href="https://www.inkandswitch.com/local-first">local-first</a>, but for the rest there are libraries like <a href="https://github.com/koddr/a2hs.js">a2hs.js</a> that help guide people to make accessing web apps a more familiar experience: simply click on an app icon to launch.</li>
<li>The <strong>lack of an integrated payment system</strong> means that every project needs to re-build trust and help others be comfortable enough in the environment to support them financially, but <a href="https://stripe.com/payments/checkout">Stripe Checkout</a>, <a href="https://www.paypal.com/merchantapps/appcenter/acceptpayments/checkout">PayPal Checkout</a>, and <a href="https://webmonetization.org/">Web Monetization</a> are contributing various solutions that reduce friction from this process. (I would also love to see <a href="https://opencollective.com/fiscal-hosting">fiscal hosting</a> become more prevalent so that having a legal entity is not necessary to receive money.)</li>
<li>Performance has often <strong>held back the types of applications that can be built</strong> on the web platform, but <a href="https://webassembly.org/roadmap">WebAssembly</a> will eliminate this issue for a whole class of ideas.</li>
</ul>
<p>There are plenty of people working to create open solutions to these 'missing features'; it seems like a solvable problem with time.</p>
<h2 id="what-its-like-making-native-apps">What it’s like making Native Apps</h2>
<p>(Feel free to skip this section if you'd rather not hear me complain about Apple.) I'm sharing some negative aspects of my experience making native apps with hesitation, not to be a downer but because there might be people that aren't really familiar with the developer side:</p>
<ul>
<li><strong>The paternal review process can be soul-crushing at times</strong>: reviewers don't enforce rules consistently; bad app(le)s get approved and grift people out of money or personal information; it's an anxiety-ridden process that can feel unpredictable. You may have a good impression of Apple if you've bought their products: calling them for support usually means speaking to a friendly person who takes responsibility for your issue and tries to resolve it. App Review on the other hand might as well be an outsourced company, incredibly bureaucratic, and often feels like talking to a rock; any sensuality around the Apple brand quickly vanishes under these bright white office lights as you find yourself filling out TPS reports in the developer cubicle all of a sudden.</li>
<li><strong>Large companies dominate the App Store listings and generally get better treatment</strong>. The lucky independent developers are ones who have the ear of someone who works at Apple to support them if there's a dispute and either push their app through App Review or get it featured.</li>
<li><strong>It's quite a task for an individual or small team to produce an app</strong>, create screenshots and videos, localize everything in multiple languages, respond to reviews, and keep on top of technology that changes every year. The prototypical success looks more like a large organization than two guys in a garage.</li>
<li>It feels like <strong>feeding into a device ecosystem of planned obsolescence and overconsumption</strong>, where developers and consumers need to keep upgrading—an insatiable appetite for more.</li>
<li>The certificates and signing from the build process is <strong>complex</strong> and can bring development to a halt if you don't have the right combination of XCode and macOS (hint: keep buying new Macs).</li>
<li>The expanding variety of screen sizes forces you to <strong>learn responsiveness primitives which are platform-specific</strong> and create a complex array of image and video assets at different sizes for distribution.</li>
<li>The <strong>constantly changing environment</strong> <em>will</em> break your app and force you to either hurry and accommodate the changes or receive messages from customers asking why it doesn't work anymore.</li>
<li>You can't simply share your app with a friend or even <em>install it on your own device</em> without <strong>paying rent or getting permission through App Review</strong>.</li>
</ul>
<p>There are obviously lots of positives to native platforms as well, but these kinds of things weigh down smaller operations like mine, favouring large companies with resources and time to deal with this ever-growing complexity.</p>
<h2 id="developing-for-web">Developing for Web</h2>
<p>Despite the web's challenges, there's much that excites me about its future and some of these characteristics are intrinsic to the platform:</p>
<ul>
<li>The concept of <a href="https://www.fortressofdoors.com/the-future-of-games-is-an-instant-flash-to-the-past/">instant games</a> promotes highly shareable apps via a simple link that requires no install process: show up and start.</li>
<li>Having multiple payment providers, potentially with the addition of cryptocurrencies means if you wanted to also just invent your own value system, maybe some kind of post-money coupon thing, it's possible to integrate with existing systems…</li>
<li>User-controlled personal data stores are <a href="https://0data.app/">already being used</a> on the web and will eventually make their way to native apps.</li>
<li>Edge apps that work completely in the browser are easy to mirror or fork, and virtually free to distribute: imagine having your site/app available everywhere via <a href="https://ipfs.io/">IPFS</a></li>
<li>The culture of perpetual improvement, with less focus on versioning, is normal: people do not need to 'install updates' for each app they use on every change.</li>
<li>It's just more fun and with a lower barrier to entry, which results in more diverse and dynamic communities who form part of a larger public commons: more sparks, more life, more weird.</li>
</ul>
<p><a href="https://apps.apple.com/us/developer/rcreativ/id356609408">My iOS apps</a> have been quietly free for a while. By mid February 2022, they will disappear <em>forever</em>; I'm not completely sure how this works—I understand you can continue to use them, perhaps even re-download them, but only if you already have it. I would like to eventually re-make them for the web (be welcome to <a href="https://github.com/rosano">join me</a> or <a href="https://rosano.ca/back">keep me alive</a>). In the meantime, enjoy these apps while they last. I'm jumping headfirst into a world bubbling with new possibilities and excited to develop for the largest open pool of people on the planet.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>, <a href="/log/tag/process/">process</a>, <a href="/log/tag/meta/">meta</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 0:26 am, November 14, 2021" href="/log/2021-11-14-going-fully-web/"><time datetime="2021-11-14T00:26:11-05:00" data-pagefind-sort="date[datetime]">00h26</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>Wetware of writing and doing</title>
  <link>https://rosano.ca/blog/wetware-of-writing-and-doing/</link>
  <pubDate>Thu, 28 Oct 2021 16:20:48 +0000</pubDate>
  <guid>https://rosano.ca/blog/wetware-of-writing-and-doing/</guid>
  <description>Originally presented at Tools for Thought Rocks on October 29, 2021 (with slides and timestamps). Below the video is an expanded text version of my presentation for anyone who prefers reading.&#xA;I talk often about my apps and their features, but rarely about how I use them day-to-day—partially to leave space for people to imagine their own workflows, but also because I didn&#39;t think it wouldn&#39;t be of interest to share mine. This changed after a conversation with pvh, who remarked that after reading the website for Launchlet and trying to play with the compose interface, it wasn&#39;t clear how all the parts came together until watching my tutorial videos—I found that interesting coming from someone who has plenty of experience with computer programming and its paradigms. It made me realize 1) that interfaces clearly communicating &#39;features&#39; doesn&#39;t mean people appropriate them, 2) the importance of good affordances to help people go beyond merely &#39;using the app&#39; to extending themselves in the process. The larger question to address here is: how can the environment better transmit what is possible so that those within it can take fuller advantage? It will likely take some time for me to find my own answers and implement them in projects, so for now, I feel motivated to do what is knowable and share more about how I use my apps to illuminate the wetware.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p><em>Originally presented at <a href="https://lu.ma/tftrocks-oct">Tools for Thought Rocks</a> on October 29, 2021 (with <a href="https://cafe.rosano.ca/t/presenting-wetware-of-writing-and-doing-at-tools-for-thought-rocks/148/2">slides and timestamps</a>). Below the video is an expanded text version of my presentation for anyone who prefers reading.</em></p>
<iframe width="300" height="250" src="https://www.youtube-nocookie.com/embed/McKXW-bP2HQ?start=472" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<hr>
<p>I talk often about my apps and their features, but rarely about how I use them day-to-day—partially to leave space for people to imagine their own workflows, but also because I didn't think it wouldn't be of interest to share mine. This changed after a conversation with <a href="https://www.pvh.ca">pvh</a>, who remarked that after reading the website for <a href="https://rosano.hmm.garden/01f1ghk7crrk2g4b3e37j8vpgx">Launchlet</a> and trying to play with the <a href="https://launchlet.dev/compose">compose interface</a>, it wasn't clear how all the parts came together until watching my <a href="https://rosano.hmm.garden/01f1ghgrgxq5adk0sdck3csghh">tutorial videos</a>—I found that interesting coming from someone who has plenty of experience with computer programming and its paradigms. It made me realize 1) that interfaces clearly communicating 'features' doesn't mean people appropriate them, 2) the importance of good affordances to help people go beyond merely 'using the app' to extending themselves in the process. The larger question to address here is: how can the environment better transmit what is possible so that those within it can take fuller advantage? It will likely take some time for me to find my own answers and implement them in projects, so for now, I feel motivated to do what is knowable and share more about how I use my apps to illuminate the wetware.</p>
<p>What I find myself 'doing' most of the time involves: making <a href="https://github.com/rosano">apps and websites</a>; writing <a href="https://utopia.rosano.ca/tag/reflection/">texts about personal experiences and interests</a>; recording <a href="https://vimeo.com/rosano/videos">screencasts about programming</a>; organizing <a href="https://rosano.hmm.garden/01ew1g0nvabn71z3xwpj93bbqg">online events</a>; and generally working on <a href="https://rosano.hmm.garden/01etsqssqjv29ykfphkxq01042">personal projects</a>. It all adds up, and to keep things from overwhelming me I practice a <a href="https://rosano.hmm.garden/01ett0ax73nhv89tyd5wpn145z">productivity trinity</a> which can be summarized as:</p>
<blockquote>
<ol>
<li><em>Capture everything</em>: get ideas out of your head as soon as possible.</li>
<li><em>Organize if needed</em>: move it where you are likely to encounter it.</li>
<li><em>Purge</em>: do it or delete it as soon as possible.</li>
</ol></blockquote>
<p>The mix of details below might seem chaotic, but they all relate to these three points in some way.</p>
<p>One objective of <a href="https://rosano.hmm.garden/01ett072dk3kyevtrraez4ctgf">Capture everything</a> is to keep going: I avoid interruptions like checking out links people send me and do everything later; it helps to maintain focus on whatever has my attention. Making time to read articles or watch videos can be a challenge and often gets neglected, but in my experience it usually happens eventually and delaying consumption has the benefit of obsoleting some things before you get to it. When there's a lot of collecting from streams or timelines and placing into queues help batch the process of reading, watching, listening, and writing, it helps to have a place to put things.</p>
<p>Most of my queues are digital now (although at one point I did write and organize my life with small pieces of paper): <a href="https://getpocket.com">Pocket</a> is for reading because it syncs with my e-reader (to read without internet access, and with something closer to paper than a screen, and without the distractions of my computer or phone), and for checking out websites because I like to close all my browser tabs as soon as possible; <a href="https://1feed.app">1Feed</a> is for newsletters (as it interrupts my flow to read long text while checking e-mail), and for following Internet things with a timeline presentation; <a href="https://rosano.hmm.garden/01f3t6hb8645evfj9k0yjvpsy9">Joybox</a> is for audiovisual media <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=13m18s">segmented with tags for listening, watching, and passive consumption</a>; <a href="https://rosano.hmm.garden/01f1qb660m91xyn050bn79dhnz">Kommit</a> is for words and phrases that I want to learn from foreign languages; Launchlet is for <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=21m45s">shortcuts and removing friction from workflows</a>; <a href="https://rosano.hmm.garden/01f1km6a1g3ph2jd3j7nx0qd02">Emoji Log</a> is for <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=23m40s">personal tracking and time-bound journaling</a>, like books I read or recipes I cook, or more personal thoughts and monitoring emotions. For everything else, there's <a href="https://rosano.hmm.garden/01etj3kw7w4zyz1f5ktnnagn7n">Hyperdraft</a>, which is mostly <em><a href="https://utopia.rosano.ca/discussion-is-ephemeral">reference</a></em>-oriented and not time-bound—it functions as: dashboards of to-dos for dozens of projects; <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=36m32s">space to mix private and public writing</a>; an environment that spans the entire arc of 'capture, brainstorm, organize, outline, draft, write, publish' that is on all my devices and <a href="https://www.inkandswitch.com/local-first.html">local-first</a>, thus minimizing discontinuities from needing to be in a specific place or not having internet access; writing queues my for various newsletters and a <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=39m56s">templating system</a> for <a href="https://rosano.hmm.garden/01f58x4bdpm6530ba58wxjm30w">Ephemerata</a>; quick jot-pads for when I'm not sure where to put something; and a convenient place for <a href="https://rosano.hmm.garden/01et7vrq0dzezj2aj0vkr4t2zy">Ideas increment automatically when they are captured</a>.</p>
<p>All these queues provide, on the one hand, a sense of space that I find relaxing because there is a place to put things, and on the other hand, an uneasiness about being overwhelmed as they are easy to neglect and intentionally out of sight; the serenity is stronger when you trust yourself to attend to them. How does one maintain balance and create healthy rhythms for processing these queues? Many of my strategies help me avoid being 'completist' and find reasons to purge things when there's a backlog: if I read until the halfway point and haven't found anything interesting, if the video doesn't hold my attention, if I haven't moved on it in weeks, if it's expired or irrelevant now, into the void it goes. It took me a while to realize that 'delete' can mean &quot;I don't want to be reminded of this&quot;; we have to train digital systems to not show things 'forever'. I try to prune my lists frequently in addition to actually doing things, but it's hard for me to repeat at specific intervals as life tends to get in the way: I've found it useful to observe how I feel and find the cadence that works for me—we are not machines. One rhythm I frequently engage in with enthusiasm is <a href="https://rosano.ca/blog/work-then-dont/">work digress cycle</a>.</p>
<p>I've been surprised at how this idea of queues helps me 'write without magic'. It feels like writing happens without great pain or earnestness, and I think of it reductively as &quot;mostly just moving things around&quot;. Let's say there's 3% which is creative personal expression (that everyone has but in their own way), and 97% which is stuff that requires no talent, such as: capturing ideas as they occur, allowing details to passively collect over time, periodically perusing through the old to find potential connections to the new… Here the queues function like buckets collecting drips of water: some have zero drops, some have one, some have a few; eventually some have 'enough' or are overflowing and can be <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=42m59s">marked as prompts for finalizing</a>, which for me implies taking a queue or list of items to sort, group, massage, tidy, and publish. It's easier than confronting a blank screen, or twiddling thumbs to figure out how to start, and showcases the power of <a href="https://rosano.hmm.garden/01et5a1fy7zy4pvqe8nywg471m">Capturing creates a space for 'the answer to go'</a>: with little effort, I find myself having lots to write about, unintimidated by the process of finishing. I think everyone has the necessary pieces to do this, but most people get stuck in their 97%, which is a tractable problem that can be encroached upon by finding tools and workflows that fit, making things simpler or perhaps effortless, and cultivating calm spaces to write and reason that are free from judgement.</p>
<p>Understanding the wetware is not always obvious and I'm still not sure of how it should be presented, be it in words or an interface. I hope that with plenty of examples of how I use my apps, it helps unveil how they can be leveraged to do more. In the future, I would hope to integrate an understanding of my own processes into the onboarding of my software so that it doesn't require more than the experience of using the app to feel empowered by all its possibilities. I might summarize this first exploration as 1) collect, organize, purge with lots of queues, 2) let time work in your favour, and 3) spend time on what motivates you.</p>
<hr>
<p>P.S. Thanks to <a href="https://jessmart.in">Jess Martin</a> and <a href="https://toolsforthought.rocks">Tools for Thought Rocks</a> community for the invitation to present, and the prompt—this wouldn't exist if it wasn't for your concept of 'Workflow Walkthroughs' 🙏🏽.</p>
<hr>
<p>P.P.S. For anyone who made it this far, please enjoy this short video of my old-time <a href="https://youtu.be/sctotQrchsk">analog to-do dashboard</a>.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 12:20 pm, October 28, 2021" href="/blog/wetware-of-writing-and-doing/"><time datetime="2021-10-28T12:20:48-04:00" data-pagefind-sort="date[datetime]">12h20</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, October 28, 2021 12h20</title>
  <link>https://rosano.ca/log/2021-10-28-wetware-of-writing-and-doing/</link>
  <pubDate>Thu, 28 Oct 2021 12:20:48 -0400</pubDate>
  <guid>https://rosano.ca/log/2021-10-28-wetware-of-writing-and-doing/</guid>
  <description>Originally presented at Tools for Thought Rocks on October 29, 2021 (with slides and timestamps). Below the video is an expanded text version of my presentation for anyone who prefers reading.&#xA;I talk often about my apps and their features, but rarely about how I use them day-to-day—partially to leave space for people to imagine their own workflows, but also because I didn&#39;t think it wouldn&#39;t be of interest to share mine. This changed after a conversation with pvh, who remarked that after reading the website for Launchlet and trying to play with the compose interface, it wasn&#39;t clear how all the parts came together until watching my tutorial videos—I found that interesting coming from someone who has plenty of experience with computer programming and its paradigms. It made me realize 1) that interfaces clearly communicating &#39;features&#39; doesn&#39;t mean people appropriate them, 2) the importance of good affordances to help people go beyond merely &#39;using the app&#39; to extending themselves in the process. The larger question to address here is: how can the environment better transmit what is possible so that those within it can take fuller advantage? It will likely take some time for me to find my own answers and implement them in projects, so for now, I feel motivated to do what is knowable and share more about how I use my apps to illuminate the wetware.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p><em>Originally presented at <a href="https://lu.ma/tftrocks-oct">Tools for Thought Rocks</a> on October 29, 2021 (with <a href="https://cafe.rosano.ca/t/presenting-wetware-of-writing-and-doing-at-tools-for-thought-rocks/148/2">slides and timestamps</a>). Below the video is an expanded text version of my presentation for anyone who prefers reading.</em></p>
<iframe width="300" height="250" src="https://www.youtube-nocookie.com/embed/McKXW-bP2HQ?start=472" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<hr>
<p>I talk often about my apps and their features, but rarely about how I use them day-to-day—partially to leave space for people to imagine their own workflows, but also because I didn't think it wouldn't be of interest to share mine. This changed after a conversation with <a href="https://www.pvh.ca">pvh</a>, who remarked that after reading the website for <a href="https://rosano.hmm.garden/01f1ghk7crrk2g4b3e37j8vpgx">Launchlet</a> and trying to play with the <a href="https://launchlet.dev/compose">compose interface</a>, it wasn't clear how all the parts came together until watching my <a href="https://rosano.hmm.garden/01f1ghgrgxq5adk0sdck3csghh">tutorial videos</a>—I found that interesting coming from someone who has plenty of experience with computer programming and its paradigms. It made me realize 1) that interfaces clearly communicating 'features' doesn't mean people appropriate them, 2) the importance of good affordances to help people go beyond merely 'using the app' to extending themselves in the process. The larger question to address here is: how can the environment better transmit what is possible so that those within it can take fuller advantage? It will likely take some time for me to find my own answers and implement them in projects, so for now, I feel motivated to do what is knowable and share more about how I use my apps to illuminate the wetware.</p>
<p>What I find myself 'doing' most of the time involves: making <a href="https://github.com/rosano">apps and websites</a>; writing <a href="https://utopia.rosano.ca/tag/reflection/">texts about personal experiences and interests</a>; recording <a href="https://vimeo.com/rosano/videos">screencasts about programming</a>; organizing <a href="https://rosano.hmm.garden/01ew1g0nvabn71z3xwpj93bbqg">online events</a>; and generally working on <a href="https://rosano.hmm.garden/01etsqssqjv29ykfphkxq01042">personal projects</a>. It all adds up, and to keep things from overwhelming me I practice a <a href="https://rosano.hmm.garden/01ett0ax73nhv89tyd5wpn145z">productivity trinity</a> which can be summarized as:</p>
<blockquote>
<ol>
<li><em>Capture everything</em>: get ideas out of your head as soon as possible.</li>
<li><em>Organize if needed</em>: move it where you are likely to encounter it.</li>
<li><em>Purge</em>: do it or delete it as soon as possible.</li>
</ol></blockquote>
<p>The mix of details below might seem chaotic, but they all relate to these three points in some way.</p>
<p>One objective of <a href="https://rosano.hmm.garden/01ett072dk3kyevtrraez4ctgf">Capture everything</a> is to keep going: I avoid interruptions like checking out links people send me and do everything later; it helps to maintain focus on whatever has my attention. Making time to read articles or watch videos can be a challenge and often gets neglected, but in my experience it usually happens eventually and delaying consumption has the benefit of obsoleting some things before you get to it. When there's a lot of collecting from streams or timelines and placing into queues help batch the process of reading, watching, listening, and writing, it helps to have a place to put things.</p>
<p>Most of my queues are digital now (although at one point I did write and organize my life with small pieces of paper): <a href="https://getpocket.com">Pocket</a> is for reading because it syncs with my e-reader (to read without internet access, and with something closer to paper than a screen, and without the distractions of my computer or phone), and for checking out websites because I like to close all my browser tabs as soon as possible; <a href="https://1feed.app">1Feed</a> is for newsletters (as it interrupts my flow to read long text while checking e-mail), and for following Internet things with a timeline presentation; <a href="https://rosano.hmm.garden/01f3t6hb8645evfj9k0yjvpsy9">Joybox</a> is for audiovisual media <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=13m18s">segmented with tags for listening, watching, and passive consumption</a>; <a href="https://rosano.hmm.garden/01f1qb660m91xyn050bn79dhnz">Kommit</a> is for words and phrases that I want to learn from foreign languages; Launchlet is for <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=21m45s">shortcuts and removing friction from workflows</a>; <a href="https://rosano.hmm.garden/01f1km6a1g3ph2jd3j7nx0qd02">Emoji Log</a> is for <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=23m40s">personal tracking and time-bound journaling</a>, like books I read or recipes I cook, or more personal thoughts and monitoring emotions. For everything else, there's <a href="https://rosano.hmm.garden/01etj3kw7w4zyz1f5ktnnagn7n">Hyperdraft</a>, which is mostly <em><a href="https://utopia.rosano.ca/discussion-is-ephemeral">reference</a></em>-oriented and not time-bound—it functions as: dashboards of to-dos for dozens of projects; <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=36m32s">space to mix private and public writing</a>; an environment that spans the entire arc of 'capture, brainstorm, organize, outline, draft, write, publish' that is on all my devices and <a href="https://www.inkandswitch.com/local-first.html">local-first</a>, thus minimizing discontinuities from needing to be in a specific place or not having internet access; writing queues my for various newsletters and a <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=39m56s">templating system</a> for <a href="https://rosano.hmm.garden/01f58x4bdpm6530ba58wxjm30w">Ephemerata</a>; quick jot-pads for when I'm not sure where to put something; and a convenient place for <a href="https://rosano.hmm.garden/01et7vrq0dzezj2aj0vkr4t2zy">Ideas increment automatically when they are captured</a>.</p>
<p>All these queues provide, on the one hand, a sense of space that I find relaxing because there is a place to put things, and on the other hand, an uneasiness about being overwhelmed as they are easy to neglect and intentionally out of sight; the serenity is stronger when you trust yourself to attend to them. How does one maintain balance and create healthy rhythms for processing these queues? Many of my strategies help me avoid being 'completist' and find reasons to purge things when there's a backlog: if I read until the halfway point and haven't found anything interesting, if the video doesn't hold my attention, if I haven't moved on it in weeks, if it's expired or irrelevant now, into the void it goes. It took me a while to realize that 'delete' can mean &quot;I don't want to be reminded of this&quot;; we have to train digital systems to not show things 'forever'. I try to prune my lists frequently in addition to actually doing things, but it's hard for me to repeat at specific intervals as life tends to get in the way: I've found it useful to observe how I feel and find the cadence that works for me—we are not machines. One rhythm I frequently engage in with enthusiasm is <a href="https://rosano.ca/blog/work-then-dont/">work digress cycle</a>.</p>
<p>I've been surprised at how this idea of queues helps me 'write without magic'. It feels like writing happens without great pain or earnestness, and I think of it reductively as &quot;mostly just moving things around&quot;. Let's say there's 3% which is creative personal expression (that everyone has but in their own way), and 97% which is stuff that requires no talent, such as: capturing ideas as they occur, allowing details to passively collect over time, periodically perusing through the old to find potential connections to the new… Here the queues function like buckets collecting drips of water: some have zero drops, some have one, some have a few; eventually some have 'enough' or are overflowing and can be <a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=42m59s">marked as prompts for finalizing</a>, which for me implies taking a queue or list of items to sort, group, massage, tidy, and publish. It's easier than confronting a blank screen, or twiddling thumbs to figure out how to start, and showcases the power of <a href="https://rosano.hmm.garden/01et5a1fy7zy4pvqe8nywg471m">Capturing creates a space for 'the answer to go'</a>: with little effort, I find myself having lots to write about, unintimidated by the process of finishing. I think everyone has the necessary pieces to do this, but most people get stuck in their 97%, which is a tractable problem that can be encroached upon by finding tools and workflows that fit, making things simpler or perhaps effortless, and cultivating calm spaces to write and reason that are free from judgement.</p>
<p>Understanding the wetware is not always obvious and I'm still not sure of how it should be presented, be it in words or an interface. I hope that with plenty of examples of how I use my apps, it helps unveil how they can be leveraged to do more. In the future, I would hope to integrate an understanding of my own processes into the onboarding of my software so that it doesn't require more than the experience of using the app to feel empowered by all its possibilities. I might summarize this first exploration as 1) collect, organize, purge with lots of queues, 2) let time work in your favour, and 3) spend time on what motivates you.</p>
<hr>
<p>P.S. Thanks to <a href="https://jessmart.in">Jess Martin</a> and <a href="https://toolsforthought.rocks">Tools for Thought Rocks</a> community for the invitation to present, and the prompt—this wouldn't exist if it wasn't for your concept of 'Workflow Walkthroughs' 🙏🏽.</p>
<hr>
<p>P.P.S. For anyone who made it this far, please enjoy this short video of my old-time <a href="https://youtu.be/sctotQrchsk">analog to-do dashboard</a>.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 12:20 pm, October 28, 2021" href="/log/2021-10-28-wetware-of-writing-and-doing/"><time datetime="2021-10-28T12:20:48-04:00" data-pagefind-sort="date[datetime]">12h20</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>Presenting &#39;wetware of writing and doing&#39; at Tools for Thought Rocks</title>
  <link>https://rosano.ca/blog/presenting-wetware-of-writing-and-doing-at-tools-for-thought-rocks/</link>
  <pubDate>Tue, 26 Oct 2021 15:13:40 +0000</pubDate>
  <guid>https://rosano.ca/blog/presenting-wetware-of-writing-and-doing-at-tools-for-thought-rocks/</guid>
  <description>I talk often about my apps, but rarely about how I use them to make things happen. Going share some of my process on October 29th at Tools for Thought Rocks.&#xA;ToolsForThought.Rocks October Meeting&#xA;Video for the event with timestamps and links below. See also the chat log.&#xA;time section notes 00:00 Introduction 07:52 wetware of writing and doing presentation links 08:17 doing, creating, producing 09:39 productivity trinity: capture, organize, purge Productivity Trinity 10:47 keep going 12:08 queues 13:18 joybox for audiovisual media Joybox 15:46 kommit for committing to memory Kommit 17:03 Shareability Joybox source code 18:39 Maintaining software for the long-term 21:45 launchlet for removing friction Launchlet 23:40 emoji log for time-bound journaling and tracking Emoji Log 25:51 Misusing tools on purpose 27:27 Data structures 28:18 Re-usable interface components OLSKCatalog 29:18 Linus Lee and interface consistency between projects thesephist.com 30:30 Tool-making and &#39;handedness&#39; 31:28 Formats for machines versus humans 35:32 hyperdraft for reference, writing, and publishing Hyperdraft 42:12 writing without magic 45:28 Technical stack 46:45 Update your website while typing 48:45 Building your own tool versus using an existing one 51:09 Writing emerges from accumulated material 52:40 Autocomplete helps reference the past 53:28 Twitter likes as a picture of someone&#39;s brain 55:35 POSSE versus PESOS POSSE 57:13 A note-taking Twitter client hybrid 59:08 Cross-platform standards for public and private posts Export considered harmful 61:44 Andy Matuschak tweets as an Agora 62:25 Making app-writing easier 67:13 Safely publishing private things 71:55 Developing apps without authentication 74:36 Throwaway software 75:42 Fragmented forks are hard to merge </description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p>I talk often about my apps, but rarely about how I use them to make things happen. Going share some of my process on October 29th at Tools for Thought Rocks.</p>
<p><a href="https://lu.ma/tftrocks-oct">ToolsForThought.Rocks October Meeting</a></p>
<hr>
<p>Video for the event with timestamps and links below. See also the <a href="https://raw.githubusercontent.com/ToolsForThoughtRocks/ToolsForThoughtLogSeq/master/pages/October%202021%20Chat%20Log.md">chat log</a>.</p>
<iframe width="300" height="250" src="https://www.youtube-nocookie.com/embed/McKXW-bP2HQ?start=472" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<table>
  <thead>
      <tr>
          <th>time</th>
          <th>section</th>
          <th>notes</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>00:00</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=00m00s">Introduction</a></td>
          <td></td>
      </tr>
      <tr>
          <td>07:52</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=07m52s">wetware of writing and doing</a></td>
          <td><a href="https://rosano.ca/wetware">presentation links</a></td>
      </tr>
      <tr>
          <td>08:17</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=08m17s">doing, creating, producing</a></td>
          <td></td>
      </tr>
      <tr>
          <td>09:39</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=09m39s">productivity trinity: capture, organize, purge</a></td>
          <td><a href="https://rosano.hmm.garden/01ett0ax73nhv89tyd5wpn145z">Productivity Trinity</a></td>
      </tr>
      <tr>
          <td>10:47</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=10m47s">keep going</a></td>
          <td></td>
      </tr>
      <tr>
          <td>12:08</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=12m08s">queues</a></td>
          <td></td>
      </tr>
      <tr>
          <td>13:18</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=13m18s">joybox for audiovisual media</a></td>
          <td><a href="https://joybox.rosano.ca">Joybox</a></td>
      </tr>
      <tr>
          <td>15:46</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=15m46s">kommit for committing to memory</a></td>
          <td><a href="https://kommit.rosano.ca">Kommit</a></td>
      </tr>
      <tr>
          <td>17:03</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=17m03s">Shareability</a></td>
          <td><a href="https://github.com/joyboxapp/joybox">Joybox source code</a></td>
      </tr>
      <tr>
          <td>18:39</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=18m39s">Maintaining software for the long-term</a></td>
          <td></td>
      </tr>
      <tr>
          <td>21:45</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=21m45s">launchlet for removing friction</a></td>
          <td><a href="https://launchlet.dev">Launchlet</a></td>
      </tr>
      <tr>
          <td>23:40</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=23m40s">emoji log for time-bound journaling and tracking</a></td>
          <td><a href="https://emojilog.rosano.ca">Emoji Log</a></td>
      </tr>
      <tr>
          <td>25:51</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=25m51s">Misusing tools on purpose</a></td>
          <td></td>
      </tr>
      <tr>
          <td>27:27</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=27m27s">Data structures</a></td>
          <td></td>
      </tr>
      <tr>
          <td>28:18</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=28m18s">Re-usable interface components</a></td>
          <td><a href="https://github.com/olsk/OLSKCatalog">OLSKCatalog</a></td>
      </tr>
      <tr>
          <td>29:18</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=29m18s">Linus Lee and interface consistency between projects</a></td>
          <td><a href="https://thesephist.com">thesephist.com</a></td>
      </tr>
      <tr>
          <td>30:30</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=30m30s">Tool-making and 'handedness'</a></td>
          <td></td>
      </tr>
      <tr>
          <td>31:28</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=31m28s">Formats for machines versus humans</a></td>
          <td></td>
      </tr>
      <tr>
          <td>35:32</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=35m32s">hyperdraft for reference, writing, and publishing</a></td>
          <td><a href="https://hyperdraft.rosano.ca">Hyperdraft</a></td>
      </tr>
      <tr>
          <td>42:12</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=42m12s">writing without magic</a></td>
          <td></td>
      </tr>
      <tr>
          <td>45:28</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=45m28s">Technical stack</a></td>
          <td></td>
      </tr>
      <tr>
          <td>46:45</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=46m45s">Update your website while typing</a></td>
          <td></td>
      </tr>
      <tr>
          <td>48:45</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=48m45s">Building your own tool versus using an existing one</a></td>
          <td></td>
      </tr>
      <tr>
          <td>51:09</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=51m09s">Writing emerges from accumulated material</a></td>
          <td></td>
      </tr>
      <tr>
          <td>52:40</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=52m40s">Autocomplete helps reference the past</a></td>
          <td></td>
      </tr>
      <tr>
          <td>53:28</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=53m28s">Twitter likes as a picture of someone's brain</a></td>
          <td></td>
      </tr>
      <tr>
          <td>55:35</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=55m35s">POSSE versus PESOS</a></td>
          <td><a href="https://indieweb.org/POSSE">POSSE</a></td>
      </tr>
      <tr>
          <td>57:13</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=57m13s">A note-taking Twitter client hybrid</a></td>
          <td></td>
      </tr>
      <tr>
          <td>59:08</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=59m08s">Cross-platform standards for public and private posts</a></td>
          <td><a href="https://twitter.com/andy%5Fmatuschak/status/1452438176996347907">Export considered harmful</a></td>
      </tr>
      <tr>
          <td>61:44</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=61m44s">Andy Matuschak tweets as an Agora</a></td>
          <td></td>
      </tr>
      <tr>
          <td>62:25</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=62m25s">Making app-writing easier</a></td>
          <td></td>
      </tr>
      <tr>
          <td>67:13</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=67m13s">Safely publishing private things</a></td>
          <td></td>
      </tr>
      <tr>
          <td>71:55</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=71m55s">Developing apps without authentication</a></td>
          <td></td>
      </tr>
      <tr>
          <td>74:36</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=74m36s">Throwaway software</a></td>
          <td></td>
      </tr>
      <tr>
          <td>75:42</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=75m42s">Fragmented forks are hard to merge</a></td>
          <td></td>
      </tr>
  </tbody>
</table>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>, <a href="/log/tag/process/">process</a>, <a href="/log/tag/event/">event</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 11:13 am, October 26, 2021" href="/blog/presenting-wetware-of-writing-and-doing-at-tools-for-thought-rocks/"><time datetime="2021-10-26T11:13:40-04:00" data-pagefind-sort="date[datetime]">11h13</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, October 26, 2021 11h13</title>
  <link>https://rosano.ca/log/2021-10-26-presenting-wetware-of-writing-and-doing-at-tools-for-thought-rocks/</link>
  <pubDate>Tue, 26 Oct 2021 11:13:40 -0400</pubDate>
  <guid>https://rosano.ca/log/2021-10-26-presenting-wetware-of-writing-and-doing-at-tools-for-thought-rocks/</guid>
  <description>I talk often about my apps, but rarely about how I use them to make things happen. Going share some of my process on October 29th at Tools for Thought Rocks.&#xA;ToolsForThought.Rocks October Meeting&#xA;Video for the event with timestamps and links below. See also the chat log.&#xA;time section notes 00:00 Introduction 07:52 wetware of writing and doing presentation links 08:17 doing, creating, producing 09:39 productivity trinity: capture, organize, purge Productivity Trinity 10:47 keep going 12:08 queues 13:18 joybox for audiovisual media Joybox 15:46 kommit for committing to memory Kommit 17:03 Shareability Joybox source code 18:39 Maintaining software for the long-term 21:45 launchlet for removing friction Launchlet 23:40 emoji log for time-bound journaling and tracking Emoji Log 25:51 Misusing tools on purpose 27:27 Data structures 28:18 Re-usable interface components OLSKCatalog 29:18 Linus Lee and interface consistency between projects thesephist.com 30:30 Tool-making and &#39;handedness&#39; 31:28 Formats for machines versus humans 35:32 hyperdraft for reference, writing, and publishing Hyperdraft 42:12 writing without magic 45:28 Technical stack 46:45 Update your website while typing 48:45 Building your own tool versus using an existing one 51:09 Writing emerges from accumulated material 52:40 Autocomplete helps reference the past 53:28 Twitter likes as a picture of someone&#39;s brain 55:35 POSSE versus PESOS POSSE 57:13 A note-taking Twitter client hybrid 59:08 Cross-platform standards for public and private posts Export considered harmful 61:44 Andy Matuschak tweets as an Agora 62:25 Making app-writing easier 67:13 Safely publishing private things 71:55 Developing apps without authentication 74:36 Throwaway software 75:42 Fragmented forks are hard to merge </description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p>I talk often about my apps, but rarely about how I use them to make things happen. Going share some of my process on October 29th at Tools for Thought Rocks.</p>
<p><a href="https://lu.ma/tftrocks-oct">ToolsForThought.Rocks October Meeting</a></p>
<hr>
<p>Video for the event with timestamps and links below. See also the <a href="https://raw.githubusercontent.com/ToolsForThoughtRocks/ToolsForThoughtLogSeq/master/pages/October%202021%20Chat%20Log.md">chat log</a>.</p>
<iframe width="300" height="250" src="https://www.youtube-nocookie.com/embed/McKXW-bP2HQ?start=472" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<table>
  <thead>
      <tr>
          <th>time</th>
          <th>section</th>
          <th>notes</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>00:00</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=00m00s">Introduction</a></td>
          <td></td>
      </tr>
      <tr>
          <td>07:52</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=07m52s">wetware of writing and doing</a></td>
          <td><a href="https://rosano.ca/wetware">presentation links</a></td>
      </tr>
      <tr>
          <td>08:17</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=08m17s">doing, creating, producing</a></td>
          <td></td>
      </tr>
      <tr>
          <td>09:39</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=09m39s">productivity trinity: capture, organize, purge</a></td>
          <td><a href="https://rosano.hmm.garden/01ett0ax73nhv89tyd5wpn145z">Productivity Trinity</a></td>
      </tr>
      <tr>
          <td>10:47</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=10m47s">keep going</a></td>
          <td></td>
      </tr>
      <tr>
          <td>12:08</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=12m08s">queues</a></td>
          <td></td>
      </tr>
      <tr>
          <td>13:18</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=13m18s">joybox for audiovisual media</a></td>
          <td><a href="https://joybox.rosano.ca">Joybox</a></td>
      </tr>
      <tr>
          <td>15:46</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=15m46s">kommit for committing to memory</a></td>
          <td><a href="https://kommit.rosano.ca">Kommit</a></td>
      </tr>
      <tr>
          <td>17:03</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=17m03s">Shareability</a></td>
          <td><a href="https://github.com/joyboxapp/joybox">Joybox source code</a></td>
      </tr>
      <tr>
          <td>18:39</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=18m39s">Maintaining software for the long-term</a></td>
          <td></td>
      </tr>
      <tr>
          <td>21:45</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=21m45s">launchlet for removing friction</a></td>
          <td><a href="https://launchlet.dev">Launchlet</a></td>
      </tr>
      <tr>
          <td>23:40</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=23m40s">emoji log for time-bound journaling and tracking</a></td>
          <td><a href="https://emojilog.rosano.ca">Emoji Log</a></td>
      </tr>
      <tr>
          <td>25:51</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=25m51s">Misusing tools on purpose</a></td>
          <td></td>
      </tr>
      <tr>
          <td>27:27</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=27m27s">Data structures</a></td>
          <td></td>
      </tr>
      <tr>
          <td>28:18</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=28m18s">Re-usable interface components</a></td>
          <td><a href="https://github.com/olsk/OLSKCatalog">OLSKCatalog</a></td>
      </tr>
      <tr>
          <td>29:18</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=29m18s">Linus Lee and interface consistency between projects</a></td>
          <td><a href="https://thesephist.com">thesephist.com</a></td>
      </tr>
      <tr>
          <td>30:30</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=30m30s">Tool-making and 'handedness'</a></td>
          <td></td>
      </tr>
      <tr>
          <td>31:28</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=31m28s">Formats for machines versus humans</a></td>
          <td></td>
      </tr>
      <tr>
          <td>35:32</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=35m32s">hyperdraft for reference, writing, and publishing</a></td>
          <td><a href="https://hyperdraft.rosano.ca">Hyperdraft</a></td>
      </tr>
      <tr>
          <td>42:12</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=42m12s">writing without magic</a></td>
          <td></td>
      </tr>
      <tr>
          <td>45:28</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=45m28s">Technical stack</a></td>
          <td></td>
      </tr>
      <tr>
          <td>46:45</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=46m45s">Update your website while typing</a></td>
          <td></td>
      </tr>
      <tr>
          <td>48:45</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=48m45s">Building your own tool versus using an existing one</a></td>
          <td></td>
      </tr>
      <tr>
          <td>51:09</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=51m09s">Writing emerges from accumulated material</a></td>
          <td></td>
      </tr>
      <tr>
          <td>52:40</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=52m40s">Autocomplete helps reference the past</a></td>
          <td></td>
      </tr>
      <tr>
          <td>53:28</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=53m28s">Twitter likes as a picture of someone's brain</a></td>
          <td></td>
      </tr>
      <tr>
          <td>55:35</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=55m35s">POSSE versus PESOS</a></td>
          <td><a href="https://indieweb.org/POSSE">POSSE</a></td>
      </tr>
      <tr>
          <td>57:13</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=57m13s">A note-taking Twitter client hybrid</a></td>
          <td></td>
      </tr>
      <tr>
          <td>59:08</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=59m08s">Cross-platform standards for public and private posts</a></td>
          <td><a href="https://twitter.com/andy%5Fmatuschak/status/1452438176996347907">Export considered harmful</a></td>
      </tr>
      <tr>
          <td>61:44</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=61m44s">Andy Matuschak tweets as an Agora</a></td>
          <td></td>
      </tr>
      <tr>
          <td>62:25</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=62m25s">Making app-writing easier</a></td>
          <td></td>
      </tr>
      <tr>
          <td>67:13</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=67m13s">Safely publishing private things</a></td>
          <td></td>
      </tr>
      <tr>
          <td>71:55</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=71m55s">Developing apps without authentication</a></td>
          <td></td>
      </tr>
      <tr>
          <td>74:36</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=74m36s">Throwaway software</a></td>
          <td></td>
      </tr>
      <tr>
          <td>75:42</td>
          <td><a href="https://www.youtube.com/watch?v=McKXW-bP2HQ&amp;t=75m42s">Fragmented forks are hard to merge</a></td>
          <td></td>
      </tr>
  </tbody>
</table>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>, <a href="/log/tag/process/">process</a>, <a href="/log/tag/event/">event</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 11:13 am, October 26, 2021" href="/log/2021-10-26-presenting-wetware-of-writing-and-doing-at-tools-for-thought-rocks/"><time datetime="2021-10-26T11:13:40-04:00" data-pagefind-sort="date[datetime]">11h13</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>Talking entrepreneurship with Amandine Flachs and Yinch — June 18th, 2021</title>
  <link>https://rosano.ca/blog/talking-entrepreneurship-with-amandine-flachs-and-yinch-june-18th-2021/</link>
  <pubDate>Fri, 18 Jun 2021 03:00:00 +0000</pubDate>
  <guid>https://rosano.ca/blog/talking-entrepreneurship-with-amandine-flachs-and-yinch-june-18th-2021/</guid>
  <description></description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><iframe width="300" height="250" src="https://www.youtube-nocookie.com/embed/H2MrmAcSiYg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>, <a href="/log/tag/event/">event</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 0:00 am, June 18, 2021" href="/blog/talking-entrepreneurship-with-amandine-flachs-and-yinch-june-18th-2021/"><time datetime="2021-06-18T00:00:00-03:00" data-pagefind-sort="date[datetime]">00h00</time></a>

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

		<span><a href="/log/country/brazil/">Brazil</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Friday, June 18, 2021 00h00</title>
  <link>https://rosano.ca/log/2021-06-18-talking-entrepreneurship-with-amandine-flachs-and-yinch-june-18th-2021/</link>
  <pubDate>Fri, 18 Jun 2021 00:00:00 -0300</pubDate>
  <guid>https://rosano.ca/log/2021-06-18-talking-entrepreneurship-with-amandine-flachs-and-yinch-june-18th-2021/</guid>
  <description></description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><iframe width="300" height="250" src="https://www.youtube-nocookie.com/embed/H2MrmAcSiYg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>, <a href="/log/tag/event/">event</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 0:00 am, June 18, 2021" href="/log/2021-06-18-talking-entrepreneurship-with-amandine-flachs-and-yinch-june-18th-2021/"><time datetime="2021-06-18T00:00:00-03:00" data-pagefind-sort="date[datetime]">00h00</time></a>

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

		<span><a href="/log/country/brazil/">Brazil</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Timezone-free apps</title>
  <link>https://rosano.ca/blog/timezone-free-apps/</link>
  <pubDate>Sun, 25 Apr 2021 21:37:32 +0000</pubDate>
  <guid>https://rosano.ca/blog/timezone-free-apps/</guid>
  <description>The traditional approach to storing time information in software is to convert to a machine-centered timezone such as Coordinated Universal Time (or UTC), and then convert it back to local time for the interface.&#xA;This approach is precise but at the cost of some mental dissonance when the timezone changes: you did something at 8pm yesterday, then the timezone changed (because you travelled somewhere far away, or because of daylight savings time), and now your late evening activity shows as 3pm or something else.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p>The traditional approach to storing time information in software is to convert to a machine-centered timezone such as <a href="https://en.wikipedia.org/wiki/Coordinated%5FUniversal%5FTime">Coordinated Universal Time</a> (or UTC), and then convert it back to local time for the interface.</p>
<p>This approach is precise but at the cost of some mental dissonance when the timezone changes: you did something at 8pm yesterday, then the timezone changed (because you travelled somewhere far away, or because of daylight savings time), and now your late evening activity shows as 3pm or something else.</p>
<p>When there needs to be coordination between multiple entities, the precise method is necessary, but when the record is personal—only relevant to the one person that creates it—it may make more sense to register time with a more human-centered approach. Applications for this could be journal entries or voice recordings: looking back, it can be more meaningful in these use cases to know in which part of the day the events occured, rather than in machine time.</p>
<p>In place of storing timezone information, local time can be translated to a fixed representation (using UTC, for example): 8pm local time is stored as 8pm UTC, and it is translated back for the interface as 8pm local time. Timezone information is effectively stripped, which is 'wrong' from a precision perspective, but it means that if you did something at 8pm and then changed timezones, you could look back on that event and it would still be displayed as 8pm, which is more personally meaningful than the equivalent in machine time.</p>
<p>An issue with this alternative representation is that when you 'gain time' by traveling, you may have events out of order—you did something at 8pm, then you changed timezones and did something subsequent at 7pm <em>the same day</em>—but it may still be worthwhile depending on how often you change timezones and how much precision you need. This method aims to center the representation of time to reflect one's perception of night and day.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 6:37 pm, April 25, 2021" href="/blog/timezone-free-apps/"><time datetime="2021-04-25T18:37:32-03:00" data-pagefind-sort="date[datetime]">18h37</time></a>

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

		<span><a href="/log/country/brazil/">Brazil</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Sunday, April 25, 2021 18h37</title>
  <link>https://rosano.ca/log/2021-04-25-timezone-free-apps/</link>
  <pubDate>Sun, 25 Apr 2021 18:37:32 -0300</pubDate>
  <guid>https://rosano.ca/log/2021-04-25-timezone-free-apps/</guid>
  <description>The traditional approach to storing time information in software is to convert to a machine-centered timezone such as Coordinated Universal Time (or UTC), and then convert it back to local time for the interface.&#xA;This approach is precise but at the cost of some mental dissonance when the timezone changes: you did something at 8pm yesterday, then the timezone changed (because you travelled somewhere far away, or because of daylight savings time), and now your late evening activity shows as 3pm or something else.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><p>The traditional approach to storing time information in software is to convert to a machine-centered timezone such as <a href="https://en.wikipedia.org/wiki/Coordinated%5FUniversal%5FTime">Coordinated Universal Time</a> (or UTC), and then convert it back to local time for the interface.</p>
<p>This approach is precise but at the cost of some mental dissonance when the timezone changes: you did something at 8pm yesterday, then the timezone changed (because you travelled somewhere far away, or because of daylight savings time), and now your late evening activity shows as 3pm or something else.</p>
<p>When there needs to be coordination between multiple entities, the precise method is necessary, but when the record is personal—only relevant to the one person that creates it—it may make more sense to register time with a more human-centered approach. Applications for this could be journal entries or voice recordings: looking back, it can be more meaningful in these use cases to know in which part of the day the events occured, rather than in machine time.</p>
<p>In place of storing timezone information, local time can be translated to a fixed representation (using UTC, for example): 8pm local time is stored as 8pm UTC, and it is translated back for the interface as 8pm local time. Timezone information is effectively stripped, which is 'wrong' from a precision perspective, but it means that if you did something at 8pm and then changed timezones, you could look back on that event and it would still be displayed as 8pm, which is more personally meaningful than the equivalent in machine time.</p>
<p>An issue with this alternative representation is that when you 'gain time' by traveling, you may have events out of order—you did something at 8pm, then you changed timezones and did something subsequent at 7pm <em>the same day</em>—but it may still be worthwhile depending on how often you change timezones and how much precision you need. This method aims to center the representation of time to reflect one's perception of night and day.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 6:37 pm, April 25, 2021" href="/log/2021-04-25-timezone-free-apps/"><time datetime="2021-04-25T18:37:32-03:00" data-pagefind-sort="date[datetime]">18h37</time></a>

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

		<span><a href="/log/country/brazil/">Brazil</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Sixth time&#39;s a charm</title>
  <link>https://rosano.ca/blog/sixth-times-a-charm/</link>
  <pubDate>Mon, 15 Feb 2021 15:05:24 +0000</pubDate>
  <guid>https://rosano.ca/blog/sixth-times-a-charm/</guid>
  <description>I thought this is something only &#39;smart people&#39; could do.</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget>I thought this is something only 'smart people' could do.</nugget><hr>
<div class="content"><p>My journey towards independantly creating iPhone apps was not straightforward.</p>
<p>I tried on at least five occasions over several years to learn how to do it and always ended up blocked in the process, not coming away with an understanding of how the system works.</p>
<p>Despite having years of experience in web programming but was not able to transfer much of the knowledge. This is partly because web uses technical concepts invented in the 1990s whereas native apps require different paradigms from 1980s that are more primitive and complex.</p>
<p>I ended up finding <a href="http://www.flagpig.com">Wil</a> and collaborating together to create my first app, one that helped in the process of <a href="/audioscrub">learning and transcribing songs</a>. I left the programming to him while and did everything else.</p>
<p>Still wanting to unravel the mystery, I continued thinking about another attempt. Something clicked on the sixth try.</p>
<p>At some point I became aware of an unexplored path and decided to pursue it to create the most basic prototype possible: an app that does nothing, but that functions as a <a href="https://rosano.hmm.garden/01eyk25j1enps0xcmq9ntdcrz5">proof</a> of getting the pieces working together. After succeeding with this, I proceeded to make another naive one that only stores and edits data: the underlying blocks of most actions that people perform with apps.</p>
<p>With a better lay of the land and an understanding of how to compose from available parts, I managed to realize an idea that had been nagging me for a while: a remote control for the system music app that lets you spontaneously start learning the song that's currently playing, without needing to 'create a project' or 'import'—to seamlessly transition from casual to deep listening.</p>
<p>Almost a decade later, I have created half a dozen apps on my own. It's hard to remember what it was like to not know how to do this, but I know that at the time I had no idea what was what, feeling I would never figure it out or that it's something that 'smart people' or 'trained people' could do. It's a lesson in patience, perseverance, and allowing time pass to help digest ideas and put things in perspective.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/reflection/">reflection</a>, <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 12:05 pm, February 15, 2021" href="/blog/sixth-times-a-charm/"><time datetime="2021-02-15T12:05:24-03:00" data-pagefind-sort="date[datetime]">12h05</time></a>

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

		<span><a href="/log/country/brazil/">Brazil</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Monday, February 15, 2021 12h05</title>
  <link>https://rosano.ca/log/2021-02-15-sixth-times-a-charm/</link>
  <pubDate>Mon, 15 Feb 2021 12:05:24 -0300</pubDate>
  <guid>https://rosano.ca/log/2021-02-15-sixth-times-a-charm/</guid>
  <description>My journey towards independantly creating iPhone apps was not straightforward.&#xA;I tried on at least five occasions over several years to learn how to do it and always ended up blocked in the process, not coming away with an understanding of how the system works.&#xA;Despite having years of experience in web programming but was not able to transfer much of the knowledge. This is partly because web uses technical concepts invented in the 1990s whereas native apps require different paradigms from 1980s that are more primitive and complex.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget><p>My journey towards independantly creating iPhone apps was not straightforward.</p>
<p>I tried on at least five occasions over several years to learn how to do it and always ended up blocked in the process, not coming away with an understanding of how the system works.</p>
<p>Despite having years of experience in web programming but was not able to transfer much of the knowledge. This is partly because web uses technical concepts invented in the 1990s whereas native apps require different paradigms from 1980s that are more primitive and complex.</p></nugget><hr>
<div class="content"><p>My journey towards independantly creating iPhone apps was not straightforward.</p>
<p>I tried on at least five occasions over several years to learn how to do it and always ended up blocked in the process, not coming away with an understanding of how the system works.</p>
<p>Despite having years of experience in web programming but was not able to transfer much of the knowledge. This is partly because web uses technical concepts invented in the 1990s whereas native apps require different paradigms from 1980s that are more primitive and complex.</p>
<p>I ended up finding <a href="http://www.flagpig.com">Wil</a> and collaborating together to create my first app, one that helped in the process of <a href="/audioscrub">learning and transcribing songs</a>. I left the programming to him while and did everything else.</p>
<p>Still wanting to unravel the mystery, I continued thinking about another attempt. Something clicked on the sixth try.</p>
<p>At some point I became aware of an unexplored path and decided to pursue it to create the most basic prototype possible: an app that does nothing, but that functions as a <a href="https://rosano.hmm.garden/01eyk25j1enps0xcmq9ntdcrz5">proof</a> of getting the pieces working together. After succeeding with this, I proceeded to make another naive one that only stores and edits data: the underlying blocks of most actions that people perform with apps.</p>
<p>With a better lay of the land and an understanding of how to compose from available parts, I managed to realize an idea that had been nagging me for a while: a remote control for the system music app that lets you spontaneously start learning the song that's currently playing, without needing to 'create a project' or 'import'—to seamlessly transition from casual to deep listening.</p>
<p>Almost a decade later, I have created half a dozen apps on my own. It's hard to remember what it was like to not know how to do this, but I know that at the time I had no idea what was what, feeling I would never figure it out or that it's something that 'smart people' or 'trained people' could do. It's a lesson in patience, perseverance, and allowing time pass to help digest ideas and put things in perspective.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/reflection/">reflection</a>, <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 12:05 pm, February 15, 2021" href="/log/2021-02-15-sixth-times-a-charm/"><time datetime="2021-02-15T12:05:24-03:00" data-pagefind-sort="date[datetime]">12h05</time></a>

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

		<span><a href="/log/country/brazil/">Brazil</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Chatting with Fission – January 14th, 2021</title>
  <link>https://rosano.ca/blog/chatting-with-fission-january-14th-2021/</link>
  <pubDate>Sat, 16 Jan 2021 03:00:00 +0000</pubDate>
  <guid>https://rosano.ca/blog/chatting-with-fission-january-14th-2021/</guid>
  <description> Zero Data Apps, remoteStorage, and HyperDraft, an interview with Rosano&#xA;Blog post:&#xA;Discussion with Rosano: Zero Data Apps, remote storage, and Funding Buttons – Fission&#xA;time section 00:00 Intro 03:17 0data: What is it? 09:22 0data: How to get involved? 09:46 Native to web chasm 12:35 0data: Adding an app 14:57 remoteStorage 16:53 Kommit: flashcards app 19:44 Languages and computers 21:43 Hyperdraft: note-taking app 25:43 Digital gardens 27:19 Digital gardens and feeds 29:14 Hyperdraft: pure text experiece 29:46 Files vs no files 31:06 Fission: Storing keys on multiple devices vs single device 33:03 Fission: Account recovery 34:30 Decentralized funding 40:11 Asking for funding indirectly vs directly 41:19 Developer-centric vs user-centric 41:49 Connecting developers with users 42:40 Funding youtubers vs apps 44:25 App metrics 48:57 Building an open payment standard 51:55 remoteStorage: business model 52:51 Fission: adopting the remoteStorage spec 53:53 Fission: decentralizing the stack 57:24 SOLID 58:30 Unhosted 60:44 Comfort level of people with 0data paradigms 63:30 The app equivalent of sourdough / home-grown apps 66:24 Direct customization of existing apps 70:07 Bootstrapping new paradigms 71:50 Popularizing customization 74:06 Making technology invisible 75:01 Make a garden </description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><iframe width="300" height="250" src="https://www.youtube-nocookie.com/embed/VZhtjYs7_hs" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<p><a href="https://talk.fission.codes/t/zero-data-apps-remotestorage-and-hyperdraft-an-interview-with-rosano/1341">Zero Data Apps, remoteStorage, and HyperDraft, an interview with Rosano</a></p>
<p>Blog post:</p>
<p><a href="https://fission.codes/blog/rosano-zero-data-apps-remote-storage/">Discussion with Rosano: Zero Data Apps, remote storage, and Funding Buttons – Fission</a></p>
<table>
  <thead>
      <tr>
          <th>time</th>
          <th>section</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>00:00</td>
          <td><a href="https://vimeo.com/500673127#t=00m00s">Intro</a></td>
      </tr>
      <tr>
          <td>03:17</td>
          <td><a href="https://vimeo.com/500673127#t=03m17s">0data: What is it?</a></td>
      </tr>
      <tr>
          <td>09:22</td>
          <td><a href="https://vimeo.com/500673127#t=09m22s">0data: How to get involved?</a></td>
      </tr>
      <tr>
          <td>09:46</td>
          <td><a href="https://vimeo.com/500673127#t=09m46s">Native to web chasm</a></td>
      </tr>
      <tr>
          <td>12:35</td>
          <td><a href="https://vimeo.com/500673127#t=12m35s">0data: Adding an app</a></td>
      </tr>
      <tr>
          <td>14:57</td>
          <td><a href="https://vimeo.com/500673127#t=14m57s">remoteStorage</a></td>
      </tr>
      <tr>
          <td>16:53</td>
          <td><a href="https://vimeo.com/500673127#t=16m53s">Kommit: flashcards app</a></td>
      </tr>
      <tr>
          <td>19:44</td>
          <td><a href="https://vimeo.com/500673127#t=19m44s">Languages and computers</a></td>
      </tr>
      <tr>
          <td>21:43</td>
          <td><a href="https://vimeo.com/500673127#t=21m43s">Hyperdraft: note-taking app</a></td>
      </tr>
      <tr>
          <td>25:43</td>
          <td><a href="https://vimeo.com/500673127#t=25m43s">Digital gardens</a></td>
      </tr>
      <tr>
          <td>27:19</td>
          <td><a href="https://vimeo.com/500673127#t=27m19s">Digital gardens and feeds</a></td>
      </tr>
      <tr>
          <td>29:14</td>
          <td><a href="https://vimeo.com/500673127#t=29m14s">Hyperdraft: pure text experiece</a></td>
      </tr>
      <tr>
          <td>29:46</td>
          <td><a href="https://vimeo.com/500673127#t=29m46s">Files vs no files</a></td>
      </tr>
      <tr>
          <td>31:06</td>
          <td><a href="https://vimeo.com/500673127#t=31m06s">Fission: Storing keys on multiple devices vs single device</a></td>
      </tr>
      <tr>
          <td>33:03</td>
          <td><a href="https://vimeo.com/500673127#t=33m03s">Fission: Account recovery</a></td>
      </tr>
      <tr>
          <td>34:30</td>
          <td><a href="https://vimeo.com/500673127#t=34m30s">Decentralized funding</a></td>
      </tr>
      <tr>
          <td>40:11</td>
          <td><a href="https://vimeo.com/500673127#t=40m11s">Asking for funding indirectly vs directly</a></td>
      </tr>
      <tr>
          <td>41:19</td>
          <td><a href="https://vimeo.com/500673127#t=41m19s">Developer-centric vs user-centric</a></td>
      </tr>
      <tr>
          <td>41:49</td>
          <td><a href="https://vimeo.com/500673127#t=41m49s">Connecting developers with users</a></td>
      </tr>
      <tr>
          <td>42:40</td>
          <td><a href="https://vimeo.com/500673127#t=42m40s">Funding youtubers vs apps</a></td>
      </tr>
      <tr>
          <td>44:25</td>
          <td><a href="https://vimeo.com/500673127#t=44m25s">App metrics</a></td>
      </tr>
      <tr>
          <td>48:57</td>
          <td><a href="https://vimeo.com/500673127#t=48m57s">Building an open payment standard</a></td>
      </tr>
      <tr>
          <td>51:55</td>
          <td><a href="https://vimeo.com/500673127#t=51m55s">remoteStorage: business model</a></td>
      </tr>
      <tr>
          <td>52:51</td>
          <td><a href="https://vimeo.com/500673127#t=52m51s">Fission: adopting the remoteStorage spec</a></td>
      </tr>
      <tr>
          <td>53:53</td>
          <td><a href="https://vimeo.com/500673127#t=53m53s">Fission: decentralizing the stack</a></td>
      </tr>
      <tr>
          <td>57:24</td>
          <td><a href="https://vimeo.com/500673127#t=57m24s">SOLID</a></td>
      </tr>
      <tr>
          <td>58:30</td>
          <td><a href="https://vimeo.com/500673127#t=58m30s">Unhosted</a></td>
      </tr>
      <tr>
          <td>60:44</td>
          <td><a href="https://vimeo.com/500673127#t=60m44s">Comfort level of people with 0data paradigms</a></td>
      </tr>
      <tr>
          <td>63:30</td>
          <td><a href="https://vimeo.com/500673127#t=63m30s">The app equivalent of sourdough / home-grown apps</a></td>
      </tr>
      <tr>
          <td>66:24</td>
          <td><a href="https://vimeo.com/500673127#t=66m24s">Direct customization of existing apps</a></td>
      </tr>
      <tr>
          <td>70:07</td>
          <td><a href="https://vimeo.com/500673127#t=70m07s">Bootstrapping new paradigms</a></td>
      </tr>
      <tr>
          <td>71:50</td>
          <td><a href="https://vimeo.com/500673127#t=71m50s">Popularizing customization</a></td>
      </tr>
      <tr>
          <td>74:06</td>
          <td><a href="https://vimeo.com/500673127#t=74m06s">Making technology invisible</a></td>
      </tr>
      <tr>
          <td>75:01</td>
          <td><a href="https://vimeo.com/500673127#t=75m01s">Make a garden</a></td>
      </tr>
  </tbody>
</table>
</div><p>
	<small>Tagged: <a href="/log/tag/zero-data/">zero data</a>, <a href="/log/tag/apps/">apps</a>, <a href="/log/tag/event/">event</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 0:00 am, January 16, 2021" href="/blog/chatting-with-fission-january-14th-2021/"><time datetime="2021-01-16T00:00:00-03:00" data-pagefind-sort="date[datetime]">00h00</time></a>

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

		<span><a href="/log/country/brazil/">Brazil</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Saturday, January 16, 2021 00h00</title>
  <link>https://rosano.ca/log/2021-01-16-chatting-with-fission-january-14th-2021/</link>
  <pubDate>Sat, 16 Jan 2021 00:00:00 -0300</pubDate>
  <guid>https://rosano.ca/log/2021-01-16-chatting-with-fission-january-14th-2021/</guid>
  <description> Zero Data Apps, remoteStorage, and HyperDraft, an interview with Rosano&#xA;Blog post:&#xA;Discussion with Rosano: Zero Data Apps, remote storage, and Funding Buttons – Fission&#xA;time section 00:00 Intro 03:17 0data: What is it? 09:22 0data: How to get involved? 09:46 Native to web chasm 12:35 0data: Adding an app 14:57 remoteStorage 16:53 Kommit: flashcards app 19:44 Languages and computers 21:43 Hyperdraft: note-taking app 25:43 Digital gardens 27:19 Digital gardens and feeds 29:14 Hyperdraft: pure text experiece 29:46 Files vs no files 31:06 Fission: Storing keys on multiple devices vs single device 33:03 Fission: Account recovery 34:30 Decentralized funding 40:11 Asking for funding indirectly vs directly 41:19 Developer-centric vs user-centric 41:49 Connecting developers with users 42:40 Funding youtubers vs apps 44:25 App metrics 48:57 Building an open payment standard 51:55 remoteStorage: business model 52:51 Fission: adopting the remoteStorage spec 53:53 Fission: decentralizing the stack 57:24 SOLID 58:30 Unhosted 60:44 Comfort level of people with 0data paradigms 63:30 The app equivalent of sourdough / home-grown apps 66:24 Direct customization of existing apps 70:07 Bootstrapping new paradigms 71:50 Popularizing customization 74:06 Making technology invisible 75:01 Make a garden </description>
  <content:encoded><![CDATA[
  <div class="post">


<div class="content"><iframe width="300" height="250" src="https://www.youtube-nocookie.com/embed/VZhtjYs7_hs" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<p><a href="https://talk.fission.codes/t/zero-data-apps-remotestorage-and-hyperdraft-an-interview-with-rosano/1341">Zero Data Apps, remoteStorage, and HyperDraft, an interview with Rosano</a></p>
<p>Blog post:</p>
<p><a href="https://fission.codes/blog/rosano-zero-data-apps-remote-storage/">Discussion with Rosano: Zero Data Apps, remote storage, and Funding Buttons – Fission</a></p>
<table>
  <thead>
      <tr>
          <th>time</th>
          <th>section</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>00:00</td>
          <td><a href="https://vimeo.com/500673127#t=00m00s">Intro</a></td>
      </tr>
      <tr>
          <td>03:17</td>
          <td><a href="https://vimeo.com/500673127#t=03m17s">0data: What is it?</a></td>
      </tr>
      <tr>
          <td>09:22</td>
          <td><a href="https://vimeo.com/500673127#t=09m22s">0data: How to get involved?</a></td>
      </tr>
      <tr>
          <td>09:46</td>
          <td><a href="https://vimeo.com/500673127#t=09m46s">Native to web chasm</a></td>
      </tr>
      <tr>
          <td>12:35</td>
          <td><a href="https://vimeo.com/500673127#t=12m35s">0data: Adding an app</a></td>
      </tr>
      <tr>
          <td>14:57</td>
          <td><a href="https://vimeo.com/500673127#t=14m57s">remoteStorage</a></td>
      </tr>
      <tr>
          <td>16:53</td>
          <td><a href="https://vimeo.com/500673127#t=16m53s">Kommit: flashcards app</a></td>
      </tr>
      <tr>
          <td>19:44</td>
          <td><a href="https://vimeo.com/500673127#t=19m44s">Languages and computers</a></td>
      </tr>
      <tr>
          <td>21:43</td>
          <td><a href="https://vimeo.com/500673127#t=21m43s">Hyperdraft: note-taking app</a></td>
      </tr>
      <tr>
          <td>25:43</td>
          <td><a href="https://vimeo.com/500673127#t=25m43s">Digital gardens</a></td>
      </tr>
      <tr>
          <td>27:19</td>
          <td><a href="https://vimeo.com/500673127#t=27m19s">Digital gardens and feeds</a></td>
      </tr>
      <tr>
          <td>29:14</td>
          <td><a href="https://vimeo.com/500673127#t=29m14s">Hyperdraft: pure text experiece</a></td>
      </tr>
      <tr>
          <td>29:46</td>
          <td><a href="https://vimeo.com/500673127#t=29m46s">Files vs no files</a></td>
      </tr>
      <tr>
          <td>31:06</td>
          <td><a href="https://vimeo.com/500673127#t=31m06s">Fission: Storing keys on multiple devices vs single device</a></td>
      </tr>
      <tr>
          <td>33:03</td>
          <td><a href="https://vimeo.com/500673127#t=33m03s">Fission: Account recovery</a></td>
      </tr>
      <tr>
          <td>34:30</td>
          <td><a href="https://vimeo.com/500673127#t=34m30s">Decentralized funding</a></td>
      </tr>
      <tr>
          <td>40:11</td>
          <td><a href="https://vimeo.com/500673127#t=40m11s">Asking for funding indirectly vs directly</a></td>
      </tr>
      <tr>
          <td>41:19</td>
          <td><a href="https://vimeo.com/500673127#t=41m19s">Developer-centric vs user-centric</a></td>
      </tr>
      <tr>
          <td>41:49</td>
          <td><a href="https://vimeo.com/500673127#t=41m49s">Connecting developers with users</a></td>
      </tr>
      <tr>
          <td>42:40</td>
          <td><a href="https://vimeo.com/500673127#t=42m40s">Funding youtubers vs apps</a></td>
      </tr>
      <tr>
          <td>44:25</td>
          <td><a href="https://vimeo.com/500673127#t=44m25s">App metrics</a></td>
      </tr>
      <tr>
          <td>48:57</td>
          <td><a href="https://vimeo.com/500673127#t=48m57s">Building an open payment standard</a></td>
      </tr>
      <tr>
          <td>51:55</td>
          <td><a href="https://vimeo.com/500673127#t=51m55s">remoteStorage: business model</a></td>
      </tr>
      <tr>
          <td>52:51</td>
          <td><a href="https://vimeo.com/500673127#t=52m51s">Fission: adopting the remoteStorage spec</a></td>
      </tr>
      <tr>
          <td>53:53</td>
          <td><a href="https://vimeo.com/500673127#t=53m53s">Fission: decentralizing the stack</a></td>
      </tr>
      <tr>
          <td>57:24</td>
          <td><a href="https://vimeo.com/500673127#t=57m24s">SOLID</a></td>
      </tr>
      <tr>
          <td>58:30</td>
          <td><a href="https://vimeo.com/500673127#t=58m30s">Unhosted</a></td>
      </tr>
      <tr>
          <td>60:44</td>
          <td><a href="https://vimeo.com/500673127#t=60m44s">Comfort level of people with 0data paradigms</a></td>
      </tr>
      <tr>
          <td>63:30</td>
          <td><a href="https://vimeo.com/500673127#t=63m30s">The app equivalent of sourdough / home-grown apps</a></td>
      </tr>
      <tr>
          <td>66:24</td>
          <td><a href="https://vimeo.com/500673127#t=66m24s">Direct customization of existing apps</a></td>
      </tr>
      <tr>
          <td>70:07</td>
          <td><a href="https://vimeo.com/500673127#t=70m07s">Bootstrapping new paradigms</a></td>
      </tr>
      <tr>
          <td>71:50</td>
          <td><a href="https://vimeo.com/500673127#t=71m50s">Popularizing customization</a></td>
      </tr>
      <tr>
          <td>74:06</td>
          <td><a href="https://vimeo.com/500673127#t=74m06s">Making technology invisible</a></td>
      </tr>
      <tr>
          <td>75:01</td>
          <td><a href="https://vimeo.com/500673127#t=75m01s">Make a garden</a></td>
      </tr>
  </tbody>
</table>
</div><p>
	<small>Tagged: <a href="/log/tag/zero-data/">zero data</a>, <a href="/log/tag/apps/">apps</a>, <a href="/log/tag/event/">event</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 0:00 am, January 16, 2021" href="/log/2021-01-16-chatting-with-fission-january-14th-2021/"><time datetime="2021-01-16T00:00:00-03:00" data-pagefind-sort="date[datetime]">00h00</time></a>

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

		<span><a href="/log/country/brazil/">Brazil</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Going doorless</title>
  <link>https://rosano.ca/blog/going-doorless/</link>
  <pubDate>Tue, 12 Jan 2021 10:51:30 +0000</pubDate>
  <guid>https://rosano.ca/blog/going-doorless/</guid>
  <description>Apps as non-exclusionary public spaces.</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget>Apps as non-exclusionary public spaces.</nugget><hr>
<div class="content"><p>In today's web, we are accustomed to gratuitously sharing articles, videos, podcasts, and other content. By default, most of it is available for free and posted to privately-owned spaces like social media platforms. Most of it is public, for anyone to consume, and some of it is even public domain, for anyone to use. This culture exists because we recognize the value of <a href="https://www.niemanlab.org/2019/01/unlocking-the-commons">unlocking the commons</a> by maximizing the number of people who can access and benefit from what we share: the more the merrier.</p>
<p>Apps proliferate differently. We share a 'link' that someone can use to 'install' and then 'run' the app, assuming it's 'compatible' with their system. Some apps must be purchased in order to be used; one hopes they offer a way to understand what you're buying via a trial or screencasts. Some apps require you to create an account to get started; one hopes they can be trusted with your data. With native apps, sometimes a link points directly to specific content inside the app, but an unlucky recipient might still find themselves figuring out where to go in order to find what was actually shared. What if instead of these complex steps, apps behaved more like the content we already share? What if they were as simple to pass around as articles, videos, or animated GIFs?</p>
<p>Imagine an app that behaves more like a park: a non-exclusionary public space where you can sit anywhere, have a picnic if you like, hang out with your friends, come and go as you please, see how you feel at your own pace—there is no survey to fill. There aren't really doors or walls, and anyone is welcome. This kind of '<a href="https://ring.0data.app">doorless</a>' app allows you to 'show up and start using it'. It has no 'app store', in the same way there is no 'article store' or 'podcast store'. You can send it in a way that the recipient sees what you shared, and then they can interact directly without other steps—as shareable as the other content we send to one another.</p>
<p>There are several technical affordances to this at the moment. <a href="https://www.inkandswitch.com/local-first.html">Local-first</a> or edge apps enable the whole experience to take place in the security of one's own device and can continue offline without internet connection. <a href="https://0data.app">Zero Data</a> protocols like <a href="https://remotestorage.io">remoteStorage</a>, <a href="https://fission.codes">Fission</a>, and <a href="https://solidproject.org">Solid</a> obviate the need to create accounts (because people bring their own data storage) and also enable apps as swappable lenses—&quot;software is the principles of an experience&quot; (as Steve Jobs might have said) and your data becomes the details. Sharing content via <a href="https://en.wikipedia.org/wiki/URI%5Ffragment">URI fragment</a> stores data in the link itself so that no 3rd-party server is necessary to hold the data (for example, <a href="https://go.rosano.ca/joybox-sample-playlist">a multi-platform music playlist</a>).</p>
<p>These design decisions go beyond technology to encourage free exploration in new spaces. This approach fosters values like privacy, autonomy, resilience, device-independence, open protocols, owning your data, sovereign identity, data accessible beyond an app's lifetime, multiple apps for any data (i.e. <a href="https://www.geoffreylitt.com/2021/03/05/bring-your-own-client.html">Bring Your Own Client</a>), scalability, etc…</p>
<p>The people who maintain these spaces become stewards of something that resembles a public utility—omnipresent resources available to all—and if it can be thought of as such, how can we ensure its longevity? Direct funding via supporters is one method, popularized by platforms like Kickstarter, Patreon, Open Collective, and others: projects can offer features or perks based on what people contribute. Metering or usage-based pricing can be 'fair' in some scenarios and inclusive of countries whose currency tends to price them out of 'western' economies. Stronger sustainability however, probably requires a culture shift. Can we popularize supporting makers to the extent that it's as common as an electricity bill (perhaps in the direction of the <a href="https://webmonetization.org">Web Monetization</a> standard)? And the financial aspect is only part of the picture. Can we make the production of these spaces more participative? How can we normalize building together, getting more stakeholders involved, cultivating community, making things easier to understand, and documenting as much as possible?</p>
<p>Considering that the circumstances of our time leave much to be desired from leaders and institutions, it's important to think about the role technology plays in making our world a better place. Technology will not save us, but it's a useful vector to affect societal issues as long as it remains intertwined in all aspects of life. Not only are doorless apps magical to use—who among us likes bureaucracy?—but they serve as an antidote to account-itis (and its resulting data collection overkill), while encouraging a culture of housing everything in the commons. Zero Data empowers publishing from sovereign spaces, enlarges the pie for developers by pooling together userbases, and builds an ecosystem of apps that can work together without needing a trusted entity to coordinate everything. Direct funding or patronage reduces financial intermediaries and creates dialogue between makers and the communities they serve. Releasing projects as open-source enables anyone to inspect, understand, or contribute. All these dimensions might be merely 'technological' but they increase freedom and empowerment for more people.</p>
<p>Doorless apps and Zero Data are somewhat old ideas, but revitalized by new protocols to promote public spaces where people can move freely. Experiences don't need to be trapped behind 'installation processes' and data does not need to be held hostage by an app or its developer: bring your client, bring your data, and have it your way. Apps can become part of the commons where we find most Internet content, especially if we fund it as a public resource and provide opportunities for more people to participate. All this is possible today and you can help realize this vision of the world: just share.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 7:51 am, January 12, 2021" href="/blog/going-doorless/"><time datetime="2021-01-12T07:51:30-03:00" data-pagefind-sort="date[datetime]">07h51</time></a>

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

		<span><a href="/log/country/brazil/">Brazil</a></span></small>

</span>

</div>

  ]]></content:encoded>
</item><item>
  <title>Tuesday, January 12, 2021 07h51</title>
  <link>https://rosano.ca/log/2021-01-12-going-doorless/</link>
  <pubDate>Tue, 12 Jan 2021 07:51:30 -0300</pubDate>
  <guid>https://rosano.ca/log/2021-01-12-going-doorless/</guid>
  <description>In today&#39;s web, we are accustomed to gratuitously sharing articles, videos, podcasts, and other content. By default, most of it is available for free and posted to privately-owned spaces like social media platforms. Most of it is public, for anyone to consume, and some of it is even public domain, for anyone to use. This culture exists because we recognize the value of unlocking the commons by maximizing the number of people who can access and benefit from what we share: the more the merrier.&#xA;</description>
  <content:encoded><![CDATA[
  <div class="post">

<nugget>In today's web, we are accustomed to gratuitously sharing articles, videos, podcasts, and other content. By default, most of it is available for free and posted to privately-owned spaces like social media platforms. Most of it is public, for anyone to consume, and some of it is even public domain, for anyone to use. This culture exists because we recognize the value of <a href="https://www.niemanlab.org/2019/01/unlocking-the-commons">unlocking the commons</a> by maximizing the number of people who can access and benefit from what we share: the more the merrier.</nugget><hr>
<div class="content"><p>In today's web, we are accustomed to gratuitously sharing articles, videos, podcasts, and other content. By default, most of it is available for free and posted to privately-owned spaces like social media platforms. Most of it is public, for anyone to consume, and some of it is even public domain, for anyone to use. This culture exists because we recognize the value of <a href="https://www.niemanlab.org/2019/01/unlocking-the-commons">unlocking the commons</a> by maximizing the number of people who can access and benefit from what we share: the more the merrier.</p>
<p>Apps proliferate differently. We share a 'link' that someone can use to 'install' and then 'run' the app, assuming it's 'compatible' with their system. Some apps must be purchased in order to be used; one hopes they offer a way to understand what you're buying via a trial or screencasts. Some apps require you to create an account to get started; one hopes they can be trusted with your data. With native apps, sometimes a link points directly to specific content inside the app, but an unlucky recipient might still find themselves figuring out where to go in order to find what was actually shared. What if instead of these complex steps, apps behaved more like the content we already share? What if they were as simple to pass around as articles, videos, or animated GIFs?</p>
<p>Imagine an app that behaves more like a park: a non-exclusionary public space where you can sit anywhere, have a picnic if you like, hang out with your friends, come and go as you please, see how you feel at your own pace—there is no survey to fill. There aren't really doors or walls, and anyone is welcome. This kind of '<a href="https://ring.0data.app">doorless</a>' app allows you to 'show up and start using it'. It has no 'app store', in the same way there is no 'article store' or 'podcast store'. You can send it in a way that the recipient sees what you shared, and then they can interact directly without other steps—as shareable as the other content we send to one another.</p>
<p>There are several technical affordances to this at the moment. <a href="https://www.inkandswitch.com/local-first.html">Local-first</a> or edge apps enable the whole experience to take place in the security of one's own device and can continue offline without internet connection. <a href="https://0data.app">Zero Data</a> protocols like <a href="https://remotestorage.io">remoteStorage</a>, <a href="https://fission.codes">Fission</a>, and <a href="https://solidproject.org">Solid</a> obviate the need to create accounts (because people bring their own data storage) and also enable apps as swappable lenses—&quot;software is the principles of an experience&quot; (as Steve Jobs might have said) and your data becomes the details. Sharing content via <a href="https://en.wikipedia.org/wiki/URI%5Ffragment">URI fragment</a> stores data in the link itself so that no 3rd-party server is necessary to hold the data (for example, <a href="https://go.rosano.ca/joybox-sample-playlist">a multi-platform music playlist</a>).</p>
<p>These design decisions go beyond technology to encourage free exploration in new spaces. This approach fosters values like privacy, autonomy, resilience, device-independence, open protocols, owning your data, sovereign identity, data accessible beyond an app's lifetime, multiple apps for any data (i.e. <a href="https://www.geoffreylitt.com/2021/03/05/bring-your-own-client.html">Bring Your Own Client</a>), scalability, etc…</p>
<p>The people who maintain these spaces become stewards of something that resembles a public utility—omnipresent resources available to all—and if it can be thought of as such, how can we ensure its longevity? Direct funding via supporters is one method, popularized by platforms like Kickstarter, Patreon, Open Collective, and others: projects can offer features or perks based on what people contribute. Metering or usage-based pricing can be 'fair' in some scenarios and inclusive of countries whose currency tends to price them out of 'western' economies. Stronger sustainability however, probably requires a culture shift. Can we popularize supporting makers to the extent that it's as common as an electricity bill (perhaps in the direction of the <a href="https://webmonetization.org">Web Monetization</a> standard)? And the financial aspect is only part of the picture. Can we make the production of these spaces more participative? How can we normalize building together, getting more stakeholders involved, cultivating community, making things easier to understand, and documenting as much as possible?</p>
<p>Considering that the circumstances of our time leave much to be desired from leaders and institutions, it's important to think about the role technology plays in making our world a better place. Technology will not save us, but it's a useful vector to affect societal issues as long as it remains intertwined in all aspects of life. Not only are doorless apps magical to use—who among us likes bureaucracy?—but they serve as an antidote to account-itis (and its resulting data collection overkill), while encouraging a culture of housing everything in the commons. Zero Data empowers publishing from sovereign spaces, enlarges the pie for developers by pooling together userbases, and builds an ecosystem of apps that can work together without needing a trusted entity to coordinate everything. Direct funding or patronage reduces financial intermediaries and creates dialogue between makers and the communities they serve. Releasing projects as open-source enables anyone to inspect, understand, or contribute. All these dimensions might be merely 'technological' but they increase freedom and empowerment for more people.</p>
<p>Doorless apps and Zero Data are somewhat old ideas, but revitalized by new protocols to promote public spaces where people can move freely. Experiences don't need to be trapped behind 'installation processes' and data does not need to be held hostage by an app or its developer: bring your client, bring your data, and have it your way. Apps can become part of the commons where we find most Internet content, especially if we fund it as a public resource and provide opportunities for more people to participate. All this is possible today and you can help realize this vision of the world: just share.</p>
</div><p>
	<small>Tagged: <a href="/log/tag/apps/">apps</a>.
	</small>
</p>

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

	<small>
		<a aria-label="Permalink for 7:51 am, January 12, 2021" href="/log/2021-01-12-going-doorless/"><time datetime="2021-01-12T07:51:30-03:00" data-pagefind-sort="date[datetime]">07h51</time></a>

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

		<span><a href="/log/country/brazil/">Brazil</a></span></small>

</span>

</div>

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



</channel>

</rss>
