hmn/src/templates/src/fishbowls/flexible-software/flexible-software.html

7918 lines
332 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="chatlog">
<!-- Emojis by Twitter's Twemoji https://twemoji.twitter.com/ -->
<div class="chatlog__message-group" style="">
<div id="chatlog__message-container-921115987208724490" class="chatlog__message-container " data-message-id="921115987208724490">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div><img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(250, 186, 71)" title="bvisness#0001">bvisness</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921113147581018143')">
<strong>Topic:</strong> How to design flexible software </span>
</div>
</div><div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:06 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">We all want software to be <em>flexible</em>. We want it to work for lots of different users, we want it to adapt to different workflows. We had a fishbowl about <a class="inserted-after" href="../config/" target="_blank">how to design to avoid configuration</a>, and you should read it. But when you can't avoid configuration, how do you do it well?
And furthermore, if we want our software to be flexible, for users to be able to adapt it to their needs, what options do we have besides configuration? What other ways are there to make software flexible?
And what about <em>extending</em> software? Flexibility is one thing, but some software can be customized so far that it's practically a new program. To what extent is this desirable? And how do we design these extension systems well?</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921116197666304010" class="chatlog__message-container " data-message-id="921116197666304010">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:06 AM">11:06</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">There's lot of topics we could potentially discuss. But let me start by introducing our participants today:</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921116281531404359" class="chatlog__message-container " data-message-id="921116281531404359">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:07 AM">11:07</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve"><span class="chatlog__markdown-mention" title="Allen4th#9584">@Allen4th</span>, creator of <a class="inserted-after" href="http://4coder.net/" target="_blank">4coder</a> and member of the <a class="inserted-after" href="https://dion.systems/" target="_blank">Dion</a> team working on future programming systems</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921116489535332393" class="chatlog__message-container " data-message-id="921116489535332393">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:08 AM">11:08</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve"><span class="chatlog__markdown-mention" title="demetrispanos#5588">@demetrispanos</span>, esteemed community member, PhD, wise person and key contributor to our last fishbowl about config</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921116583898796112" class="chatlog__message-container " data-message-id="921116583898796112">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:08 AM">11:08</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve"><span class="chatlog__markdown-mention" title="nakst#1416">@nakst</span>, creator of the <a class="inserted-after" href="https://nakst.gitlab.io/essence" target="_blank">Essence</a> operating system and many lovely <a class="inserted-after" href="https://github.com/nakst" target="_blank">tools</a></span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921116704837341184" class="chatlog__message-container " data-message-id="921116704837341184">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:08 AM">11:08</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and <span class="chatlog__markdown-mention" title="rxi#5759">@rxi</span>, general wizard and creator of the <a class="inserted-after" href="https://github.com/rxi/lite" target="_blank">Lite editor</a>, <a class="inserted-after" href="https://github.com/rxi/microui" target="_blank">microui</a>, and many other <a class="inserted-after" href="https://github.com/rxi" target="_blank">tools</a></span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="partying_face">
<img class="chatlog__emoji chatlog__emoji--small" alt="🥳" src="files/1f973-D404E.svg" loading="lazy">
<span class="chatlog__reaction-count">2</span>
</div>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921117069695672351" class="chatlog__message-container " data-message-id="921117069695672351">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:10 AM">11:10</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">To give a quick summary of what we discussed at the <a class="inserted-after" href="../config/" target="_blank">config fishbowl</a>, we had a couple key insights:</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921117367700951040" class="chatlog__message-container " data-message-id="921117367700951040">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:11 AM">11:11</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">First of all, Demetri laid out some definitions of config so that we could identify it in our designs - for example, config is usually changed infrequently, it's not the primary kind of data that the program works with, etc.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921117590535954453" class="chatlog__message-container " data-message-id="921117590535954453">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:12 AM">11:12</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">But most importantly we discussed the importance of having a strong design for your software that communicates how it is meant to be used. There are many cases where flexibility is pointless and just adds a burden for your users.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921117681854332989" class="chatlog__message-container " data-message-id="921117681854332989">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:12 AM">11:12</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">But there <em>are</em> places where options matter, where users should be able to customize things, and we want to do that well too.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921117866856697947" class="chatlog__message-container " data-message-id="921117866856697947">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:13 AM">11:13</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve"><span class="chatlog__markdown-mention" title="Allen4th#9584">@Allen4th</span> do you mind if I kick things off with some questions for you?</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921118105562935377" class="chatlog__message-container " data-message-id="921118105562935377">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:14 AM">11:14</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">actually let me perhaps start with a more general question</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921118126702227517" class="chatlog__message-container " data-message-id="921118126702227517">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:14 AM">11:14</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">sorry <img loading="lazy" class="chatlog__emoji " alt="😛" title="stuck_out_tongue" src="files\twemoji_1f61b.svg"></span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="thumbsup">
<img class="chatlog__emoji chatlog__emoji--small" alt="👍" src="files/1f44d-B3F5F.svg" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921118223540301854" class="chatlog__message-container " data-message-id="921118223540301854">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:14 AM">11:14</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">For anyone here - what are some examples of programs that you think do customization well? Or do customization poorly?</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921118310416936961" class="chatlog__message-container " data-message-id="921118310416936961">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:15 AM">11:15</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">(btw, audience, please do chat in <span class="chatlog__markdown-mention">#fishbowl-audience</span> if you have any thoughts - we'll be paying attention to that throughout)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921118468517036042" class="chatlog__message-container " data-message-id="921118468517036042">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:15 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">at the risk of raising some eyebrows, I think it's hard to argue against the success of <a class="inserted-after" href="https://wordpress.com/" target="_blank">wordpress</a></span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="fire">
<img class="chatlog__emoji chatlog__emoji--small" alt="🔥" src="files/1f525-42B23.svg" loading="lazy">
<span class="chatlog__reaction-count">2</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921118494895005756" class="chatlog__message-container " data-message-id="921118494895005756">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:16 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">spicy right off the bat</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921118693201698866" class="chatlog__message-container " data-message-id="921118693201698866">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:16 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">empirically it has allowed an enormous population of people without especially technical skills to create a wide variety of experiences</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921118879378444328" class="chatlog__message-container " data-message-id="921118879378444328">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:17 AM">11:17</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">though, of course, you have to distinguish the wordpress plugin authors (developers) from the wordpress administrators (often non-developers who just mix and match plugins)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921118958831144970" class="chatlog__message-container " data-message-id="921118958831144970">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:17 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">that is an important distinction that I want to make as we go along</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921118984714190908" class="chatlog__message-container " data-message-id="921118984714190908">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:17 AM">11:17</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">definitely something that came up as I was prepping</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921119042926952499" class="chatlog__message-container " data-message-id="921119042926952499">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:18 AM">11:18</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">what about wordpress do you think makes it more successful than its competitors?</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921119124862672917" class="chatlog__message-container " data-message-id="921119124862672917">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:18 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">well it's been around so long that it's hard to know what competitors to use as a comparison :P</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921119470527840316" class="chatlog__message-container " data-message-id="921119470527840316">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:19 AM">11:19</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">as background, I think we can probably agree that the wordpress plugin universe is seen by many as a wild west situation, where many things are done in questionable ways</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921119540325265418" class="chatlog__message-container " data-message-id="921119540325265418">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:20 AM">11:20</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think that's likely also a source of its strength</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921119632541220924" class="chatlog__message-container " data-message-id="921119632541220924">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:20 AM">11:20</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">certainly I've been hearing about how unprincipled/disorganized/etc. WP is for ... 15 years?</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921119735733686292" class="chatlog__message-container " data-message-id="921119735733686292">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:20 AM">11:20</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">but the people who make those criticisms don't seem to have a principled/organized thing that is anywhere close to matching WP's success</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921119912422936606" class="chatlog__message-container " data-message-id="921119912422936606">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:21 AM">11:21</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">so maybe I'll summarize this point by saying that if you plan to be broadly extensible for a large audience, you may have to accept that your software will begin to resemble the full spectrum of humanity, from the least to most appealing :)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921120112143114292" class="chatlog__message-container " data-message-id="921120112143114292">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:22 AM">11:22</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">or to put it more concretely, I think if you have strong opinions about what extensions can and can't do then you are necessarily also picking your audience in the process</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921120139460636693" class="chatlog__message-container " data-message-id="921120139460636693">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:22 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">sure</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921120357505720330" class="chatlog__message-container " data-message-id="921120357505720330">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:23 AM">11:23</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think plugins are just one aspect of WordPress's success too...the fundamental structure is pretty flexible. Like it appears to be just for simple blogs and websites, and yet the same basic structure can be turned into all kinds of websites with only minimal themeing.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921120445430894642" class="chatlog__message-container " data-message-id="921120445430894642">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:23 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">yeah definitely</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921120620316594236" class="chatlog__message-container " data-message-id="921120620316594236">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:24 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">a few years ago we wanted to build a new help center at work, and we evaluated many (like 20+) turnkey help center / support site products</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921120682614591518" class="chatlog__message-container " data-message-id="921120682614591518">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:24 AM">11:24</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and ultimately just settled on wordpress with a custom theme</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921120699899326595" class="chatlog__message-container " data-message-id="921120699899326595">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:24 AM">11:24</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and it's been <em>great</em></span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921120758191775794" class="chatlog__message-container " data-message-id="921120758191775794">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:25 AM">11:25</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">so thank you for bringing up this example, it's a good one to keep in mind</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921120913351667782" class="chatlog__message-container " data-message-id="921120913351667782">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:25 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I'll throw in two others with similar levels of empirical success, if in narrower ways: photoshop, and digital audio workstations (DAWs) like Reason, Ableton, etc.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921121611405459507" class="chatlog__message-container " data-message-id="921121611405459507">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:28 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Plugins in DAWs are pretty interesting in that the DAW treats them a lot like a black box. Take a synthesizer plugin: as input, it gets a feed of MIDI events, and a <span class="chatlog__markdown-pre chatlog__markdown-pre--inline"><a class="inserted-after" href="https://docs.microsoft.com/en-us/cpp/mfc/relationship-between-a-cpp-window-object-and-an-hwnd?view=msvc-170" target="_blank">HWND</a></span> to attach its user interface to, and as output it produces a stream of samples. And as long as it supports that interface, the plugin can do pretty much anything it wants! And it often leads plugins to feel like their own little environment separate from the DAW itself.</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 11:30 AM">(edited)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921121910396436500" class="chatlog__message-container " data-message-id="921121910396436500">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:29 AM">11:29</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">So much so, that some of the more complex plugins end up recreating features of the DAW within the plugin itself. For example, it's common to see some synthesizers now incorporating step sequencers or piano rolls to provide MIDI data for themselves, rather than relying on the DAW to provide it.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921122078424432720" class="chatlog__message-container " data-message-id="921122078424432720">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:30 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">interesting, so the DAW is a little application platform unto itself</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921122142144327730" class="chatlog__message-container " data-message-id="921122142144327730">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:30 AM">11:30</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve"><span class="chatlog__markdown-mention" title="demetrispanos#5588">@demetrispanos</span> is that the aspect that you were thinking about when you mentioned DAWs?</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921122176944455700" class="chatlog__message-container " data-message-id="921122176944455700">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:30 AM">11:30</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">or is there another aspect of flexibility that you were thinking of</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921122217683746877" class="chatlog__message-container " data-message-id="921122217683746877">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:30 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I'd say that plus the composition capabilities</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921122286088642630" class="chatlog__message-container " data-message-id="921122286088642630">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:31 AM">11:31</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">composition in the putting-modules-together sense, not the putting notes on a sheet sense</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921122329210265631" class="chatlog__message-container " data-message-id="921122329210265631">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:31 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">right, different modules compose with each other</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921122414585327646" class="chatlog__message-container " data-message-id="921122414585327646">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:31 AM">11:31</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I know that composition is a thing that <span class="chatlog__markdown-mention" title="Allen4th#9584">@Allen4th</span> has talked about oh yep he's typing now <img loading="lazy" class="chatlog__emoji " alt="🙂" title="slight_smile" src="files\twemoji_1f642.svg"></span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921122575659188285" class="chatlog__message-container " data-message-id="921122575659188285">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:32 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Mhm. So something I learned from <a class="inserted-after" href="http://4coder.net/" target="_blank">4coder</a> is to think about "customization" systems on a spectrum based on the amount of control handed to the customizer.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921122903871864892" class="chatlog__message-container " data-message-id="921122903871864892">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:33 AM">11:33</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">The reason to think about that spectrum is to learn the pros and cons associated with moving more towards control on the plugin/custom code side vs control on the centralized side, so that if you're not getting something that feels like what you want you can figure out which direction you probably want to be moving.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921123150266253383" class="chatlog__message-container " data-message-id="921123150266253383">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:34 AM">11:34</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">In 4coder the customization was pushing towards the message to the customizer being "you can do anything you want you have complete control" - in fact I took that to such an extreme that I didn't even have a plugin system. There's just one customization at a time.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921123246605226004" class="chatlog__message-container " data-message-id="921123246605226004">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:34 AM">11:34</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">The advantage to that is the obvious one - your system can now be more things to more people (if they're willing to write the customizations).</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921123429665611826" class="chatlog__message-container " data-message-id="921123429665611826">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:35 AM">11:35</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">The disadvantage is it reduces the ability of things to compose together. Composition is made possible by the centralized side making key decisions first.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921123781609685032" class="chatlog__message-container " data-message-id="921123781609685032">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:37 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">It surprised me the extent to which Ryan's <a class="inserted-after" href="https://github.com/Dion-Systems/4coder_fleury" target="_blank">custom layer</a> almost became the de-facto standard for a lot of people's customizations. Although 4coder provides a reasonably minimal starting off point, allowing the user to develop there own customizations in whatever way they want, most people just ended up someone else's custom layer that makes a bunch of decisions for them.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921124111143542864" class="chatlog__message-container " data-message-id="921124111143542864">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:38 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Yeah - <span class="chatlog__markdown-mention" title="Allen4th#9584">@Allen4th</span> would you say that 4coder's customization design achieved the goals you had for it? If you were to design it again, is there anything you would do differently?</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 11:38 AM">(edited)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921124437263269916" class="chatlog__message-container " data-message-id="921124437263269916">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:39 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">It definitely did achieve the goal, which was that 4coder could operate as a starting off point for an editor which could then be made into just about anything. But I would do it quite differently, because I'm not convinced that's a very useful goal anymore.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921125243702087710" class="chatlog__message-container " data-message-id="921125243702087710">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:42 AM">11:42</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">If a customization system is "you can do anything the C language could do" then yes they can make it into whatever it is they need, but if they can program C, they can already make whatever they need. Shipping something to someone should probably be about saying "I've gone and done a lot of the exploration through the things you could do, and I think this is a pretty good set of decisions". I would probably focus a lot more on a restricted customization system where you can piece together pre-fabbed bits if that's all you need, which is currently not an option in 4coder really.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921125354859540490" class="chatlog__message-container " data-message-id="921125354859540490">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:43 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Sure, that makes sense - and in fact I think that falls in line with what we discussed in our <a class="inserted-after" href="../config/" target="_blank">config fishbowl</a></span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921125518856814633" class="chatlog__message-container " data-message-id="921125518856814633">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:43 AM">11:43</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">it's "powerful" in some sense to be able to do anything, but the software needs to actually solve some problems for the user too and make it easier for them to achieve their goals</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921125739837927474" class="chatlog__message-container " data-message-id="921125739837927474">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:44 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Right. I think as another point we're assuming "software" here means end user software. But really if you want to leave all the power in the user's hands, I think a library is more of an appropriate structure.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921126079844982894" class="chatlog__message-container " data-message-id="921126079844982894">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:46 AM">11:46</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">This was one of the big <a class="inserted-after" href="https://en.wikipedia.org/wiki/Data_Desk" target="_blank">Data Desk</a> -&gt; <a class="inserted-after" href="https://dion.systems/metadesk" target="_blank">Metadesk</a> changes Ryan and I did. Data Desk was modeled after 4coder's one-customization approach. But the same thing as a library turns out to make a lot more sense.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921126233633353739" class="chatlog__message-container " data-message-id="921126233633353739">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:46 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Mm, I see. Since it's explicitly designed to give all the power to a programmer, you allow their code to have primary control.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921126251438166016" class="chatlog__message-container " data-message-id="921126251438166016">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:46 AM">11:46</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Makes sense!</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921126580644872212" class="chatlog__message-container " data-message-id="921126580644872212">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:48 AM">11:48</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">But as <span class="chatlog__markdown-mention" title="nakst#1416">@nakst</span> mentioned, it seems that not many people have really gone to that extent with 4coder. It seems like a most users aren't actually interested in doing that much work. So I'm curious how we start to shift toward the centralized control side in a way that works well.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921126652560441455" class="chatlog__message-container " data-message-id="921126652560441455">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:48 AM">11:48</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">if <span class="chatlog__markdown-mention" title="rxi#5759">@rxi</span> is around, lite's plugin system could be an interesting counterpoint</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921126728963874836" class="chatlog__message-container " data-message-id="921126728963874836">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:48 AM">11:48</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">otherwise we could start to discuss wordpress plugins in more detail since <span class="chatlog__markdown-mention" title="Rudy#2467">@Rudy</span> was bringing up aspects of that in <span class="chatlog__markdown-mention">#fishbowl-audience</span></span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921127066450149456" class="chatlog__message-container " data-message-id="921127066450149456">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:50 AM">11:50</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">(plugins in general are a pretty rich vein)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921127098683367434" class="chatlog__message-container " data-message-id="921127098683367434">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:50 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I was mostly providing supporting arguments for the point Demetri had initially made</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921127195215290429" class="chatlog__message-container " data-message-id="921127195215290429">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:50 AM">11:50</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">As it pertains to WordPress specifically since I have a looooooong history with the software</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921127297300463636" class="chatlog__message-container " data-message-id="921127297300463636">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:51 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">pulling in the point from the audience channel, I think the spectrum of contributors (core developers, plugin creators, people who arrange plugins) seems an important architectural feature</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921127307953987644" class="chatlog__message-container " data-message-id="921127307953987644">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:51 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">(context: Rudy works for Automattic, the creators of WordPress - and perhaps has history with WordPress before that?)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921127478351757455" class="chatlog__message-container " data-message-id="921127478351757455">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:51 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">not in core development but as a freelance developer</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921127549847867442" class="chatlog__message-container " data-message-id="921127549847867442">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:52 AM">11:52</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">sort of the community i was thinking about in that point</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921127585231032370" class="chatlog__message-container " data-message-id="921127585231032370">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:52 AM">11:52</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">because there are multiple target audiences in that software</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921127776747155457" class="chatlog__message-container " data-message-id="921127776747155457">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:52 AM">11:52</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">there is the development community: making WordPress for developers to use
there are the site admins: making WordPress easy for them to use (the non programming aspects)
then the end end users, or people that visit WordPress sites</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921127879000068098" class="chatlog__message-container " data-message-id="921127879000068098">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:53 AM">11:53</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and there are levels in between all that, for example theme shops</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921128296303972373" class="chatlog__message-container " data-message-id="921128296303972373">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:54 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">another common theme I note here among WP, DAW, Photoshop: these are all content systems of one form or another
I was trying to figure out an example of similar extensibility success that wasn't itself a content system and the first thing that came to mind was web servers (starting with apache's mod_foo architecture)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921128414436524073" class="chatlog__message-container " data-message-id="921128414436524073">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:55 AM">11:55</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I consider the web server example much more limited compared to the others but I wonder if others have better examples</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921128456866123846" class="chatlog__message-container " data-message-id="921128456866123846">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:55 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve"><span class="chatlog__markdown-mention" title="KawaiiKiwi#8166">@Voran</span> mentions game modding</span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="wave">
<img class="chatlog__emoji chatlog__emoji--small" alt="👋" src="files/1f44b-9E658.svg" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921128891169521734" class="chatlog__message-container " data-message-id="921128891169521734">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(250, 186, 71)" title="bvisness#0001">bvisness</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921126580644872212')">
But as <span class="chatlog__markdown-mention" title="nakst#1416">@nakst</span> mentioned, it seems that not many people have really gone to that extent with 4coder. It seems like a most users aren't actually interested in doing that much work. So I'm curious how we start to shift toward the centralized control side in a way that works well. </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:57 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">This is something I've been thinking about with <a class="inserted-after" href="https://nakst.gitlab.io/essence" target="_blank">Essence</a>: how much of the system internals should be exposed by the API for applications to customize on behalf of the user? Should it be possible to say, install an application that changes how the native GUI textbox works? There seem to be a lot of disadvantages to doing so. Firstly, there is the concern of how inter-plugin interactions will behave, and what will happen when the system internals are changed, that you can see examples of discussed on <a class="inserted-after" href="https://devblogs.microsoft.com/oldnewthing/" target="_blank">The Old New Thing blog</a>, and I recall were also discussed in <a class="inserted-after" href="https://handmade.network/podcast/ep/14a5407e-5f73-4c59-a422-44c4ece6a1bf" target="_blank">Allen's HmN podcast</a> wrt 4coder. Secondly, the experience of using a plugin will often be inferior to if the functionality it provides were integrated directly in the core system; and since Essence is open source, if there were a really good plugin that replaced some functionality for the better -- surely it would be better to just make those features part of the operating system in the first place! And finally, there is the matter discussed just above, that a lot of people don't really want to customize their applications or system; they just want it to work!</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group" style="">
<div id="chatlog__message-container-921129407496749086" class="chatlog__message-container " data-message-id="921129407496749086">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:59 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">But on the contrary, purposefully restricting the capabilities of applications seems almost antithetical to the philosophy of an operating system, in that it is meant to assist the creation of, and expand the possibilities of applications!</span>
</div>
</div>
</div>
</div>
</div><div class="chatlog__message-group">
<div id="chatlog__message-container-921129013265727528" class="chatlog__message-container " data-message-id="921129013265727528">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(52, 152, 219)" title="nakst#1416">nakst</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921128891169521734')">
This is something I've been thinking about with Essence: how much of the system internals should be exposed by the API for applications to customize on behalf of the user? Should it be possible to say, install an application that changes how the native GUI textbox works? There seem to be a lot of disadvantages to doing so. Firstly, there is the concern of how inter-plugin interactions will behave, and what will happen when the system internals are changed, that you can see examples of discussed on The Old New Thing blog, and I recall were also discussed in Allen's HmN podcast wrt 4coder. Secondly, the experience of using a plugin will often be inferior to if the functionality it provides were integrated directly in the core system; and since Essence is open source, if there were a really good plugin that replaced some functionality for the better -- surely it would be better to just make those features part of the operating system in the first place! And finally, there is the matter discussed just above, that a lot of people don't really want to customize their applications or system; they just want it to work! </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 11:57 AM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">this is precisely where i think WordPress is a good model to follow</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921129125958287390" class="chatlog__message-container " data-message-id="921129125958287390">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:58 AM">11:58</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">you never modify core directly but you allow actions or filters to change the behavior after the fact</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921129156320854119" class="chatlog__message-container " data-message-id="921129156320854119">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:58 AM">11:58</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">in really any way they please</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921129317969301515" class="chatlog__message-container " data-message-id="921129317969301515">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:59 AM">11:59</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">so in Essence's case when you make OS Updates it never breaks their system</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921129358222032956" class="chatlog__message-container " data-message-id="921129358222032956">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 11:59 AM">11:59</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">it might just break their plugins but not the core OS</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921129571053604914" class="chatlog__message-container " data-message-id="921129571053604914">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(233, 30, 99)" title="Rudy#2467">Rudy</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921129125958287390')">
you never modify core directly but you allow actions or filters to change the behavior after the fact </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:00 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Could you explain how this works in more detail? I have not used WordPress before at all</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921129783822266368" class="chatlog__message-container " data-message-id="921129783822266368">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:00 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve"><div class="chatlog__markdown-quote"><div class="chatlog__markdown-quote-border"></div><div class="chatlog__markdown-quote-content">If theres one cardinal rule in WordPress development, its this: Dont touch WordPress core. This means that you dont edit core WordPress files to add functionality to your site. This is because WordPress overwrites core files with each update. Any functionality you want to add or modify should be done using plugins.</div></div></span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921129842022449174" class="chatlog__message-container " data-message-id="921129842022449174">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:01 PM">12:01</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve"><div class="chatlog__markdown-quote"><div class="chatlog__markdown-quote-border"></div><div class="chatlog__markdown-quote-content">Plugins allow you to greatly extend the functionality of WordPress without touching WordPress core itself.</div></div></span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921129939619684393" class="chatlog__message-container " data-message-id="921129939619684393">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:01 PM">12:01</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">one important thing to note here is you <em>can</em> touch core, as in there is not restricted access....</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921130014710317056" class="chatlog__message-container " data-message-id="921130014710317056">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:01 PM">12:01</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">which is something that would be nice to see in an OS</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921130116162134096" class="chatlog__message-container " data-message-id="921130116162134096">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:02 PM">12:02</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">but important to let folks know at every turn that they modify core at their own peril</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921130117906972682" class="chatlog__message-container " data-message-id="921130117906972682">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:02 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I'd also love an elaboration on the idea of WordPress actions/filters changing behavior, and the "don't modify the core" philosophy. I am a terrible web programmer, and was quite young, but I worked in WordPress for a time and my feeling was always that I had a lot of confusion resulting from the order of plugin installation &amp; precedence. To me it's exactly the text box problem that <span class="chatlog__markdown-mention" title="nakst#1416">@nakst</span> described. How do you deal with it when two plugins both have something to say about a systemic thing, and who goes first/gets control makes a big difference?</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921130484367491112" class="chatlog__message-container " data-message-id="921130484367491112">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:03 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve"><span class="chatlog__markdown-mention" title="Allen4th#9584">@Allen4th</span> without turning this discussion too WordPress specific I would encourage anyone interested in these questions to take a look at the developer / plugin handbook it is not too involved of a read <a href="https://developer.wordpress.org/plugins/intro/" target="_blank">https://developer.wordpress.org/plugins/intro/</a></span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921130678630879272" class="chatlog__message-container " data-message-id="921130678630879272">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:04 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">At a high level it's certainly the case that WordPress provides a lot of "hooks" where people can register callbacks and such</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921130763964002355" class="chatlog__message-container " data-message-id="921130763964002355">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:04 PM">12:04</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">plus various APIs for saving and loading data, checking user permissions, tons of general stuff for accessing content in the system</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921130805231751208" class="chatlog__message-container " data-message-id="921130805231751208">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:04 PM">12:04</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I wouldn't say plugins are particularly "sandboxed"</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921130936748347392" class="chatlog__message-container " data-message-id="921130936748347392">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:05 PM">12:05</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I know that some hooks do have priority, where you specify a number to help WP sort out what goes first...it can definitely be a pain point.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921130963285729342" class="chatlog__message-container " data-message-id="921130963285729342">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:05 PM">12:05</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Although most plugins work independently from each other.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921131408846618684" class="chatlog__message-container " data-message-id="921131408846618684">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:07 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I like to think of systems like WP's as "board game rules" where there's a fixed sequence of operations that everyone can know. This means that non-developers can say "ok step 4 is rendering the page header, after that happens we need to do auth verification before step 5 which is rendering the navigation bar"</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921131513708437514" class="chatlog__message-container " data-message-id="921131513708437514">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:07 PM">12:07</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and then WP actions/filters etc. provide ways for plugins to interpose on those "board game rules"</span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="thumbsup">
<img class="chatlog__emoji chatlog__emoji--small" alt="👍" src="files/1f44d-B3F5F.svg" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921131615705518160" class="chatlog__message-container " data-message-id="921131615705518160">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(250, 186, 71)" title="bvisness#0001">bvisness</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921130963285729342')">
Although most plugins work independently from each other. </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:08 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">plugin conflicts are very much a thing, unfortunately</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921131708877783111" class="chatlog__message-container " data-message-id="921131708877783111">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:08 PM">12:08</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">especially when you have millions of developers and many of them not thinking about how theirs might interact with anothers</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921133283922825287" class="chatlog__message-container " data-message-id="921133283922825287">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(233, 30, 99)" title="Rudy#2467">Rudy</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921128456866123846')">
<span class="chatlog__markdown-mention" title="KawaiiKiwi#8166">@Voran</span> mentions game modding </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:14 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">So, about modding, I guess what I'm most curious about is how a game creator who wants to allow modding should approach it. I've seen a lot of approaches.
<a class="inserted-after" href="https://www.minecraft.net/" target="_blank">Minecraft</a>, as the biggest example, started out without mod support, but was easily able to be modded because it was made in java and the jar file was easily modified. In recent years, another method of user-side configuration which is extremely similar to mods is that of <a class="inserted-after" href="https://minecraft.fandom.com/wiki/Data_pack" target="_blank">Datapacks</a>, which allows you to change the input data to the game (but not add additional functionality in the way that mods do). Other games actively support modding, with examples such as <a class="inserted-after" href="https://playstarbound.com/" target="_blank">Starbound</a> using Lua or <a class="inserted-after" href="https://www.spaceengineersgame.com/" target="_blank">Space Engineers</a> using C#. So there seem to be a lot of ways that people have approached mods.
But while the desire for players to add to the game seems to be there, from both developers and their communities, I've noticed that a lot of games which are designed to be modded fall short of the mark. It's certainly difficult to mod compiled games in languages like C++, especially without the source code, but it also opens up avenues of modding that typical modding apis don't actually present, because they effectively modify the game that's running rather than just providing a bunch of input. So the best situations for modding end up being those like minecraft, where nobody put any effort into making the game extensible, but the game is easy enough to modify due to the structure of how it was built.
So I'm wondering what ways people would approach the problem of trying to make a game which is compiled in a language like C++, but also able to be modified in ways which are mutually compatible between different mods, and powerful enough to support game-changing behaviors that don't require the game author to anticipate everything that people might want to do.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921133761930862633" class="chatlog__message-container " data-message-id="921133761930862633">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:16 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve"><div class="chatlog__markdown-quote"><div class="chatlog__markdown-quote-border"></div><div class="chatlog__markdown-quote-content">nobody put any effort into making the game extensible, but the game is easy enough to modify due to the structure of how it was built
</div></div>this is the most interesting thing to me, and perhaps it's just another symptom of actually needing to design something</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921134022460063804" class="chatlog__message-container " data-message-id="921134022460063804">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:17 PM">12:17</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think the idea of modding is probably outside of the scope of this conversation to an extent, because what you describe as being most effective is something that you wouldn't expect most people to do.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921134132866711602" class="chatlog__message-container " data-message-id="921134132866711602">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:18 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Right, I suppose it's a bit of a different challenge there</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921134138839429150" class="chatlog__message-container " data-message-id="921134138839429150">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:18 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">But it's weird that the most effective thing is so difficult.</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 12:18 PM">(edited)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921134578272440331" class="chatlog__message-container " data-message-id="921134578272440331">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:19 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">It's really strange to me too, and it's what I think a lot about when it comes to mods. Java isn't good, in my opinion, but because it's easy to open it up and just slot something in place of an existing piece of code, modding just works (more or less; it took a lot of work for minecraft mods to get to where they are today).</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921134828781465640" class="chatlog__message-container " data-message-id="921134828781465640">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:20 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">One of the things I was thinking about as I prepped for this fishbowl is what "interfaces" or "surfaces" your software has for customization. And I think we've listed many over the course of this conversation so far, each pertaining to different users:</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921134856514195476" class="chatlog__message-container " data-message-id="921134856514195476">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:21 PM">12:21</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">- Extremely low-level, modifying the executable itself with no explicit interface (e.g. minecraft mods, hardcore developers only)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921135016388472843" class="chatlog__message-container " data-message-id="921135016388472843">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:21 PM">12:21</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">- A library with which you can do nearly anything (e.g. 4coder, experienced developers)</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 12:21 PM">(edited)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921135210458906664" class="chatlog__message-container " data-message-id="921135210458906664">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:22 PM">12:22</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">- A plugin system with "hooks" where you can modify aspects of an established experience (e.g. WordPress plugins, developers only, but open to more casual use)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921135387714412574" class="chatlog__message-container " data-message-id="921135387714412574">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:23 PM">12:23</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">- A flexible system that you use without extension (e.g. WordPress posts and pages, any user)</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 12:23 PM">(edited)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921135443884511282" class="chatlog__message-container " data-message-id="921135443884511282">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:23 PM">12:23</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Many highly customizable programs seem to have multiple of these, and they target different types of users.</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 12:24 PM">(edited)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921136050963882034" class="chatlog__message-container " data-message-id="921136050963882034">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:25 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think that expresses pretty well the spectrum I tried to point out earlier. I think a key idea I would want to pass on is that just because the higher level things can be built from the lower level things in theory, that doesn't mean that only providing the low level things is good enough. The design work you put into higher level things pays off separately even if you leave room open for those lower level customization routes.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921136534470676510" class="chatlog__message-container " data-message-id="921136534470676510">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:27 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">That's a good point. Having greater customization capabilities like in 4coder increases <em>what</em> you can do, and having higher level abstractions that non-programmers can use increases <em>who</em> can do things, and with both paths open, you kind of get both things.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921136787429163108" class="chatlog__message-container " data-message-id="921136787429163108">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:28 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">An interesting distinction though is that in something like WordPress, developers are primarily making tools for end users. Whereas with something like 4coder there isn't really any end user beyond the developer.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921136897126969394" class="chatlog__message-container " data-message-id="921136897126969394">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:29 PM">12:29</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">This is not unique to 4coder either; I see it in a lot of programming tools</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 12:29 PM">(edited)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921136904114671666" class="chatlog__message-container " data-message-id="921136904114671666">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:29 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I also think it pays off in the compositional side. If all customization is low level you don't get composition of independent modules. So even a really skilled programmer can't do anything about it, if the centralized side didn't do any high level designs to enable composition.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921137440989794334" class="chatlog__message-container " data-message-id="921137440989794334">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(250, 186, 71)" title="bvisness#0001">bvisness</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921136787429163108')">
An interesting distinction though is that in something like WordPress, developers are primarily making tools for end users. Whereas with something like 4coder there isn't really any end user beyond the developer. </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:31 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Not sure id agree with that, depending on the definition of end user</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921137992825962547" class="chatlog__message-container " data-message-id="921137992825962547">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:33 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">well, people downstream of the developers</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921138100799959041" class="chatlog__message-container " data-message-id="921138100799959041">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:33 PM">12:33</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">It's interesting to me how different examples we've seen here today handle composition differently</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921138185025753108" class="chatlog__message-container " data-message-id="921138185025753108">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:34 PM">12:34</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Allen, you discussed 4coder, and Rudy brought up WordPress, and they both seem to have conflict situations</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921138279452135425" class="chatlog__message-container " data-message-id="921138279452135425">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:34 PM">12:34</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Demetri brought up DAWs, which seem to naturally compose plugins because each just produces an audio track (?)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921138333831286794" class="chatlog__message-container " data-message-id="921138333831286794">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:34 PM">12:34</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and the whole point of a DAW <em>is</em> to compose audio</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921138352709828608" class="chatlog__message-container " data-message-id="921138352709828608">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:34 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">you can still get conflicts with poorly written plugins but less so, yeah</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921139183702138912" class="chatlog__message-container " data-message-id="921139183702138912">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:38 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think an interesting dimension of this problem is how much work to prevent conflicts is worth it. There's at least three levels:
1. I didn't even do work in the core that would make it possible to avoid this conflict
2. I made it possible to avoid the conflict if the plugin behaves, but an "antagonistic" plugin can cause conflicts
3. I have defended against bad plugins so that it's not possible for a bad plugin to bring down the system</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921139557754372147" class="chatlog__message-container " data-message-id="921139557754372147">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:39 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">yeah</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921139579417919518" class="chatlog__message-container " data-message-id="921139579417919518">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:39 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">And by definition, each of those constrains what you can actually do a little bit more than the last</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 12:40 PM">(edited)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921139655041220608" class="chatlog__message-container " data-message-id="921139655041220608">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:40 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">definitely seems like if you're going to add plugins or "extensions" to your software, you should be considering conflicts from the start</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921139705091883008" class="chatlog__message-container " data-message-id="921139705091883008">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:40 PM">12:40</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and probably considering ways of designing things to avoid conflicts in the first place</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921139889402183700" class="chatlog__message-container " data-message-id="921139889402183700">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:41 PM">12:41</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">That's all assuming you want to do that kind of customization though. And I'm not even completely convinced that that should be our focus.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921139970893295666" class="chatlog__message-container " data-message-id="921139970893295666">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:41 PM">12:41</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Maybe as programmers it's natural for us to gravitate toward making these platforms for plugins and customization, but how important is that actually?</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921140047594549259" class="chatlog__message-container " data-message-id="921140047594549259">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:41 PM">12:41</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Maybe it's very important; Demetri opened with WordPress and it's fair to say that its success is largely due to extensibility</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921140049599402005" class="chatlog__message-container " data-message-id="921140049599402005">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:41 PM">12:41</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">but is that the primary factor?</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921140092951744542" class="chatlog__message-container " data-message-id="921140092951744542">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:41 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think this connects back to the observation that most of these systems are in some way linked to making content</span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="thumbsup">
<img class="chatlog__emoji chatlog__emoji--small" alt="👍" src="files/1f44d-B3F5F.svg" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
<div class="chatlog__reaction" title="point_up">
<img class="chatlog__emoji chatlog__emoji--small" alt="☝️" src="files/261d-3A498.svg" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921140172182134826" class="chatlog__message-container " data-message-id="921140172182134826">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:42 PM">12:42</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and naturally, there will be an enormous variety in what people will want that content to be ... too much variety for a developer to anticipate and plan for</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921140413891485746" class="chatlog__message-container " data-message-id="921140413891485746">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:43 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">can you think of an example of a system that <em>isn't</em> for "making content"? seems like most software is about "making content" in some way</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921140642904678401" class="chatlog__message-container " data-message-id="921140642904678401">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:44 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">a highly extensible system? the best example I have is things like web servers or programmable routers</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921140808814579762" class="chatlog__message-container " data-message-id="921140808814579762">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:44 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I'm interested in both extensibility and general flexibility</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921140862631682078" class="chatlog__message-container " data-message-id="921140862631682078">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:44 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Making content that other people can use creates a market, which I think Demitri mentioned earlier in <span class="chatlog__markdown-mention">#fishbowl-audience</span> .</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921140880541384764" class="chatlog__message-container " data-message-id="921140880541384764">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:44 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">extensibility seems to be a good way to ensure flexibility long into the future, as long as there are people willing to extend it</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921141240274255913" class="chatlog__message-container " data-message-id="921141240274255913">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:46 PM">12:46</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I'm just not sure that we should all be thinking about plugin systems all the time</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921141395383795712" class="chatlog__message-container " data-message-id="921141395383795712">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:47 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I'm open to the idea for sure, but I'm not sure I have a good example?</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921141637772619856" class="chatlog__message-container " data-message-id="921141637772619856">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:48 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">One fun thing that nakst mentioned before the fishbowl is how even simple things like resizing a window can be considered "customizing" the user's experience to some extent</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group" style="">
<div id="chatlog__message-container-921141764495142935" class="chatlog__message-container " data-message-id="921141764495142935">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:48 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and there is some real truth to that because I can't open this thread in a separate window to view it alongside the audience conversation <img loading="lazy" class="chatlog__emoji " alt="😠" title="angry" src="files\twemoji_1f620.svg"></span>
</div>
</div>
</div>
</div>
</div><div class="chatlog__message-group" style="">
<div id="chatlog__message-container-921141903674736690" class="chatlog__message-container " data-message-id="921141903674736690">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:49 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">we wouldn't typically consider that "programming", but it is providing some affordances to the user that allow them to adapt the program to their own workflows</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921141995643207720" class="chatlog__message-container " data-message-id="921141995643207720">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:49 PM">12:49</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">this is perhaps the end-end-user use case</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 12:49 PM">(edited)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921142108499357738" class="chatlog__message-container " data-message-id="921142108499357738">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:49 PM">12:49</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">but it's also something that is generally far more in the author's control, even in software that might have plugins and high levels of extensibility</span>
</div>
</div>
</div>
</div>
</div><div class="chatlog__message-group">
<div id="chatlog__message-container-921141695310102558" class="chatlog__message-container " data-message-id="921141695310102558">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:48 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Aha, perfect time to bring up this screenshot</span>
</div>
<div class="chatlog__attachment " onclick="">
<a href="files/unknown-90B44.png" target="_blank">
<img class="chatlog__attachment-media" src="files/unknown-90B44.png" alt="Image attachment" title="Image: unknown.png (12.56 KB)" loading="lazy">
</a>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921141844690214983" class="chatlog__message-container " data-message-id="921141844690214983">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:48 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">How ironic it is that a dialog box designed for customization of the system cannot be customized in such a simple way -- making the window bigger</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921142469243060244" class="chatlog__message-container " data-message-id="921142469243060244">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:51 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">The window size thing is in fact interesting. We discussed earlier how some games seem to do a really good job at something like plugins (mods in the case of games) but something common among games is very restricted screen resolutions.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921142569474351104" class="chatlog__message-container " data-message-id="921142569474351104">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:51 PM">12:51</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">The constraint of design where the canvas width/height are variables sometimes works and sometimes doesn't.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921142687640457258" class="chatlog__message-container " data-message-id="921142687640457258">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:52 PM">12:52</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Not sure what the lesson is, it's just interesting that something can be highly customizable along a fairly rich axis and then totally locked down along such a simple axis.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921142834747297792" class="chatlog__message-container " data-message-id="921142834747297792">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:52 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think discussing user interfaces of software is quite relevant to all this. One thing that is commonly brought up as an argument in favour of command line tools is that it is often very simple to compose ("pipe") applications to achieve a greater purpose. But with graphical user interfaces the axis of flexibility is quite different: instead the user is treated to things like customizable keyboard shortcuts, or customizable toolbars, menus, etc.</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 12:52 PM">(edited)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921143005551927326" class="chatlog__message-container " data-message-id="921143005551927326">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:53 PM">12:53</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">There is a lot more flexibility within a single application, rather than flexibility in the connections between applications.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921143197672013884" class="chatlog__message-container " data-message-id="921143197672013884">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:54 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">The ability for an application's data to connect with other applications is pretty big as well though - it makes the application much more flexible in terms of workflows that use it</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921143218605813810" class="chatlog__message-container " data-message-id="921143218605813810">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:54 PM">12:54</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">in GUI software you see it more with copy-paste</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921143223173402634" class="chatlog__message-container " data-message-id="921143223173402634">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:54 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I was also interested in this utility: <a href="https://www.nirsoft.net/utils/sysexp.html" target="_blank">https://www.nirsoft.net/utils/sysexp.html</a>, which lets you extract out the data from a standard Win32 list view and save it as a XML.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921143492514816020" class="chatlog__message-container " data-message-id="921143492514816020">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(52, 152, 219)" title="nakst#1416">nakst</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921143223173402634')">
I was also interested in this utility: <a href="https://www.nirsoft.net/utils/sysexp.html" target="_blank">https://www.nirsoft.net/utils/sysexp.html</a>, which lets you extract out the data from a standard Win32 list view and save it as a XML. </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:55 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">That's interesting, and I was actually pondering browser extensions as I prepped for this too. That's a world where lots of things are possible because applications use a common document structure.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921143517290582126" class="chatlog__message-container " data-message-id="921143517290582126">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 12:55 PM">12:55</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Seems like a similar thing.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921143563763466310" class="chatlog__message-container " data-message-id="921143563763466310">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(250, 186, 71)" title="bvisness#0001">bvisness</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921143197672013884')">
The ability for an application's data to connect with other applications is pretty big as well though - it makes the application much more flexible in terms of workflows that use it </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:55 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">This is why data formats are key - deeply flexible software is made possible by having input/output data that is well defined and commonly used.</span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="dion">
<img class="chatlog__emoji chatlog__emoji--small" alt="dion" src="files/913091974951759951-90F92.png" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921143812628316163" class="chatlog__message-container " data-message-id="921143812628316163">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(52, 152, 219)" title="nakst#1416">nakst</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921142834747297792')">
I think discussing user interfaces of software is quite relevant to all this. One thing that is commonly brought up as an argument in favour of command line tools is that it is often very simple to compose ("pipe") applications to achieve a greater purpose. But with graphical user interfaces the axis of flexibility is quite different: instead the user is treated to things like customizable keyboard shortcuts, or customizable toolbars, menus, etc. </span>
<span class="chatlog__reference-edited-timestamp" title="16-Dec-21 12:52 PM">(edited)</span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:56 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">You mention customizable keyboard shortcuts, toolbars, menus, but those are actually quite rare these days</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921143963937800312" class="chatlog__message-container " data-message-id="921143963937800312">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:57 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I plan to make those standard features for all native Essence applications :)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921143978307489792" class="chatlog__message-container " data-message-id="921143978307489792">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:57 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">it seems like it used to be the expectation, and to some extent the norm, that you could customize those things</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 12:57 PM">(edited)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921144552054747156" class="chatlog__message-container " data-message-id="921144552054747156">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 12:59 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Another idea I had was: imagine if you could drag a Lua script into the toolbar of an application, and when you click it, it is able to automate the UI of that application through a standard interface. But then I realized that this is basically what browser <a class="inserted-after" href="https://en.wikipedia.org/wiki/Bookmarklet" target="_blank">bookmarklets</a> are!</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921144922390818876" class="chatlog__message-container " data-message-id="921144922390818876">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:01 PM">13:01</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">This is similar, but different to browser extensions; browser extensions are expected to sit in the background silently changing some aspect of the web experience, but bookmarklets are like a button that the user owns and can call upon to perform a specific custom action as needed.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921145100313165834" class="chatlog__message-container " data-message-id="921145100313165834">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:01 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Well and what makes the bookmarklet possible is that the presented structure of the UI is actually another "interface" for things to connect with</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921145285957271553" class="chatlog__message-container " data-message-id="921145285957271553">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:02 PM">13:02</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">people are gonna be mad when the takeaway from this fishbowl is "use <a class="inserted-after" href="https://en.wikipedia.org/wiki/Retained_mode" target="_blank">retained-mode guis</a>" <img loading="lazy" class="chatlog__emoji " alt="😈" title="smiling_imp" src="files\twemoji_1f608.svg"></span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921145372154417193" class="chatlog__message-container " data-message-id="921145372154417193">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:02 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">See also: <a href="https://twitter.com/rsnous/status/1362294053639909380" target="_blank">https://twitter.com/rsnous/status/1362294053639909380</a></span>
</div>
<div class="chatlog__embed">
<div class="chatlog__embed-color-pill" style="background-color: rgba(29, 161, 242, 255)"></div>
<div class="chatlog__embed-content-container">
<div class="chatlog__embed-content">
<div class="chatlog__embed-text">
<div class="chatlog__embed-author-container">
<img class="chatlog__embed-author-icon" src="files/qXmq04Eq_bigger-03179.png" alt="Author icon" loading="lazy" onerror="this.style.visibility='hidden'">
<a class="chatlog__embed-author-link" href="https://twitter.com/rsnous">
<div class="chatlog__embed-author">Omar Rizwan (@rsnous)</div>
</a>
</div>
<div class="chatlog__embed-description">
<div class="chatlog__markdown chatlog__markdown-preserve">there should be a key on everyone's keyboard that is dedicated to calling up a little program that you maintain yourself</div>
</div>
<div class="chatlog__embed-fields">
<div class="chatlog__embed-field chatlog__embed-field--inline">
<div class="chatlog__embed-field-name">
<div class="chatlog__markdown chatlog__markdown-preserve">Likes</div>
</div>
<div class="chatlog__embed-field-value">
<div class="chatlog__markdown chatlog__markdown-preserve">106</div>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__embed-footer">
<img class="chatlog__embed-footer-icon" src="files/apple-touch-icon-192x192-E344C.png" alt="Footer icon" loading="lazy">
<span class="chatlog__embed-footer-text">
Twitter
17-Feb-21 10:53 PM </span>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921145522855755787" class="chatlog__message-container " data-message-id="921145522855755787">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:03 PM">13:03</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I really like the concept of the user having <em>their own</em> buttons in a toolbar, or <em>their own</em> keys on a keyboard.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921145674081398875" class="chatlog__message-container " data-message-id="921145674081398875">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:04 PM">13:04</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">It's a much more richer way of the user expanding their software and their workflow, than enabling plugins that run in the background.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921145806394900560" class="chatlog__message-container " data-message-id="921145806394900560">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:04 PM">13:04</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">(Sorry for going on a bit of a UX tangent, there <img loading="lazy" class="chatlog__emoji " alt="😅" title="sweat_smile" src="files\twemoji_1f605.svg"> )</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921145840993710101" class="chatlog__message-container " data-message-id="921145840993710101">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:04 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">that's the whole reason we do these fishbowls</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921145882764783688" class="chatlog__message-container " data-message-id="921145882764783688">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:04 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I like the "scriptlet-as-primitive" idea a lot</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921145981364490301" class="chatlog__message-container " data-message-id="921145981364490301">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:05 PM">13:05</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">so then each Essence app would expose some data structure (including functions) to the OS as scriptable</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921146043175931975" class="chatlog__message-container " data-message-id="921146043175931975">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:05 PM">13:05</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and you just drag a lua script onto the application window, the OS does the rest</span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="thumbsup">
<img class="chatlog__emoji chatlog__emoji--small" alt="👍" src="files/1f44d-B3F5F.svg" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921146169508368425" class="chatlog__message-container " data-message-id="921146169508368425">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588">demetrispanos</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921145981364490301')">
so then each Essence app would expose some data structure (including functions) to the OS as scriptable </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:06 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">it seems though like much of the power of that comes from ambient things about the app, and not extra work on the developer's part</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921146245899235329" class="chatlog__message-container " data-message-id="921146245899235329">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:06 PM">13:06</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Apple has had their <a class="inserted-after" href="https://support.apple.com/guide/automator/welcome/mac" target="_blank">Automator</a> thing forever and it never seems to get much use or support</span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="point_up">
<img class="chatlog__emoji chatlog__emoji--small" alt="☝️" src="files/261d-3A498.svg" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921146327528779776" class="chatlog__message-container " data-message-id="921146327528779776">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:06 PM">13:06</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">they have <a class="inserted-after" href="https://support.apple.com/guide/shortcuts/welcome/ios" target="_blank">Shortcuts</a> on iOS now with seemingly similar results, although they made the smart decision to hook into the share sheet system</span>
</div>
</div>
</div>
</div>
</div><div class="chatlog__message-group" style="">
<div id="chatlog__message-container-921146090798075914" class="chatlog__message-container " data-message-id="921146090798075914">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(52, 152, 219)" title="nakst#1416">nakst</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921145522855755787')">
I really like the concept of the user having <em>their own</em> buttons in a toolbar, or <em>their own</em> keys on a keyboard. </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:05 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">how would you consider this to be different from apple's touchbar?</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921146331106525234" class="chatlog__message-container " data-message-id="921146331106525234">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:06 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and 90% of people disliked the touchbar</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921146549185171496" class="chatlog__message-container " data-message-id="921146549185171496">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(233, 30, 99)" title="Rudy#2467">Rudy</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921146090798075914')">
how would you consider this to be different from apple's touchbar? </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:07 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I was under the impression that the contents of the touchbar were primarily restricted by the application developer?</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921146613676802118" class="chatlog__message-container " data-message-id="921146613676802118">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:07 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">that was my understanding as well</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921152392421052447" class="chatlog__message-container " data-message-id="921152392421052447">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(52, 152, 219)" title="nakst#1416">nakst</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921146549185171496')">
I was under the impression that the contents of the touchbar were primarily restricted by the application developer? </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:30 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">i believe there were tools available to customize the bars to run any application or macro of your choosing</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921152411849093181" class="chatlog__message-container " data-message-id="921152411849093181">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:30 PM">13:30</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">i had a co-worker i saw do this</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921147305195880468" class="chatlog__message-container " data-message-id="921147305195880468">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:10 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">it seems to me like you need some kind of standard structure that the application already uses, that people can hook into and use for themselves</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921147401534861344" class="chatlog__message-container " data-message-id="921147401534861344">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:10 PM">13:10</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">for browser extensions it would be the <a class="inserted-after" href="https://en.wikipedia.org/wiki/Document_Object_Model" target="_blank">DOM</a>, for windows I guess it's something something XML</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921147520032309308" class="chatlog__message-container " data-message-id="921147520032309308">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:11 PM">13:11</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">what's interesting to me is that a lot of these user-facing things like toolbars and whatnot seem pretty orthogonal to other aspects of customization</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921147686546178131" class="chatlog__message-container " data-message-id="921147686546178131">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:12 PM">13:12</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">like an app can have a plugin system, but if the platform provides custom toolbars, then that's just another way for the app (and any plugins) to present themselves</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921147956617412648" class="chatlog__message-container " data-message-id="921147956617412648">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(52, 152, 219)" title="Allen4th#9584">Allen4th</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921143563763466310')">
This is why data formats are key - deeply flexible software is made possible by having input/output data that is well defined and commonly used. </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:13 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Since you're working on <a class="inserted-after" href="https://dion.systems/" target="_blank">Dion</a>, could you explain some of the reasons why it can be important to have a common data format to share across different domains?</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921147988120838175" class="chatlog__message-container " data-message-id="921147988120838175">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:13 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">going back to those layers / interfaces I was talking about before, apps and platforms provide interfaces at all levels - toolbars and windows for the end-est users, options and config for power users, plugin systems for developers</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921148115908689971" class="chatlog__message-container " data-message-id="921148115908689971">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:13 PM">13:13</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">maybe if you want to make really flexible software, you just need to think about providing specific affordances at all levels</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921148923312238623" class="chatlog__message-container " data-message-id="921148923312238623">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:16 PM">13:16</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">(did we lose allen for now)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921149399302807563" class="chatlog__message-container " data-message-id="921149399302807563">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:18 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">(I think so)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921149574591160400" class="chatlog__message-container " data-message-id="921149574591160400">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(250, 186, 71)" title="bvisness#0001">bvisness</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921148115908689971')">
maybe if you want to make really flexible software, you just need to think about providing specific affordances at all levels </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:19 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Kind of like how Windows has the control panel for the end-user settings, and then the <a class="inserted-after" href="https://en.wikipedia.org/wiki/Windows_Registry" target="_blank">registry</a> for more power user stuff.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921149863108952125" class="chatlog__message-container " data-message-id="921149863108952125">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:20 PM">13:20</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">But once you get to levels like the registry, you then start having to share the space with applications storing internal persistent state, which were never intended to be modified by a human.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921150034421104660" class="chatlog__message-container " data-message-id="921150034421104660">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:21 PM">13:21</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Which is a little different to the Unix philosophy, where everything in <span class="chatlog__markdown-pre chatlog__markdown-pre--inline">/etc</span> is theoretically up for the user to configure.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921150155011526726" class="chatlog__message-container " data-message-id="921150155011526726">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:21 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">yeah, and that certainly gets weird</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921150237836447804" class="chatlog__message-container " data-message-id="921150237836447804">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:22 PM">13:22</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and none of that is probably what people would consider a good design practice these days, as we move toward applications being less trusted</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921150336280977458" class="chatlog__message-container " data-message-id="921150336280977458">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:22 PM">13:22</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">although obviously apps could have their own isolated "registries" and still have the same problems, I suppose</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921150519731433504" class="chatlog__message-container " data-message-id="921150519731433504">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:23 PM">13:23</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Since this has been going for nearly 2.5 hours now, I feel we should start considering some more concrete takeaways</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921150607065219152" class="chatlog__message-container " data-message-id="921150607065219152">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:23 PM">13:23</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">we've certainly covered a lot and if possible I'd like to try and synthesize a few points</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921150862074724452" class="chatlog__message-container " data-message-id="921150862074724452">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:24 PM">13:24</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">are there any main points that jump out to any of you? otherwise I have some ideas for how we might go ahead</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921150979523637278" class="chatlog__message-container " data-message-id="921150979523637278">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/7181a9d5c0264f3b6d9ed0e8ac1e2825-2270C.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="nakst#1416" data-user-id="759536006764167209">nakst</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:25 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">You can go ahead!</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921151121882484826" class="chatlog__message-container " data-message-id="921151121882484826">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:25 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">There are obviously lots of ways you can make your software "flexible" - from resizing windows all the way down to heavy modification of the system</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921151241000726548" class="chatlog__message-container " data-message-id="921151241000726548">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:26 PM">13:26</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I don't know that we can prescribe any of them; it seems like that will depend heavily on the specific program</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 01:26 PM">(edited)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921151370936086528" class="chatlog__message-container " data-message-id="921151370936086528">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:26 PM">13:26</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">but <em>assuming</em> you want to provide flexibility for a certain type of user - what are some specific things we can consider?</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921151427496255489" class="chatlog__message-container " data-message-id="921151427496255489">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:26 PM">13:26</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">like for example if I want to provide a platform for developers to extend my software in the future</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921151448023199844" class="chatlog__message-container " data-message-id="921151448023199844">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:26 PM">13:26</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">what should I be thinking about?</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921151494898716692" class="chatlog__message-container " data-message-id="921151494898716692">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:27 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Okay, sorry for the blip there I can try to answer that question if you'd still like to go down that road.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921151555779063848" class="chatlog__message-container " data-message-id="921151555779063848">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:27 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">by all means go down that road</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921152207309660180" class="chatlog__message-container " data-message-id="921152207309660180">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:30 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">It's a bit of a hard topic to unpack in a short way. One angle is that I think looking at things in terms of data formats/types and the arrows that transform data or transport that data is a more first-principles approach. And there's plenty of flexibility to software viewed from the lens without ever having to talk about plugins or customizations.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921152588076974122" class="chatlog__message-container " data-message-id="921152588076974122">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:31 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Another angle is to take a look at how a "plugin" interacts with the core, or how they interact with other plugins, and see that really what they're doing is bringing in new "arrows" to the program. The reason they can't just be separate programs is because the cost of serializing and communicating data would be prohibitive.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921152852657844254" class="chatlog__message-container " data-message-id="921152852657844254">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:32 PM">13:32</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">So a plugin is what you get when you want to take an arrow that already exists, and compose it with another arrow, but also need to optimize the flow of arranging that composition.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921152953983852565" class="chatlog__message-container " data-message-id="921152953983852565">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:32 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">...we might need a drawing for this <img loading="lazy" class="chatlog__emoji " alt="😛" title="stuck_out_tongue" src="files\twemoji_1f61b.svg"></span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921153051446890527" class="chatlog__message-container " data-message-id="921153051446890527">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:33 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think it's worth bringing up because it can sometimes be tempting to overcomplicate things. For instance does an image editor need a plugin that could actually just be a different image editor? If they can both load and save the same file what's the difference?</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921153200692797511" class="chatlog__message-container " data-message-id="921153200692797511">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:33 PM">13:33</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">In that case the difference is that the standard formats for images generally are too underpowered. If you want to preserve layers, the issue is each editor has it's own format for that feature.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921153336030412800" class="chatlog__message-container " data-message-id="921153336030412800">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:34 PM">13:34</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">If a format existed for images with named RGBA layers, could you get closer to composing all the capabilities of two different image editors without them needing to "plug together" at all?</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921153540389486642" class="chatlog__message-container " data-message-id="921153540389486642">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:35 PM">13:35</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Like I said, hard to unpack, maybe that did the trick, maybe it didn't but I think that's the best version of that idea that I have in me right now.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921154019685187604" class="chatlog__message-container " data-message-id="921154019685187604">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:37 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Sure, so in the case of programs that work with images, the lack of a common acceptable format makes it difficult for these programs to exist separately, and instead you're incentivized to make one a "plugin" for the other?</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921154342176825384" class="chatlog__message-container " data-message-id="921154342176825384">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:38 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Right. Basically a plugin "is" a program. I think <span class="chatlog__markdown-mention" title="nakst#1416">@nakst</span> could chime in to tell me if this perspective really makes sense. But I tend to see an OS as: a program that knows how hardware works and has a strong plugin system - those plugins are the userspace applications.</span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="thumbsup">
<img class="chatlog__emoji chatlog__emoji--small" alt="👍" src="files/1f44d-B3F5F.svg" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921154869249855508" class="chatlog__message-container " data-message-id="921154869249855508">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/cfed2ed27b658eea282b1babeab0b3a5-AEA5D.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="Rudy#2467" data-user-id="517049944885166091">Rudy</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:40 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">i could see that as an effectual metaphor <img loading="lazy" class="chatlog__emoji " alt="🤔" title="thinking" src="files\twemoji_1f914.svg"></span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921154989785755759" class="chatlog__message-container " data-message-id="921154989785755759">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:41 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">In the same way a plugin to <a class="inserted-after" href="https://en.wikipedia.org/wiki/Paint.net" target="_blank">Paint .NET</a> is like a "program" of the flavor defined by Paint .NET. Those programs get invoked when I hit a button in the toolbar, and they have access to the API provided by Paint .NET. By exchanging data through an API instead of through a format, Paint .NET gets an extra layer of abstraction. They can change their internal data structures as long as the APIs still work in equivalent ways. But the downside is now the only programs that can work with their layer format are the ones written to their API. If you make a really robust data format definition, then the user space applications can cooperate just through the standard APIs of an OS.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921156384463126608" class="chatlog__message-container " data-message-id="921156384463126608">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/2142bf5f82067284c62630b68a10e979-126DC.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="rxi#5759" data-user-id="278245032723742721">rxi</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:46 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Have we touched on the idea that flexibility in software tends to be a shift of the burden of correctly designing the software from the developer onto the user? (sorry, got here a bit late)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921156581410865202" class="chatlog__message-container " data-message-id="921156581410865202">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:47 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I don't think we really have</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921156631893512262" class="chatlog__message-container " data-message-id="921156631893512262">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:47 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">To some extent that was one of the takeaways of the config fishbowl, but we haven't touched on it much here today</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921156708766724137" class="chatlog__message-container " data-message-id="921156708766724137">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:47 PM">13:47</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and I'm curious how you apply that idea to your own work</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921157484884938754" class="chatlog__message-container " data-message-id="921157484884938754">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/2142bf5f82067284c62630b68a10e979-126DC.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(233, 30, 99)" title="rxi#5759">rxi</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921156384463126608')">
Have we touched on the idea that flexibility in software tends to be a shift of the burden of correctly designing the software from the developer onto the user? (sorry, got here a bit late) </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:50 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">this was indeed my original thesis on the previous fishbowl about "configuration", that it is usually an excuse to avoid design responsibility</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921157629500358716" class="chatlog__message-container " data-message-id="921157629500358716">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/2142bf5f82067284c62630b68a10e979-126DC.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="rxi#5759" data-user-id="278245032723742721">rxi</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:51 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">ah. I started typing some stuff but it sounds like it might have all been covered in that discussion in that case <img loading="lazy" class="chatlog__emoji " alt="😄" title="smile" src="files\twemoji_1f604.svg"> I don't want to end up rehashing it all</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921157675394420766" class="chatlog__message-container " data-message-id="921157675394420766">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:51 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">no we haven't touched this much yet</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921157757439189042" class="chatlog__message-container " data-message-id="921157757439189042">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:52 PM">13:52</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">except in discussing how extensibility in DAWs etc. is essential because of the sheer range of things people might want to do, which is impossible for a single design to cover</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921157848296198214" class="chatlog__message-container " data-message-id="921157848296198214">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 01:52 PM">13:52</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">so in some sense it's a question of whether it is possible/good for the designer to take the responsibility or not</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921158224001007656" class="chatlog__message-container " data-message-id="921158224001007656">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 01:53 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">to pick one specific project of yours - how would you say that idea shows up in the design of <a class="inserted-after" href="https://github.com/rxi/lite" target="_blank">lite</a>?</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921159986040676383" class="chatlog__message-container " data-message-id="921159986040676383">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/2142bf5f82067284c62630b68a10e979-126DC.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="rxi#5759" data-user-id="278245032723742721">rxi</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:00 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">interestingly not so much in lite, such that it relinquishes almost all the responsibility of choice onto the user (though does try to enforce a deliberate philosophy) but in this context the user would typically be a software developer so it's a little different to if it was something like a piece of photo editing software. I view lite as something akin to a large python script; it's meant to be something you modify quickly and without too much concern and if things break hopefully the whole thing is small enough that you'd have a good understanding of why -- the plugin system is based around simply monkey patching lua functions of which the editor's core is built from (with exception of the lower-level rendering and I/O stuff)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921160500589514872" class="chatlog__message-container " data-message-id="921160500589514872">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:02 PM">14:02</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">this would be at the end of the spectrum closer to complete flexibility which at its most extreme would be a C compiler paired with a text editor, where you'd have flexibility to the point of being able to write any software. I think it's important to consider the faults of this freedom when considering flexibility at all, as presumably the faults of the extremity would apply to anything though to a much lesser extent</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921160606558605445" class="chatlog__message-container " data-message-id="921160606558605445">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:03 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think, perhaps, there's a difference here between neglecting design responsibility vs it being out of scope</span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="thumbsup">
<img class="chatlog__emoji chatlog__emoji--small" alt="👍" src="files/1f44d-B3F5F.svg" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921160692046901248" class="chatlog__message-container " data-message-id="921160692046901248">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:03 PM">14:03</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">for example if I make a spreadsheet program for you, whether or not you make good financial decisions with it is out of scope</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921160772380397588" class="chatlog__message-container " data-message-id="921160772380397588">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:04 PM">14:04</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I'm not leaving a "hole" in my design for you to fill, I'm just filling a portion of the space</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921160969663688734" class="chatlog__message-container " data-message-id="921160969663688734">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:04 PM">14:04</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">whereas if I make an application UI with a bunch of widgets and I don't try to reason about how those widgets should be laid out, then I am leaving a "hole" in my design</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921161030116204544" class="chatlog__message-container " data-message-id="921161030116204544">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:05 PM">14:05</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I enclosed the space of "there are widgets laid out somehow" but refused to put order into that space</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921161154317910026" class="chatlog__message-container " data-message-id="921161154317910026">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:05 PM">14:05</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">possibly because I thought "the user will configure it as they see fit"</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921161583151939584" class="chatlog__message-container " data-message-id="921161583151939584">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:07 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Sure; one is clearly the domain of the program and one is not</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921161684935114806" class="chatlog__message-container " data-message-id="921161684935114806">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:07 PM">14:07</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">What value is it to a user to decide how widgets are laid out? Thats not the point</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921162104248078377" class="chatlog__message-container " data-message-id="921162104248078377">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:09 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">to flip this framing around, you could then think about extensibility as how the designer sets the stage for downstream design decisions</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921162181448466542" class="chatlog__message-container " data-message-id="921162181448466542">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:09 PM">14:09</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I did A and B, which means you can do C and D (that build on, but don't overlap A and B)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921162561821491212" class="chatlog__message-container " data-message-id="921162561821491212">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/2142bf5f82067284c62630b68a10e979-126DC.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588">demetrispanos</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921160969663688734')">
whereas if I make an application UI with a bunch of widgets and I don't try to reason about how those widgets should be laid out, then I am leaving a "hole" in my design </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="rxi#5759" data-user-id="278245032723742721">rxi</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:11 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">can't it be unclear where that line is? Even with this example it is a user choice in a lot of software -- eg. being able to rearrange the panels in photoshop, or re-order the columns on the list view of the task manager. Should I be allowing the user to change the UI to that degree?</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921162828059119646" class="chatlog__message-container " data-message-id="921162828059119646">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:12 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">the user can <em>re</em>-arrange photoshop, but photoshop has a set of initial opinions</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921163330842927104" class="chatlog__message-container " data-message-id="921163330842927104">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:14 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">You're allowing users to make design decisions, but these are design decisions that you've already made and implemented a default for. Because the premise of Photoshop is not rearranging the panes, but editing images, the ability to edit positions of things is not the thing that you should be delegating purely to the user.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921163680761147452" class="chatlog__message-container " data-message-id="921163680761147452">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:15 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">So my line would be where the purpose of what you're providing <em>is</em> the ability to change something, it is not important to make a default decision, but for something which is an addition to the thing you're providing, you need to provide a default decision even if you allow people to make their own decision in that space</span>
</div>
</div>
</div>
</div>
</div><div class="chatlog__message-group" style="">
<div id="chatlog__message-container-921163680614326332" class="chatlog__message-container " data-message-id="921163680614326332">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/2142bf5f82067284c62630b68a10e979-126DC.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588">demetrispanos</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921162828059119646')">
the user can <em>re</em>-arrange photoshop, but photoshop has a set of initial opinions </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="rxi#5759" data-user-id="278245032723742721">rxi</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:15 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">that it can be changed from the default changes the default itself, though. How much thought and time and research was put into the default configuration? If I open photoshop and move a panel somewhere because it's what I was used to in paint.net, though this was an initial convenience this could end up being detrimental in the long term to the general workflow. This feels in general an issue with flexibility; in that the user might be too eager to change things rather than getting used to the defaults, and presumably there was a good reason those defaults were picked</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921163829520502824" class="chatlog__message-container " data-message-id="921163829520502824">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/2142bf5f82067284c62630b68a10e979-126DC.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(233, 30, 99)" title="rxi#5759">rxi</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921163680614326332')">
that it can be changed from the default changes the default itself, though. How much thought and time and research was put into the default configuration? If I open photoshop and move a panel somewhere because it's what I was used to in paint.net, though this was an initial convenience this could end up being detrimental in the long term to the general workflow. This feels in general an issue with flexibility; in that the user might be too eager to change things rather than getting used to the defaults, and presumably there was a good reason those defaults were picked </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:16 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I agree that when you add flexibility you add the temptation to do "noise" edits</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921163917722517504" class="chatlog__message-container " data-message-id="921163917722517504">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:16 PM">14:16</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">pointless micro-changes that make your setup non-standard but not any more useful to you</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921164001684123689" class="chatlog__message-container " data-message-id="921164001684123689">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:16 PM">14:16</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">with great power, great responsibility etc.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921165105897537546" class="chatlog__message-container " data-message-id="921165105897537546">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:21 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">As a counterpoint to the users shooting themselves in the foot, sometimes the user knows better than the developer what is most effective for them; to use the aforementioned comparison of user-space programs as 'plugins' for an OS, it's very unlikely that the OS is going to provide defaults that are perfect for everyone.</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 02:21 PM">(edited)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921165221727465472" class="chatlog__message-container " data-message-id="921165221727465472">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__reference-symbol"></div>
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__reference">
<img class="chatlog__reference-avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
<div class="chatlog__reference-author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588">demetrispanos</div>
<div class="chatlog__reference-content">
<span class="chatlog__reference-link" onclick="scrollToMessage(event, '921163917722517504')">
pointless micro-changes that make your setup non-standard but not any more useful to you </span>
</div>
</div>
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:21 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I feel there are ways you can constrain this with e.g window docking, tabs, that kind of thing. Ive seen some apps that seem to have a full internal window system for no reason, but theres a middle ground.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921165314245427290" class="chatlog__message-container " data-message-id="921165314245427290">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:22 PM">14:22</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">But at the same time it may just be noise.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921165463893999636" class="chatlog__message-container " data-message-id="921165463893999636">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:22 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">yeah, you may have heard me talk about a design being "floppy" before</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921165514166911066" class="chatlog__message-container " data-message-id="921165514166911066">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:22 PM">14:22</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">that is, there is too much granularity of choice relative to granularity of utility</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921165581275791410" class="chatlog__message-container " data-message-id="921165581275791410">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:23 PM">14:23</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">my common example, which related to flexibility, is web page layout</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921165693540532244" class="chatlog__message-container " data-message-id="921165693540532244">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:23 PM">14:23</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">it makes 100% sense to have accommodation for widescreen, common desktop width, common tablet width, common phone width, and then some extreme fallback</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921165743926689832" class="chatlog__message-container " data-message-id="921165743926689832">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:23 PM">14:23</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">it makes (IMO) 0 sense to have continuously-variable adaptation</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921165904274923560" class="chatlog__message-container " data-message-id="921165904274923560">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:24 PM">14:24</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">similarly, moving your UI panes around makes a lot of sense, but having pixel-level precision of where you place them does not</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921165969903222846" class="chatlog__message-container " data-message-id="921165969903222846">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:24 PM">14:24</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">there's no plausible reason to have something <em>almost</em> docked but still 1-2px off being docked</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921166105433751622" class="chatlog__message-container " data-message-id="921166105433751622">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:25 PM">14:25</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">so I think there's a lot of value in reducing the complexity of the input space down until it resembles the granularity of the utility you get out of changes</span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="thumbsup">
<img class="chatlog__emoji chatlog__emoji--small" alt="👍" src="files/1f44d-B3F5F.svg" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921166347872915497" class="chatlog__message-container " data-message-id="921166347872915497">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:26 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">for sure</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921166431989694475" class="chatlog__message-container " data-message-id="921166431989694475">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:26 PM">14:26</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I do want to highlight a point rxi mentioned, which is that users may just want to change things right away instead of learning</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921166561509773353" class="chatlog__message-container " data-message-id="921166561509773353">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:27 PM">14:27</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Which is at least a strong factor to keep in mind when designing stuff, because I know that impulse</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921167090373783563" class="chatlog__message-container " data-message-id="921167090373783563">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:29 PM">14:29</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and actually we could apply this lesson about "floppiness" back to lower levels of the software too</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921167201216626688" class="chatlog__message-container " data-message-id="921167201216626688">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:29 PM">14:29</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">for example, if designing a plugin interface, how granular does your interface need to be</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921167532927369269" class="chatlog__message-container " data-message-id="921167532927369269">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:30 PM">14:30</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">allowing things to be too granular may just be poor utility for users</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921167692675817503" class="chatlog__message-container " data-message-id="921167692675817503">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:31 PM">14:31</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">that may apply to what Allen was saying about 4coder, and how 4coder being an "editor template" is just not that useful a goal.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921167986079977482" class="chatlog__message-container " data-message-id="921167986079977482">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:32 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">yeah 4coder gives you extreme/unlimited granularity in what you can do, which is both a strength and a barrier to entry</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921168129156063263" class="chatlog__message-container " data-message-id="921168129156063263">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:33 PM">14:33</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">the more granular a decision you require from your user, the fewer people will be able to even express that input never mind make the choice wisely</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921168219346186290" class="chatlog__message-container " data-message-id="921168219346186290">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:33 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">well, as long as you're aware of that tradeoff, hopefully you can make a smart decision about what is best for your software</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921168330361020436" class="chatlog__message-container " data-message-id="921168330361020436">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:34 PM">14:34</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">in keeping with the advice from the config fishbowl though, maybe it's best to start more opinionated and relax it later.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921168402981195796" class="chatlog__message-container " data-message-id="921168402981195796">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:34 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">yes this connects to what I was saying earlier about "board game rules"</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921168476691922964" class="chatlog__message-container " data-message-id="921168476691922964">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:34 PM">14:34</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">a common reference point that, maybe, nobody actually uses in practice ... but it is the reference point from which everything else is expressed</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921168528629985290" class="chatlog__message-container " data-message-id="921168528629985290">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:34 PM">14:34</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">"I use XYZ but instead of rule R I use rule Q"</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921168642018787328" class="chatlog__message-container " data-message-id="921168642018787328">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:35 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">as opposed to a blank board, a marker, and a bunch of generic pawns? <img loading="lazy" class="chatlog__emoji " alt="😛" title="stuck_out_tongue" src="files\twemoji_1f61b.svg"></span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921168691494781008" class="chatlog__message-container " data-message-id="921168691494781008">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:35 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">right exactly, as opposed to a complete vacuum</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921168758905647184" class="chatlog__message-container " data-message-id="921168758905647184">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:35 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">"You can invent millions of games with this!"</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921168860458147840" class="chatlog__message-container " data-message-id="921168860458147840">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:36 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">that makes a lot of sense, and I always like to have more analogies <img loading="lazy" class="chatlog__emoji " alt="🙂" title="slight_smile" src="files\twemoji_1f642.svg"></span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921168944742678609" class="chatlog__message-container " data-message-id="921168944742678609">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:36 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I know it sounds like a stretch, but really the <a class="inserted-after" href="https://www.youtube.com/watch?v=5xWNfVhVTJU" target="_blank">soren johnson talk</a> about board games I posted in -audience channel is relevant</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921168946328125490" class="chatlog__message-container " data-message-id="921168946328125490">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:36 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">actually could connect to the points about modding too, oh boy</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921168973905682503" class="chatlog__message-container " data-message-id="921168973905682503">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:36 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and we all know the concept of "house rules" for board/card games</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921169022907727874" class="chatlog__message-container " data-message-id="921169022907727874">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:36 PM">14:36</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">"in this house, we play monopoly with free parking money"</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921169069649043466" class="chatlog__message-container " data-message-id="921169069649043466">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:37 PM">14:37</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">not actually a rule, but a very widely used modification</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921169308791484466" class="chatlog__message-container " data-message-id="921169308791484466">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:37 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">we do see lots of great game ideas starting as mods instead of stuff from scratch... <img loading="lazy" class="chatlog__emoji " alt="thonking" title="thonking" src="https://cdn.discordapp.com/emojis/446839357907795969.png"></span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921169328076881960" class="chatlog__message-container " data-message-id="921169328076881960">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:38 PM">14:38</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">now I'm getting way off track</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921169437091053598" class="chatlog__message-container " data-message-id="921169437091053598">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:38 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I don't know if it's really that far off track</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921169480799887381" class="chatlog__message-container " data-message-id="921169480799887381">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:38 PM">14:38</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">WP never set out to make a help desk system, and yet you made it one</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921169580112642069" class="chatlog__message-container " data-message-id="921169580112642069">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:39 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">and a better one than the turnkey ones in fact</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921169626216411177" class="chatlog__message-container " data-message-id="921169626216411177">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:39 PM">14:39</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">well Boy Is That Interesting</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921169833381478481" class="chatlog__message-container " data-message-id="921169833381478481">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:40 PM">14:40</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I guess WP did start out with a heavier emphasis on blogs and then morphed into the more general system it is today, without losing that core idea of a blog</span>
<span class="chatlog__edited-timestamp" title="16-Dec-21 02:40 PM">(edited)</span>
</div>
<div class="chatlog__reactions">
<div class="chatlog__reaction" title="point_up">
<img class="chatlog__emoji chatlog__emoji--small" alt="☝️" src="files/261d-3A498.svg" loading="lazy">
<span class="chatlog__reaction-count">1</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921170702126678027" class="chatlog__message-container " data-message-id="921170702126678027">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/b032bf22b6696de1f403e43c3bdd4613-55F4A.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(46, 204, 113)" title="KawaiiKiwi#8166" data-user-id="170376556173066241">Voran</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:43 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think mods start to turn into games when the author no longer associates the mod with the base game it was originally associated with; I've usually seen this happen in cases where the base game isn't able to live up to what the mod's idea can deliver, and when the mod author has enough support to their idea to make the move to separate it. Which I think makes the point that it can be pretty important what you deliver as a baseline in an extensible program</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921171006511513601" class="chatlog__message-container " data-message-id="921171006511513601">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:44 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">yeah, but the game still serves as an important starting point even if it was never really intended to be modded</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921171087088287745" class="chatlog__message-container " data-message-id="921171087088287745">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:45 PM">14:45</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">maybe we can dig into this more elsewhere but we are nearly at the 4-hour mark (!) and I think we should try to respect everyone's time and wrap up</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921171198489014332" class="chatlog__message-container " data-message-id="921171198489014332">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:45 PM">14:45</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">so - what do we think are some takeaways from all this?</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921171371973824522" class="chatlog__message-container " data-message-id="921171371973824522">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:46 PM">14:46</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">For one, I think we have a re-affirmation that design is important and you should consider what flexibility is valuable to your users.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921171633622880308" class="chatlog__message-container " data-message-id="921171633622880308">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:47 PM">14:47</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I like Demetri's analogy of "holes" in the design - what space do we expect users to fill, and what is reasonable to expect</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921172396482887780" class="chatlog__message-container " data-message-id="921172396482887780">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/e5e2a49a0e3cc3c43b4b79168dcb4da1-B0325.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(52, 152, 219)" title="Allen4th#9584" data-user-id="273134589000810496">Allen4th</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:50 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think the idea of the spectrum I brought up initially ended up even more reinforced by several of the other ideas we discussed. The low level vs high level interfaces, &amp; the issues regarding handling conflicts between plugins both looked to me like they also correlate to this vague notion of a gradient I already had.</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921172517505359893" class="chatlog__message-container " data-message-id="921172517505359893">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:50 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Yeah, for sure.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921173320479686696" class="chatlog__message-container " data-message-id="921173320479686696">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:53 PM">14:53</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I think some concrete points of advice I might choose are:
- You will likely have many different kinds of users, from developers to complete normies - consider building ways for each of them can customize their experience (and for developer systems to feed into normie systems)
- If you want to make your software extensible, strongly consider how to handle conflicts (and maybe see if you can constrain plugins to avoid conflicts)
- Don't make your software "floppy" - for any interface you build at any level, try to make decisions for those users that benefit them.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921173792171098163" class="chatlog__message-container " data-message-id="921173792171098163">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:55 PM">14:55</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Is there anything you would add?</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921173864619335720" class="chatlog__message-container " data-message-id="921173864619335720">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 02:56 PM">14:56</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">(surely I missed an important point from these four hours of conversation)</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921174662363381850" class="chatlog__message-container " data-message-id="921174662363381850">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/89747c254631bcfd05c5c3e7141389aa-A1FB9.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(233, 30, 99)" title="demetrispanos#5588" data-user-id="239823533989953546">demetrispanos</span>
<span class="chatlog__timestamp">Dec 16, 2021 02:59 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">overlapping a bit with your points, I'd say
- keeping in mind the ecosystem/"food-chain" of extenders, as seen with WP, DAWs, Photoshop
- keeping in mind scope of responsibility, and making sure you don't leave holes within your responsibilities
- thinking about granularity of modification, from "change anything at any granularity" to "slap together some plugins"</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-921175055994609725" class="chatlog__message-container " data-message-id="921175055994609725">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">Dec 16, 2021 03:00 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">yeah for sure</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921175127880769607" class="chatlog__message-container " data-message-id="921175127880769607">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 03:01 PM">15:01</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">well we have <em>precisely</em> nailed the 4-hour mark now so I think that is as good a time as any to call it!</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921175298161115226" class="chatlog__message-container " data-message-id="921175298161115226">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 03:01 PM">15:01</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Thanks so much to all the participants for another wonderful conversation! I always love being able to point back at these and find useful insights for later.</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921175473558532106" class="chatlog__message-container " data-message-id="921175473558532106">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 03:02 PM">15:02</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">I would give my usual shtick about looking at the pinned messages, but if you're reading this, you already know how that works :)</span>
</div>
</div>
</div>
</div>
<div id="chatlog__message-container-921175601426079755" class="chatlog__message-container " data-message-id="921175601426079755">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<div class="chatlog__short-timestamp" title="16-Dec-21 03:02 PM">15:02</div>
</div>
<div class="chatlog__message-primary">
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">Thanks all for following along, and if you want to continue the conversation, please continue in <span class="chatlog__markdown-mention">#fishbowl-audience</span> or any of the other channels!</span>
</div>
</div>
</div>
</div>
</div>
<div class="chatlog__message-group">
<div id="chatlog__message-container-978776442949230614" class="chatlog__message-container " data-message-id="978776442949230614">
<div class="chatlog__message">
<div class="chatlog__message-aside">
<img class="chatlog__avatar" src="files/1963eacbf364164efce1c597dc66aeab-E6901.png" alt="Avatar" loading="lazy">
</div>
<div class="chatlog__message-primary">
<div class="chatlog__header">
<span class="chatlog__author" style="color: rgb(250, 186, 71)" title="bvisness#0001" data-user-id="132715550571888640">bvisness</span>
<span class="chatlog__timestamp">May 24, 2022 02:48 PM</span>
</div>
<div class="chatlog__content chatlog__markdown">
<span class="chatlog__markdown-preserve">(link to the top message, for later readers: <a href="https://discord.com/channels/239737791225790464/921113147581018143/921115987208724490" target="_blank">https://discord.com/channels/239737791225790464/921113147581018143/921115987208724490</a>)</span>
</div>
</div>
</div>
</div>
</div>
</div>