I'm setting up an #indieweb website to "own my voice" via federation and self-hosting. I'm not sure how it all works but i'm following along some tutorials at indieweb.org and following in the footsteps of our fearless "leader" @david . you can check it out at https://norcalgeek.com. More content to follow!
{
"type": "entry",
"author": {
"name": "@NorCalChar",
"url": "https://tech.lgbt/@NorCalChar",
"photo": null
},
"url": "https://tech.lgbt/@NorCalChar/110702966811884489",
"content": {
"html": "<p>I'm setting up an <a href=\"https://tech.lgbt/tags/indieweb\">#<span>indieweb</span></a> website to \"own my voice\" via federation and self-hosting. I'm not sure how it all works but i'm following along some tutorials at indieweb.org and following in the footsteps of our fearless \"leader\" <span class=\"h-card\"><a class=\"u-url\" href=\"https://tech.lgbt/@david\">@<span>david</span></a></span> . you can check it out at <a href=\"https://norcalgeek.com\"><span>https://</span><span>norcalgeek.com</span><span></span></a>. More content to follow!</p>",
"text": "I'm setting up an #indieweb website to \"own my voice\" via federation and self-hosting. I'm not sure how it all works but i'm following along some tutorials at indieweb.org and following in the footsteps of our fearless \"leader\" @david . you can check it out at https://norcalgeek.com. More content to follow!"
},
"published": "2023-07-12T20:20:19+00:00",
"post-type": "note",
"_id": "38317542",
"_source": "7235",
"_is_read": false
}
The app currently gets all messages from the database, returns them as HTML, and caches them in localStorage. On subsequent page loads, it gets messages from localStorage first and then only checks the database for newer messages.
Thinking about how to implement replies on top of this this (also, welcoming input on the overall architecture as well).
Hacker News/Reddit nested replies is what's coming to mind, for informational architecture at least? I don't know how heavy it is to implement finding all the replies at each nested level and then rendering them in HTML. Probably much simpler technically with Twitter/Mastodon style (no nesting display), but kind of feels like nesting is the right direction for informational longevity (which is part of the idea)? Then again, not necessarily assuming that nesting a la HN/Reddit nesting always leads to better discussions.
{
"type": "entry",
"author": {
"name": "@sambutlerUS",
"url": "https://kolektiva.social/@sambutlerUS",
"photo": null
},
"url": "https://kolektiva.social/@sambutlerUS/110702092158987934",
"content": {
"html": "<p>What do you all think about low-data / low-energy ways to implement replies to messages in a relational database, that are resilient long-term? You can see the app in question here: <a href=\"https://groundtalk.land/feed\"><span>https://</span><span>groundtalk.land/feed</span><span></span></a> (and code here: <a href=\"https://github.com/sbutler-gh/coop-media\"><span>https://</span><span>github.com/sbutler-gh/coop-med</span><span>ia</span></a>)</p><p>The app currently gets all messages from the database, returns them as HTML, and caches them in localStorage. On subsequent page loads, it gets messages from localStorage first and then only checks the database for newer messages.</p><p>Thinking about how to implement replies on top of this this (also, welcoming input on the overall architecture as well).</p><p>Hacker News/Reddit nested replies is what's coming to mind, for informational architecture at least? I don't know how heavy it is to implement finding all the replies at each nested level and then rendering them in HTML. Probably much simpler technically with Twitter/Mastodon style (no nesting display), but kind of feels like nesting is the right direction for informational longevity (which is part of the idea)? Then again, not necessarily assuming that nesting a la HN/Reddit nesting always leads to better discussions.</p><p>What do you all think? </p><p><span class=\"h-card\"><a class=\"u-url\" href=\"https://misc.name/@scanlime\">@<span>scanlime</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://kolektiva.social/@hydroponictrash\">@<span>hydroponictrash</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://kolektiva.social/@trashrobot\">@<span>trashrobot</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://tech.lgbt/@becomethewaifu\">@<span>becomethewaifu</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://mamot.fr/@pikselkraft\">@<span>pikselkraft</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://interlace.space/@alive\">@<span>alive</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://social.treehouse.systems/@wwahammy\">@<span>wwahammy</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://mastodon.social/@rzr\">@<span>rzr</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://computerfairi.es/@milo_bytes\">@<span>milo_bytes</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://octodon.social/@yhancik\">@<span>yhancik</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://mastodon.design/@nolwennm\">@<span>nolwennm</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://boitam.eu/@joachim\">@<span>joachim</span></a></span> boitam.eu <span class=\"h-card\"><a class=\"u-url\" href=\"https://mastodon.ar.al/@aral\">@<span>aral</span></a></span> </p><p><a href=\"https://kolektiva.social/tags/database\">#<span>database</span></a> <a href=\"https://kolektiva.social/tags/tech\">#<span>tech</span></a> <a href=\"https://kolektiva.social/tags/backend\">#<span>backend</span></a> <a href=\"https://kolektiva.social/tags/webdev\">#<span>webdev</span></a> <a href=\"https://kolektiva.social/tags/html\">#<span>html</span></a> <a href=\"https://kolektiva.social/tags/htmx\">#<span>htmx</span></a> <a href=\"https://kolektiva.social/tags/ux\">#<span>ux</span></a> <a href=\"https://kolektiva.social/tags/design\">#<span>design</span></a> <a href=\"https://kolektiva.social/tags/architecture\">#<span>architecture</span></a> <a href=\"https://kolektiva.social/tags/postgres\">#<span>postgres</span></a> <a href=\"https://kolektiva.social/tags/relational\">#<span>relational</span></a> <a href=\"https://kolektiva.social/tags/permacomputing\">#<span>permacomputing</span></a> <a href=\"https://kolektiva.social/tags/socialmedia\">#<span>socialmedia</span></a> <a href=\"https://kolektiva.social/tags/socialnetwork\">#<span>socialnetwork</span></a> <a href=\"https://kolektiva.social/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://kolektiva.social/tags/sql\">#<span>sql</span></a> <a href=\"https://kolektiva.social/tags/fullstack\">#<span>fullstack</span></a> <a href=\"https://kolektiva.social/tags/networking\">#<span>networking</span></a> <a href=\"https://kolektiva.social/tags/computers\">#<span>computers</span></a> <a href=\"https://kolektiva.social/tags/it\">#<span>it</span></a></p>",
"text": "What do you all think about low-data / low-energy ways to implement replies to messages in a relational database, that are resilient long-term? You can see the app in question here: https://groundtalk.land/feed (and code here: https://github.com/sbutler-gh/coop-media)The app currently gets all messages from the database, returns them as HTML, and caches them in localStorage. On subsequent page loads, it gets messages from localStorage first and then only checks the database for newer messages.Thinking about how to implement replies on top of this this (also, welcoming input on the overall architecture as well).Hacker News/Reddit nested replies is what's coming to mind, for informational architecture at least? I don't know how heavy it is to implement finding all the replies at each nested level and then rendering them in HTML. Probably much simpler technically with Twitter/Mastodon style (no nesting display), but kind of feels like nesting is the right direction for informational longevity (which is part of the idea)? Then again, not necessarily assuming that nesting a la HN/Reddit nesting always leads to better discussions.What do you all think? @scanlime @hydroponictrash @trashrobot @becomethewaifu @pikselkraft @alive @wwahammy @rzr @milo_bytes @yhancik @nolwennm @joachim boitam.eu @aral #database #tech #backend #webdev #html #htmx #ux #design #architecture #postgres #relational #permacomputing #socialmedia #socialnetwork #indieweb #sql #fullstack #networking #computers #it"
},
"published": "2023-07-12T16:37:53+00:00",
"post-type": "note",
"_id": "38315077",
"_source": "7235",
"_is_read": false
}
As the fediverse grows, new people will hear about Micro.blog and send us feedback about how we can improve. Always good! I listen to everything. On the other hand, the fact that the fediverse is so big means we can do things differently and still be successful. Not all platforms should be the same.
{
"type": "entry",
"author": {
"name": "Manton Reece",
"url": "https://www.manton.org/",
"photo": "https://micro.blog/manton/avatar.jpg"
},
"url": "https://www.manton.org/2023/07/12/as-the-fediverse.html",
"content": {
"html": "<p>As the fediverse grows, new people will hear about Micro.blog and send us feedback about how we can improve. Always good! I listen to everything. On the other hand, the fact that the fediverse is so big means we can do things differently and still be successful. Not all platforms should be the same.</p>",
"text": "As the fediverse grows, new people will hear about Micro.blog and send us feedback about how we can improve. Always good! I listen to everything. On the other hand, the fact that the fediverse is so big means we can do things differently and still be successful. Not all platforms should be the same."
},
"published": "2023-07-12T09:14:11-05:00",
"post-type": "note",
"_id": "38312625",
"_source": "12",
"_is_read": false
}
{
"type": "entry",
"published": "2023-07-12T09:57:00+02:00",
"url": "https://www.jeremycherfas.net/blog/indieweb-carnival-revisited",
"name": "IndieWeb Carnival revisited",
"content": {
"text": "The launch of a new blog carnival was so exciting that I wrote my own summary, even though I was not the host. That job was very ably performed by Sara Jak\u0161a, who launched the carnival. The point of my roundup was to visit each of the sites and, by way of encouragement, send a webmention to each...\n\t\t\t There\u2019s more \u27a2",
"html": "<p>The launch of a new blog carnival was so exciting that I wrote my own summary, even though I was not the host. That job was <a href=\"https://sarajaksa.eu/2023/07/carnival-of-indieweb-june-2023-edition-indieweb-and-cooking-roundup-post/\">very ably performed by Sara Jak\u0161a</a>, who launched the carnival. The point of <a href=\"https://www.jeremycherfas.net/blog/indieweb-and-cooking-my-roundup\">my roundup</a> was to visit each of the sites and, by way of encouragement, send a webmention to each...</p>\n\t\t\t <span style=\"float:right;font-size:smaller;\"><a href=\"https://www.jeremycherfas.net/blog/indieweb-carnival-revisited\">There\u2019s more \u27a2</a></span>"
},
"author": {
"type": "card",
"name": "Jeremy Cherfas",
"url": "https://jeremycherfas.net",
"photo": "https://www.jeremycherfas.net/user/themes/tailwind/images/zoot.jpg"
},
"post-type": "article",
"_id": "38307262",
"_source": "202",
"_is_read": false
}
the 32-bit cafe is hosting its first-ever community code jam, and YOU are invited! :) from the week of july 16-22, we're #coding webpages about "that special thing close to my heart" — any of our fleeting interests! read more here and get your ideas ready:
{
"type": "entry",
"author": {
"name": "@xandra",
"url": "https://tilde.zone/@xandra",
"photo": null
},
"url": "https://tilde.zone/@xandra/110698904205296706",
"content": {
"html": "<p>the 32-bit cafe is hosting its first-ever community code jam, and YOU are invited! :) from the week of july 16-22, we're <a href=\"https://tilde.zone/tags/coding\">#<span>coding</span></a> webpages about \"that special thing close to my heart\" \u2014 any of our fleeting interests! read more here and get your ideas ready:</p><p><a href=\"https://discuss.32bit.cafe/f/32bitcafe/43/new-monthly-event-community-code-jam-1-starts-july-16\"><span>https://</span><span>discuss.32bit.cafe/f/32bitcafe</span><span>/43/new-monthly-event-community-code-jam-1-starts-july-16</span></a></p><p><a href=\"https://tilde.zone/tags/webdev\">#<span>webdev</span></a> <a href=\"https://tilde.zone/tags/codejam\">#<span>codejam</span></a> <a href=\"https://tilde.zone/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "the 32-bit cafe is hosting its first-ever community code jam, and YOU are invited! :) from the week of july 16-22, we're #coding webpages about \"that special thing close to my heart\" \u2014 any of our fleeting interests! read more here and get your ideas ready:https://discuss.32bit.cafe/f/32bitcafe/43/new-monthly-event-community-code-jam-1-starts-july-16#webdev #codejam #indieweb"
},
"published": "2023-07-12T03:07:08+00:00",
"post-type": "note",
"_id": "38305040",
"_source": "7235",
"_is_read": false
}
I created a guestbook on my website. Send me a #webmention or sign in using #indieauth to fill out the guestbook. Check it out! Let me know if you have any suggestions?
{
"type": "entry",
"author": {
"name": "@pablo",
"url": "https://social.lifeofpablo.com/@pablo",
"photo": null
},
"url": "https://social.lifeofpablo.com/@pablo/110698672900720177",
"content": {
"html": "<p>I created a guestbook on my website. Send me a <a href=\"https://social.lifeofpablo.com/tags/webmention\">#<span>webmention</span></a> or sign in using <a href=\"https://social.lifeofpablo.com/tags/indieauth\">#<span>indieauth</span></a> to fill out the guestbook. Check it out! Let me know if you have any suggestions?</p><p><a href=\"https://lifeofpablo.com/guestbook\"><span>https://</span><span>lifeofpablo.com/guestbook</span><span></span></a></p><p><a href=\"https://social.lifeofpablo.com/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://social.lifeofpablo.com/tags/decentralized\">#<span>decentralized</span></a> <a href=\"https://social.lifeofpablo.com/tags/ownyourdata\">#<span>ownyourdata</span></a></p>",
"text": "I created a guestbook on my website. Send me a #webmention or sign in using #indieauth to fill out the guestbook. Check it out! Let me know if you have any suggestions?https://lifeofpablo.com/guestbook#indieweb #decentralized #ownyourdata"
},
"published": "2023-07-12T02:08:19+00:00",
"post-type": "note",
"_id": "38304525",
"_source": "7235",
"_is_read": false
}
@ademagic Same here. It’s an interesting concept but really hard to execute. It would be nice to have a chart for the #indieweb rabbit hole. OTOH we don’t want people pointing fingers to a website and saying “that’s not as indie as I am”, hence the difficulty of making this work without levels or hierarchies.
I daydream something akin to a skill tree common in RPGs, where people are free to diverge on their “builds”.
{
"type": "entry",
"author": {
"name": "@villasbc",
"url": "https://mastodon.social/@villasbc",
"photo": null
},
"url": "https://mastodon.social/@villasbc/110698162568752504",
"content": {
"html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://indieweb.social/@ademagic\">@<span>ademagic</span></a></span> Same here. It\u2019s an interesting concept but really hard to execute. It would be nice to have a chart for the <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a> rabbit hole. OTOH we don\u2019t want people pointing fingers to a website and saying \u201cthat\u2019s not as indie as I am\u201d, hence the difficulty of making this work without levels or hierarchies.</p><p>I daydream something akin to a skill tree common in RPGs, where people are free to diverge on their \u201cbuilds\u201d.</p>",
"text": "@ademagic Same here. It\u2019s an interesting concept but really hard to execute. It would be nice to have a chart for the #indieweb rabbit hole. OTOH we don\u2019t want people pointing fingers to a website and saying \u201cthat\u2019s not as indie as I am\u201d, hence the difficulty of making this work without levels or hierarchies.I daydream something akin to a skill tree common in RPGs, where people are free to diverge on their \u201cbuilds\u201d."
},
"published": "2023-07-11T23:58:32+00:00",
"post-type": "note",
"_id": "38303654",
"_source": "7235",
"_is_read": false
}
Came across the idea of the IndieMark metric not long ago. Sounds so good at first, but the deeper you go into the levels I wonder if it's still worth the effort?
I realise it's an early stage concept but in any case, a great list of things you can do for your #personalsite
{
"type": "entry",
"author": {
"name": "@ademagic",
"url": "https://indieweb.social/@ademagic",
"photo": null
},
"url": "https://indieweb.social/@ademagic/110698028881446654",
"content": {
"html": "<p>Came across the idea of the IndieMark metric not long ago. Sounds so good at first, but the deeper you go into the levels I wonder if it's still worth the effort?</p><p>I realise it's an early stage concept but in any case, a great list of things you can do for your <a href=\"https://indieweb.social/tags/personalsite\">#<span>personalsite</span></a> </p><p><a href=\"https://indieweb.org/IndieMark\"><span>https://</span><span>indieweb.org/IndieMark</span><span></span></a><br /><a href=\"https://indieweb.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "Came across the idea of the IndieMark metric not long ago. Sounds so good at first, but the deeper you go into the levels I wonder if it's still worth the effort?I realise it's an early stage concept but in any case, a great list of things you can do for your #personalsite https://indieweb.org/IndieMark\n#indieweb"
},
"published": "2023-07-11T23:24:32+00:00",
"post-type": "note",
"_id": "38303655",
"_source": "7235",
"_is_read": false
}
Signed up on mastodon.social? Great! You can microblog…but you can’t really do groups, long-form writing, live streaming, or much else. You can do those on Lemmy, WriteFreely, or OwnCast, but you’ll need an entirely separate account and identity for each one.
To be fair, this is the norm for consumer apps in general. Centralized social services all aim at their own specific niches. Consider Twitter, Reddit, Instagram, YouTube, LinkedIn. Facebook tried to grow to be everything to everyone, but it’s an exception. (It also takes a much bigger centralized team, with more coordination and resources.)
Still, considering the bold modern vision of decentralized social, it seems positively quaint for your instance to limit what you can do. This is one reason I’m excited about new protocol ideas that more aggressively decouple identity from servers, eg Bluesky/ATProto and Nostr. The present moment seems ripe for experimentation, at least for a while. Let a thousand flowers bloom!
{
"type": "entry",
"published": "2023-07-10T13:03:08-07:00",
"url": "https://snarfed.org/2023-07-10_50589",
"syndication": [
"https://fed.brid.gy/web/snarfed.org",
"https://bsky.app/profile/snarfed.org/post/3k26xq3xpxt2m"
],
"content": {
"text": "I\u2019ve written before about how your fediverse identity, data, and administration are all tied to your instance, for both technical and cultural reasons. There\u2019s an awkward corollary: functionality in the fediverse is also currently tied to your instance.\nSigned up on mastodon.social? Great! You can microblog\u2026but you can\u2019t really do groups, long-form writing, live streaming, or much else. You can do those on Lemmy, WriteFreely, or OwnCast, but you\u2019ll need an entirely separate account and identity for each one.\nTo be fair, this is the norm for consumer apps in general. Centralized social services all aim at their own specific niches. Consider Twitter, Reddit, Instagram, YouTube, LinkedIn. Facebook tried to grow to be everything to everyone, but it\u2019s an exception. (It also takes a much bigger centralized team, with more coordination and resources.)\nStill, considering the bold modern vision of decentralized social, it seems positively quaint for your instance to limit what you can do. This is one reason I\u2019m excited about new protocol ideas that more aggressively decouple identity from servers, eg Bluesky/ATProto and Nostr. The present moment seems ripe for experimentation, at least for a while. Let a thousand flowers bloom!",
"html": "I\u2019ve written before about how <a href=\"https://snarfed.org/2023-05-04_50157\">your fediverse identity, data, and administration are all tied to your instance</a>, for both technical and cultural reasons. There\u2019s an awkward corollary: <em>functionality</em> in the fediverse is also currently tied to your instance.\n<p>Signed up on mastodon.social? Great! You can microblog\u2026but you can\u2019t really do groups, long-form writing, live streaming, or much else. You can do those on Lemmy, WriteFreely, or OwnCast, but you\u2019ll need an entirely separate account and identity for each one.</p>\n<p>To be fair, this is the norm for consumer apps in general. Centralized social services all aim at their own specific niches. Consider Twitter, Reddit, Instagram, YouTube, LinkedIn. Facebook tried to grow to be everything to everyone, but it\u2019s an exception. (It also takes a much bigger centralized team, with more coordination and resources.)</p>\n<p>Still, considering the bold modern vision of decentralized social, it seems positively quaint for your instance to limit what you can do. This is one reason I\u2019m excited about new protocol ideas that more aggressively decouple identity from servers, eg Bluesky/ATProto and Nostr. The present moment seems ripe for experimentation, at least for a while. Let a thousand flowers bloom!</p>"
},
"author": {
"type": "card",
"name": "Ryan Barrett",
"url": "https://snarfed.org/",
"photo": "https://secure.gravatar.com/avatar/947b5f3f323da0ef785b6f02d9c265d6?s=96&d=blank&r=g"
},
"post-type": "note",
"_id": "38284492",
"_source": "3",
"_is_read": false
}
I'm rebuilding my website and was going to implement it, but heard some vague comments on how it's poor and not a good idea. I would love to know more why, as well as seeing arguments in favour.
{
"type": "entry",
"author": {
"name": "@jessica",
"url": "https://cutie.city/@jessica",
"photo": null
},
"url": "https://cutie.city/@jessica/110689860648038101",
"content": {
"html": "<p>Seen mixed messages on <a href=\"https://cutie.city/tags/WebMentions\">#<span>WebMentions</span></a> as part of the <a href=\"https://cutie.city/tags/IndieWeb\">#<span>IndieWeb</span></a> movement.</p><p>If you have an opinion, what are your thoughts?</p><p>I'm rebuilding my website and was going to implement it, but heard some vague comments on how it's poor and not a good idea. I would love to know more why, as well as seeing arguments in favour.</p><p>Thanks!</p>",
"text": "Seen mixed messages on #WebMentions as part of the #IndieWeb movement.If you have an opinion, what are your thoughts?I'm rebuilding my website and was going to implement it, but heard some vague comments on how it's poor and not a good idea. I would love to know more why, as well as seeing arguments in favour.Thanks!"
},
"published": "2023-07-10T12:47:14+00:00",
"post-type": "note",
"_id": "38277307",
"_source": "7235",
"_is_read": true
}
{
"type": "entry",
"published": "2023-07-09T22:19:58+00:00",
"url": "https://werd.io/2023/porters-five-forces-and-the-social-web",
"name": "Porter's Five Forces and the social web",
"content": {
"text": "Cam Pegg writes:\nI\u2019m re-reading Michael Porter\u2019s seminal article, The Five Competitive Forces That Shape Strategy, and just had an OMFG-I-need-to-get-this-tattooed-on-my-forehead-so-that-everyone-I-talk-to-gets-the-message moment:\nA narrow focus on growth is one of the major causes of bad strategy decisions.\nThe thing about growth is that it leads to bad strategy decisions if you care about profit. If all you care about is growth because you want to create a monopoly that you can then profit from indiscriminately through infinite supplier power, and you can raise millions upon millions of dollars to achieve that monopoly in such a way that you don\u2019t have to care about revenue in the interim, the mechanics look a little different.I\u2019m a Porter\u2019s Five Forces stan myself. I think everyone involved in building technology projects (and any business!) should read and understand them. And then read them again.In particular, a lot of my work \u2014 and writing here \u2014 has been about addressing the outsized power of suppliers. Consider how much supplier power Facebook has over anyone in the publishing industry, for example: it doesn\u2019t depend on publishers, but publishers sure as hell depend on it. It\u2019s more concentrated than the publishing industry (there is one of it, many of them). The switching costs are astronomical because there is no real alternative. And its power creates great risk for publishers: a policy change could wipe out the industry.Porter describes the problem as follows:Powerful suppliers capture more of the value for themselves by charging higher prices, limiting quality or services, or shifting costs to industry participants. Powerful suppliers, including suppliers of labor, can squeeze profitability out of an industry that is unable to pass on cost increases in its own prices.So what would it take to reduce supplier power to create a more equitable situation for buyers? Switching costs are reduced through the introduction of compatible, interoperable software from other vendors; a supplier\u2019s differentiation is reduced by the introduction of software from other vendors that meets the buyer\u2019s needs well; there are more viable solutions from more diverse vendors. In the Facebook example above, Twitter helped reduce supplier power; Mastodon and the open source fediverse reduces both of their supplier power. In fact, overall, open source software has been a great way to reduce risks to businesses from outsized supplier power.To continue to run with my Facebook example, reducing supplier power through software has been a better strategy than imposing legislation (although there\u2019s always a place for good legislation, not least antitrust reform, which we\u2019ve needed for decades). When Canadian publishers came together to try and reduce supplier power through creating legislation that forced payments from Facebook, Facebook simply switched off the firehose and removed news from its sites in Canada. It turned out that the publishers needed it far more than it needed them. I think a close read of Porter makes it clear that publishers would do well to support an open source fediverse that would reduce the power a handful of corporations have over them, but it\u2019s hard for them to see it, in part because the switching costs are so incredibly high. Publishers are dependent on Facebook for audience, and the audience on the fediverse isn\u2019t quite there yet because there hasn\u2019t been the investment, so they don\u2019t put in the investment, and the situation perpetuates itself forever. In effect, publishers aren\u2019t capable of saving themselves, and it\u2019ll take someone else who isn\u2019t as dependent on Facebook to put in the investment instead. The same goes for the many other industries that are similarly beholden to Facebook. Any of these industries alone can\u2019t change the situation for the same reasons; together they might, but it\u2019s likely to take an external convening force. Foundations, I\u2019m looking at you. (Particularly any foundation that sees the risk to democracy itself from a single-vendor publishing market. It should help that we\u2019ve already been through two Presidential election cycles where this risk couldn\u2019t have been clearer if it was written in twenty foot flames.)And because the outsized buyer power produced by an open, federated commons co-operatively supported by entities across industries that produced best-in-class social media platforms that were also communally owned would also be a hell of a risk to Facebook\u2019s business, it is likely to want to get ahead of the situation somehow. It could also have allies who might potentially be worried about moving social media from centrally-controlled platforms to a more anarchic commons. Perhaps Facebook might address the risk by launching a network on the fediverse itself, and allowing itself to be the entity that puts in the investment, in a way that just so happens to shape the fediverse to benefit Facebook, eliminate any potential cross-industry collaboration and outside development, and ultimately defuse the risk from buyer power. Completely hypothetically, obviously.It should go without saying that it\u2019s all more complicated than I\u2019m laying out here. But my core point is that the tech industry is an industry, which is to say it\u2019s about businesses, which in turn are shaped by business forces. Yes, product design and technology architecture are incredibly important. But we ignore business strategy at our own risk, even as open source hackers trying to provide alternatives. There\u2019s a very serious game here that must be won.",
"html": "<p><a href=\"https://campegg.com/2023/07/07/im-rereading-michael.html\">Cam Pegg writes</a>:</p><blockquote>\n<p>I\u2019m re-reading Michael Porter\u2019s seminal article, <a href=\"https://hbr.org/2008/01/the-five-competitive-forces-that-shape-strategy\">The Five Competitive Forces That Shape Strategy</a>, and just had an OMFG-I-need-to-get-this-tattooed-on-my-forehead-so-that-everyone-I-talk-to-gets-the-message moment:</p>\n<p>A narrow focus on growth is one of the major causes of bad strategy decisions.</p>\n</blockquote><p>The thing about growth is that it leads to bad strategy decisions if you care about profit. If all you care about is growth because you want to create a monopoly that you can then profit from indiscriminately through infinite supplier power, and you can raise millions upon millions of dollars to achieve that monopoly in such a way that you don\u2019t have to care about revenue in the interim, the mechanics look a little different.</p><p>I\u2019m a Porter\u2019s Five Forces stan myself. I think everyone involved in building technology projects (and any business!) should read and understand them. And then read them again.</p><p>In particular, a lot of my work \u2014 and writing here \u2014 has been about addressing the outsized power of suppliers. Consider how much supplier power Facebook has over anyone in the publishing industry, for example: it doesn\u2019t depend on publishers, but publishers sure as hell depend on it. It\u2019s more concentrated than the publishing industry (there is one of it, many of them). The switching costs are astronomical because there is no real alternative. And its power creates great risk for publishers: a policy change could wipe out the industry.</p><p>Porter describes the problem as follows:</p><blockquote><p>Powerful suppliers capture more of the value for themselves by charging higher prices, limiting quality or services, or shifting costs to industry participants. Powerful suppliers, including suppliers of labor, can squeeze profitability out of an industry that is unable to pass on cost increases in its own prices.</p></blockquote><p>So what would it take to reduce supplier power to create a more equitable situation for buyers? Switching costs are reduced through the introduction of compatible, interoperable software from other vendors; a supplier\u2019s differentiation is reduced by the introduction of software from other vendors that meets the buyer\u2019s needs well; there are <em>more viable solutions</em> from <em>more diverse vendors</em>. In the Facebook example above, Twitter helped reduce supplier power; Mastodon and the open source fediverse reduces both of their supplier power. In fact, overall, open source software has been a great way to reduce risks to businesses from outsized supplier power.</p><p>To continue to run with my Facebook example, reducing supplier power through software has been a better strategy than imposing legislation (although there\u2019s always a place for good legislation, not least <em>antitrust reform</em>, which we\u2019ve needed for decades). When Canadian publishers came together to try and reduce supplier power through creating legislation that forced payments from Facebook, <a href=\"https://www.theverge.com/2023/6/22/23770620/meta-news-facebook-instagram-canada-online-news-act\">Facebook simply switched off the firehose and removed news from its sites in Canada</a>. It turned out that the publishers needed it far more than it needed them. </p><p>I think a close read of Porter makes it clear that publishers would do well to support an open source fediverse that would reduce the power a handful of corporations have over them, but it\u2019s hard for them to see it, in part because the switching costs are so incredibly high. Publishers are dependent on Facebook for audience, and the audience on the fediverse isn\u2019t quite there yet because there hasn\u2019t been the investment, so they don\u2019t put in the investment, and the situation perpetuates itself forever. In effect, publishers aren\u2019t capable of saving themselves, and it\u2019ll take someone else who isn\u2019t as dependent on Facebook to put in the investment instead. </p><p>The same goes for the many other industries that are similarly beholden to Facebook. Any of these industries alone can\u2019t change the situation for the same reasons; together they might, but it\u2019s likely to take an external convening force. Foundations, I\u2019m looking at you. (Particularly any foundation that sees the risk to democracy itself from a single-vendor publishing market. It should help that we\u2019ve already been through two Presidential election cycles where this risk couldn\u2019t have been clearer if it was written in twenty foot flames.)</p><p>And because the outsized buyer power produced by an open, federated commons co-operatively supported by entities across industries that produced best-in-class social media platforms that were also communally owned would also be a hell of a risk to Facebook\u2019s business, it is likely to want to get ahead of the situation somehow. It could also have allies who might potentially be worried about moving social media from centrally-controlled platforms to a more anarchic commons. Perhaps Facebook might address the risk by launching a network on the fediverse itself, and allowing <em>itself</em> to be the entity that puts in the investment, in a way that just so happens to shape the fediverse to benefit Facebook, eliminate any potential cross-industry collaboration and outside development, and ultimately defuse the risk from buyer power. Completely hypothetically, obviously.</p><p>It should go without saying that it\u2019s all more complicated than I\u2019m laying out here. But my core point is that the tech industry is an <em>industry</em>, which is to say it\u2019s about <em>businesses</em>, which in turn are shaped by <em>business forces</em>. Yes, product design and technology architecture are incredibly important. But we ignore business strategy at our own risk, even as open source hackers trying to provide alternatives. There\u2019s a very serious game here that must be won.</p>"
},
"author": {
"type": "card",
"name": "Ben Werdmuller",
"url": "https://werd.io/profile/benwerd",
"photo": "https://werd.io/file/5d388c5fb16ea14aac640912/thumb.jpg"
},
"post-type": "article",
"_id": "38271160",
"_source": "191",
"_is_read": false
}
{
"type": "entry",
"published": "2023-07-09T14:45:56-0400",
"url": "https://martymcgui.re/2023/07/09/144556/",
"syndication": [
"https://fed.brid.gy/"
],
"content": {
"text": "It\u2019s time for another IndieWeb blog carnival! Also, Threads, I guess. It\u2019s your < 10min update on the #IndieWeb community!\nThis Week in the IndieWeb audio edition for July 1st - 7th, 2023.\nhttps://martymcgui.re/2023/07/09/this-week-in-the-indieweb-audio-edition--july-1st---7th-2023/",
"html": "<p>It\u2019s time for another IndieWeb blog carnival! Also, Threads, I guess. It\u2019s your < 10min update on the #IndieWeb community!</p>\n<p>This Week in the IndieWeb audio edition for July 1st - 7th, 2023.\n<a href=\"https://martymcgui.re/2023/07/09/this-week-in-the-indieweb-audio-edition--july-1st---7th-2023/\">https://martymcgui.re/2023/07/09/this-week-in-the-indieweb-audio-edition--july-1st---7th-2023/</a></p>"
},
"author": {
"type": "card",
"name": "Marty McGuire",
"url": "https://martymcgui.re/",
"photo": "https://martymcgui.re/images/logo.jpg"
},
"post-type": "note",
"_id": "38270224",
"_source": "175",
"_is_read": false
}
{
"type": "entry",
"published": "2023-07-09T14:43:40-0400",
"url": "https://martymcgui.re/2023/07/09/this-week-in-the-indieweb-audio-edition--july-1st---7th-2023/",
"category": [
"podcast",
"IndieWeb",
"this-week-indieweb-podcast"
],
"audio": [
"https://media.martymcgui.re/0a/11/12/d6/a5fc011809da483cf9118606f543e26f3529901c1c5b7f0cbcf55adc.mp3"
],
"name": "This Week in the IndieWeb Audio Edition \u2022 July 1st - 7th, 2023",
"content": {
"text": "Show/Hide Transcript\n \n It\u2019s time for another IndieWeb blog carnival! Also, Threads, I guess. It\u2019s the audio edition for This Week in the IndieWeb for July 1st - 7th, 2023.\nYou can find all of my audio editions and subscribe with your favorite podcast app here: martymcgui.re/podcasts/indieweb/.\nMusic from Aaron Parecki\u2019s 100DaysOfMusic project: Day 85 - Suit, Day 48 - Glitch, Day 49 - Floating, Day 9, and Day 11\nThanks to everyone in the IndieWeb chat for their feedback and suggestions. Please drop me a note if there are any changes you\u2019d like to see for this audio edition!",
"html": "Show/Hide Transcript\n \n <p>It\u2019s time for another IndieWeb blog carnival! Also, Threads, I guess. It\u2019s the audio edition for <a href=\"https://indieweb.org/this-week/2023-07-07.html\">This Week in the IndieWeb for July 1st - 7th, 2023</a>.</p>\n<p>You can find all of my audio editions and subscribe with your favorite podcast app here: <a href=\"https://martymcgui.re/podcasts/indieweb/\">martymcgui.re/podcasts/indieweb/</a>.</p>\n<p>Music from <a href=\"https://aaronparecki.com/\">Aaron Parecki</a>\u2019s <a href=\"https://100.aaronparecki.com/\">100DaysOfMusic project</a>: <a href=\"https://aaronparecki.com/2017/03/15/14/day85\">Day 85 - Suit</a>, <a href=\"https://aaronparecki.com/2017/02/06/7/day48\">Day 48 - Glitch</a>, <a href=\"https://aaronparecki.com/2017/02/07/4/day49\">Day 49 - Floating</a>, <a href=\"https://aaronparecki.com/2016/12/29/21/day-9\">Day 9</a>, and <a href=\"https://aaronparecki.com/2016/12/31/15/\">Day 11</a></p>\n<p>Thanks to everyone in the <a href=\"https://chat.indieweb.org/\">IndieWeb chat</a> for their feedback and suggestions. Please drop me a note if there are any changes you\u2019d like to see for this audio edition!</p>"
},
"author": {
"type": "card",
"name": "Marty McGuire",
"url": "https://martymcgui.re/",
"photo": "https://martymcgui.re/images/logo.jpg"
},
"post-type": "audio",
"_id": "38270225",
"_source": "175",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "@Dtl",
"url": "https://mastodon.social/@Dtl",
"photo": null
},
"url": "https://mastodon.social/@Dtl/110685869306028446",
"content": {
"html": "<p>I'm on a roll. I've added another article to my website. Recovering silver from scrap microfilm. </p><p>I did a thread on twitter last year as I was doing the experiments - here's it's all written up.</p><p><a href=\"https://webshed.org/projects/silverrecovery/\"><span>https://</span><span>webshed.org/projects/silverrec</span><span>overy/</span></a></p><p><a href=\"https://mastodon.social/tags/chemistry\">#<span>chemistry</span></a> <a href=\"https://mastodon.social/tags/science\">#<span>science</span></a> <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "I'm on a roll. I've added another article to my website. Recovering silver from scrap microfilm. I did a thread on twitter last year as I was doing the experiments - here's it's all written up.https://webshed.org/projects/silverrecovery/#chemistry #science #indieweb"
},
"published": "2023-07-09T19:52:11+00:00",
"post-type": "note",
"_id": "38269497",
"_source": "7235",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "@darcher",
"url": "https://spore.social/@darcher",
"photo": null
},
"url": "https://spore.social/@darcher/110685669049143114",
"content": {
"html": "<p>Q for advanced Mastodonians:</p><p>I\u2019ve been reading about <a href=\"https://spore.social/tags/ActivityPub\">#<span>ActivityPub</span></a> and the <a href=\"https://spore.social/tags/Fediverse\">#<span>Fediverse</span></a> because I\u2019m curious how other platforms can interact with <a href=\"https://spore.social/tags/Mastodon\">#<span>Mastodon</span></a>. </p><p>There are lots of other networks that interoperate: <a href=\"https://spore.social/tags/Lemmy\">#<span>Lemmy</span></a>\u2019s kinda like Reddit, <a href=\"https://spore.social/tags/Pixelfed\">#<span>Pixelfed</span></a> is like IG, <a href=\"https://spore.social/tags/Writefreely\">#<span>Writefreely</span></a> for blogging, etc.</p><p>Apparently we are able to follow and interact with people from those other services through Mastodon. </p><p>How would I actually DO this? Like how would I find those people and see them in my M feed? <a href=\"https://spore.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "Q for advanced Mastodonians:I\u2019ve been reading about #ActivityPub and the #Fediverse because I\u2019m curious how other platforms can interact with #Mastodon. There are lots of other networks that interoperate: #Lemmy\u2019s kinda like Reddit, #Pixelfed is like IG, #Writefreely for blogging, etc.Apparently we are able to follow and interact with people from those other services through Mastodon. How would I actually DO this? Like how would I find those people and see them in my M feed? #indieweb"
},
"published": "2023-07-09T19:01:16+00:00",
"post-type": "note",
"_id": "38269025",
"_source": "7235",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://indieweb.social/tags/indieweb",
"photo": null
},
"url": "https://martymcgui.re/2023/07/09/144556/",
"content": {
"html": "<p>It\u2019s time for another IndieWeb blog carnival! Also, Threads, I guess. It\u2019s your < 10min update on the #IndieWeb community!</p><br /><p>This Week in the IndieWeb audio edition for July 1st - 7th, 2023.<br /><a href=\"https://martymcgui.re/2023/07/09/this-week-in-the-indieweb-audio-edition--july-1st---7th-2023/\">https://martymcgui.re/2023/07/09/this-week-in-the-indieweb-audio-edition--july-1st---7th-2023/</a></p>",
"text": "It\u2019s time for another IndieWeb blog carnival! Also, Threads, I guess. It\u2019s your < 10min update on the #IndieWeb community!\nThis Week in the IndieWeb audio edition for July 1st - 7th, 2023.\nhttps://martymcgui.re/2023/07/09/this-week-in-the-indieweb-audio-edition--july-1st---7th-2023/"
},
"published": "2023-07-09T18:45:56+00:00",
"post-type": "note",
"_id": "38269027",
"_source": "7235",
"_is_read": false
}