I decided to show a little love to my venue pages after reading Tantek’s post about venues and reviews.
As part of keeping track of the events I attend, I create a venue page and link the event to it. The venue page previously would only show the name, address, and link. I updated it to also show a list of past events so it’s easier to see at a glance and navigate between them.
Example: Soda Bar, San Diego, CA
{
"type": "entry",
"published": "2023-04-24 17:47-0700",
"url": "https://gregorlove.com/2023/04/i-decided-to-show/",
"category": [
"indieweb"
],
"content": {
"text": "I decided to show a little love to my venue pages after reading Tantek\u2019s post about venues and reviews.\n\nAs part of keeping track of the events I attend, I create a venue page and link the event to it. The venue page previously would only show the name, address, and link. I updated it to also show a list of past events so it\u2019s easier to see at a glance and navigate between them.\n\nExample: Soda Bar, San Diego, CA",
"html": "<p>I decided to show a little love to my venue pages after reading <a class=\"h-card\" href=\"https://tantek.com\">Tantek</a>\u2019s <a href=\"http://tantek.com/2023/114/t1/venues-reviews-personal-pages\">post about venues and reviews</a>.</p>\n\n<p>As part of keeping track of the events I attend, I create a venue page and link the event to it. The venue page previously would only show the name, address, and link. I updated it to also show a list of past events so it\u2019s easier to see at a glance and navigate between them.</p>\n\n<p>Example: <a href=\"https://gregorlove.com/venues/soda-bar/\">Soda Bar, San Diego, CA</a></p>"
},
"author": {
"type": "card",
"name": "gRegor Morrill",
"url": "https://gregorlove.com/",
"photo": "https://gregorlove.com/site/assets/files/6268/profile-2021-square.300x0.jpg"
},
"post-type": "note",
"_id": "36770223",
"_source": "179",
"_is_read": false
}
I decided to show a little love to my venue pages after reading Tantek’s post about venues and reviews.
As part of keeping track of the events I attend, I create a venue page and link the event to it. The venue page previously would only show the name, address, and link. I updated it to also show a list of past events so it’s easier to see at a glance and navigate between them.
Example: Soda Bar, San Diego, CA
{
"type": "entry",
"published": "2023-04-24 17:47-0700",
"url": "https://gregorlove.com/2023/04/i-decided-to-show/",
"category": [
"indieweb"
],
"content": {
"text": "I decided to show a little love to my venue pages after reading Tantek\u2019s post about venues and reviews.\n\nAs part of keeping track of the events I attend, I create a venue page and link the event to it. The venue page previously would only show the name, address, and link. I updated it to also show a list of past events so it\u2019s easier to see at a glance and navigate between them.\n\nExample: Soda Bar, San Diego, CA",
"html": "<p>I decided to show a little love to my venue pages after reading <a class=\"h-card\" href=\"https://tantek.com\">Tantek</a>\u2019s <a href=\"http://tantek.com/2023/114/t1/venues-reviews-personal-pages\">post about venues and reviews</a>.</p>\n\n<p>As part of keeping track of the events I attend, I create a venue page and link the event to it. The venue page previously would only show the name, address, and link. I updated it to also show a list of past events so it\u2019s easier to see at a glance and navigate between them.</p>\n\n<p>Example: <a href=\"https://gregorlove.com/venues/soda-bar/\">Soda Bar, San Diego, CA</a></p>"
},
"author": {
"type": "card",
"name": "gRegor Morrill",
"url": "https://gregorlove.com/",
"photo": "https://gregorlove.com/site/assets/files/6268/profile-2021-square.300x0.jpg"
},
"post-type": "note",
"_id": "36769821",
"_source": "95",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "@pablo",
"url": "https://social.lifeofpablo.com/@pablo",
"photo": null
},
"url": "https://social.lifeofpablo.com/@pablo/110256361359106763",
"content": {
"html": "<p>Here\u2019s my latest blog post on setting up Vouch Proxy to add OAuth to your website and services using <a href=\"https://social.lifeofpablo.com/tags/Google\">#<span>Google</span></a>.</p><p><a href=\"https://lifeofpablo.com/blog/setting-up-vouch-proxy-using-nginx\"><span>https://</span><span>lifeofpablo.com/blog/setting-u</span><span>p-vouch-proxy-using-nginx</span></a></p><p><a href=\"https://social.lifeofpablo.com/tags/vouch\">#<span>vouch</span></a> <a href=\"https://social.lifeofpablo.com/tags/vouchproxy\">#<span>vouchproxy</span></a> <a href=\"https://social.lifeofpablo.com/tags/sso\">#<span>sso</span></a> <a href=\"https://social.lifeofpablo.com/tags/oauth\">#<span>oauth</span></a> <a href=\"https://social.lifeofpablo.com/tags/blog\">#<span>blog</span></a> <a href=\"https://social.lifeofpablo.com/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://social.lifeofpablo.com/tags/tech\">#<span>tech</span></a> <a href=\"https://social.lifeofpablo.com/tags/opensource\">#<span>opensource</span></a></p>",
"text": "Here\u2019s my latest blog post on setting up Vouch Proxy to add OAuth to your website and services using #Google.https://lifeofpablo.com/blog/setting-up-vouch-proxy-using-nginx#vouch #vouchproxy #sso #oauth #blog #indieweb #tech #opensource"
},
"published": "2023-04-24T23:22:40+00:00",
"post-type": "note",
"_id": "36767463",
"_source": "7235",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "@pablo",
"url": "https://social.lifeofpablo.com/@pablo",
"photo": null
},
"url": "https://social.lifeofpablo.com/@pablo/110256225731264242",
"content": {
"html": "<p>Here's my latest blog post on setting up Vouch Proxy to add OAuth to your website and services using <a href=\"https://social.lifeofpablo.com/tags/Google\">#<span>Google</span></a>.</p><p><a href=\"https://lifeofpablo.com/blog/setting-up-vouch-proxy-using-nginx\"><span>https://</span><span>lifeofpablo.com/blog/setting-u</span><span>p-vouch-proxy-using-nginx</span></a></p><p><a href=\"https://social.lifeofpablo.com/tags/vouch\">#<span>vouch</span></a> <a href=\"https://social.lifeofpablo.com/tags/vouch\">#<span>vouch</span></a>-proxy <a href=\"https://social.lifeofpablo.com/tags/sso\">#<span>sso</span></a> <a href=\"https://social.lifeofpablo.com/tags/oauth\">#<span>oauth</span></a> <a href=\"https://social.lifeofpablo.com/tags/blog\">#<span>blog</span></a> <a href=\"https://social.lifeofpablo.com/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://social.lifeofpablo.com/tags/tech\">#<span>tech</span></a> <a href=\"https://social.lifeofpablo.com/tags/opensource\">#<span>opensource</span></a></p>",
"text": "Here's my latest blog post on setting up Vouch Proxy to add OAuth to your website and services using #Google.https://lifeofpablo.com/blog/setting-up-vouch-proxy-using-nginx#vouch #vouch-proxy #sso #oauth #blog #indieweb #tech #opensource"
},
"published": "2023-04-24T22:48:11+00:00",
"post-type": "note",
"_id": "36766608",
"_source": "7235",
"_is_read": false
}
🌱 I have long been a fan of @Foursquare.com and @Swarmapp.com, having created many venues, posted many tips, and (checks profile) over 45,000 checkins. I recently joined @happycow.net and before I start posting new vegan (friendly) venues or reviews there, I really need to figure out my own personal site venue pages (including URL design) and review posts design and authoring workflow.
I’m pretty sure I can and should post h-review posts as a variant of articles (with usual h-entry markup) with an explicit article name, since most review destinations request a title (name) for the review (e.g. HappyCow, TripAdvisor), and for others with only review text (e.g. Google Maps), I can include the name at the start.
Different review destinations have different text requirements (minimum and/or maximum lengths), and I’ll take time to document those first.
The first destination I’ll likely try automatically syndicating to is a site created by #IndieWeb community member @jamesg.blog (@capjamesg@indieweb.social): @breakfastand.coffee
It’s still quite new, but the thing that makes Breakfast & Coffee innovative and unique is that it encourages you to post your venue (e.g. cafe) description or review on your own site with a meaningful slug, link to https://breakfastand.coffee/ and then send a Webmention to indicate that you’d like to syndicate your venue or review into Breakfast & Coffee, like into an aggregator.
Before I get to that point however, I feel there’s quite a few challenges in publishing a “decent” restaurant / cafe venue page, because there really is a dearth of good examples of doing so with simple semantic HTML + CSS. You really don’t need JS to post info about a restaurant.
Setting aside the economic / intermediation challenges of "delivery apps" for now, people really want a few simple things from a restaurant site / page that could all be marked up with simple semantic HTML (thus resulting in good web search rankings) and styled in a quickly readable and mobile-friendly way.
* hours open (perhaps kitchen hours if different)
* location (address that links to a map UI or map embed w/o cookies/tracking)
* nearest bus/tram/rail stop
* payment restrictions (e.g. if only cash, or only credit) or options if you prefer
* contact info (including a note about catering if that’s an option)
* links to social media profiles
* links to restaurant review sites/aggregator pages (e.g. venue permalink on Google Maps, TripAdvisor, Foursquare, Swarm, HappyCow)
* menu with item name, description, price, optional-thumbnail, and dietary/allergy notations
No you really don’t need the full mess of made-up things at schema-org.
The community at OpenStreetMap has done A LOT (most? nearly all?) of the work figuring out the ways to express the above types of information, e.g.:
https://wiki.openstreetmap.org/wiki/Key:opening_hours
Yet has anyone actually seen a simple semantic HTML page that publishes this kind of information?
I’ve web searched many search terms and phrases and found nothing good.
Stylistically dated templates for sale. Examples with numerous unnecessary scripts (no your typical user does not care about your clever animated 3D-carousel of pretty photos, certainly not waiting for a megabyte of framework scripts for it). Something built on Bootstrap, unnecessary for today’s mobile-friendly HTML+CSS.
I did find one (ONE) blog post from 2007 (those were the days) for semantic markup for a restaurant menu: https://jonchristopher.us/blog/a-semantic-breakdown-of-restaurant-menus/
Unless I find an existing solution soon, I’m going to create something from scratch with h-card (since a restaurant is an organization / venue) and add semantic HTML & class names for various fields, re-using from OpenStreetMap Keys whenever possible.
That leaves the URL design, where to publish my restaurant pages on my own site, and rather than rethink it, I will likely go with what I decided in my Whistle short URL design¹ many years ago, which is /v/ at the top level of my site, followed by a slug of my short name for the venue. This way I can play with static HTML pages there, with a shared style sheet in that same directory, without impacting anything else on my site.
I have some other thoughts around iconography for various diet preferences / allergen warnings for menu items that I’ve tried (or considered), though perhaps I’ll leave those for another post.
Or maybe I’ll braindump them now, however incomplete, to see if they resonate or anyone has better suggestions (restaurants and menus really have no standard for these)
🌱 vegan & gluten-free
🌱🌾 vegan + gluten
🌱🥜 vegan + nuts
🌱🍫 vegan + chocolate
🌱🍯 vegetarian (has honey)
🌱🧈 vegetarian (has butter)
🌱🥛 vegetarian (has milk, cream, or yogurt)
🌱🧀 vegetarian (has cheese)
🌱🥚 vegetarian (has egg)
with combinations as necessary.
For example, a breakfast sandwich at Devil’s Teeth Bakery²:
* Regular Breakfast Sandwich (no bacon!) $10.00 🌱🌾🧈🧀🥚
Or a chocolate croissant at Arsicault³:
* Chocolate Croissant $5.75 🌱🌾🧈🍫
Non-vegetarian items would omit the plant 🌱 icon/emoji, but could still include allergen icons.
If you are posting restaurants (or any other venues) to your personal site, please add a few of their permalinks to the IndieWeb Examples here: https://indieweb.org/venue#Indieweb_Examples
This is day 40 of #100DaysOfIndieWeb. #100Days
← Day 39: https://tantek.com/2023/112/t2/account-migration-post-blog-archive-format
→ 🔮
Glossary
article
https://indieweb.org/article
checkin
https://indieweb.org/checkin
h-card
https://microformats.org/wiki/h-card
h-entry
https://microformats.org/wiki/h-entry
h-review
https://microformats.org/wiki/h-review
POSSE
https://indieweb.org/POSSE
review
https://indieweb.org/review
URL design
https://indieweb.org/URL_design
venue
https://indieweb.org/venue
References
¹ https://tantek.com/w/Whistle#design
² https://www.devilsteethbakingcompany.com/menu
³ https://arsicault-bakery.com/menus
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://fed.brid.gy/r/https://tantek.com/2023/114/t1/venues-reviews-personal-pages",
"content": {
"html": "\ud83c\udf31 I have long been a fan of <a href=\"https://Foursquare.com\">@Foursquare.com</a> and <a href=\"https://Swarmapp.com\">@Swarmapp.com</a>, having created many venues, posted many tips, and (checks profile) over 45,000 checkins. I recently joined <a href=\"https://happycow.net\">@happycow.net</a> and before I start posting new vegan (friendly) venues or reviews there, I really need to figure out my own personal site venue pages (including URL design) and review posts design and authoring workflow.<br /><br />I\u2019m pretty sure I can and should post h-review posts as a variant of articles (with usual h-entry markup) with an explicit article name, since most review destinations request a title (name) for the review (e.g. HappyCow, TripAdvisor), and for others with only review text (e.g. Google Maps), I can include the name at the start.<br /><br />Different review destinations have different text requirements (minimum and/or maximum lengths), and I\u2019ll take time to document those first.<br /><br />The first destination I\u2019ll likely try automatically syndicating to is a site created by <a href=\"https://indieweb.social/tags/IndieWeb\">#<span class=\"p-category\">IndieWeb</span></a> community member <a href=\"https://jamesg.blog\">@jamesg.blog</a> (<a href=\"https://indieweb.social/@capjamesg\">@capjamesg@indieweb.social</a>): <a href=\"https://breakfastand.coffee\">@breakfastand.coffee</a><br /><br />It\u2019s still quite new, but the thing that makes Breakfast & Coffee innovative and unique is that it encourages you to post your venue (e.g. cafe) description or review on your own site with a meaningful slug, link to <a href=\"https://breakfastand.coffee/\">https://breakfastand.coffee/</a> and then send a Webmention to indicate that you\u2019d like to syndicate your venue or review into Breakfast & Coffee, like into an aggregator.<br /><br />Before I get to that point however, I feel there\u2019s quite a few challenges in publishing a \u201cdecent\u201d restaurant / cafe venue page, because there really is a dearth of good examples of doing so with simple semantic HTML + CSS. You really don\u2019t need JS to post info about a restaurant.<br /><br />Setting aside the economic / intermediation challenges of \"delivery apps\" for now, people really want a few simple things from a restaurant site / page that could all be marked up with simple semantic HTML (thus resulting in good web search rankings) and styled in a quickly readable and mobile-friendly way.<br /><br />* hours open (perhaps kitchen hours if different)<br />* location (address that links to a map UI or map embed w/o cookies/tracking)<br />* nearest bus/tram/rail stop<br />* payment restrictions (e.g. if only cash, or only credit) or options if you prefer<br />* contact info (including a note about catering if that\u2019s an option)<br />* links to social media profiles<br />* links to restaurant review sites/aggregator pages (e.g. venue permalink on Google Maps, TripAdvisor, Foursquare, Swarm, HappyCow)<br />* menu with item name, description, price, optional-thumbnail, and dietary/allergy notations<br /><br />No you really don\u2019t need the full mess of made-up things at schema-org.<br /><br />The community at OpenStreetMap has done A LOT (most? nearly all?) of the work figuring out the ways to express the above types of information, e.g.:<br /><br /><a href=\"https://wiki.openstreetmap.org/wiki/Key:opening_hours\">https://wiki.openstreetmap.org/wiki/Key:opening_hours</a><br /><br />Yet has anyone actually seen a simple semantic HTML page that publishes this kind of information? <br /><br />I\u2019ve web searched many search terms and phrases and found nothing good. <br /><br />Stylistically dated templates for sale. Examples with numerous unnecessary scripts (no your typical user does not care about your clever animated 3D-carousel of pretty photos, certainly not waiting for a megabyte of framework scripts for it). Something built on Bootstrap, unnecessary for today\u2019s mobile-friendly HTML+CSS.<br /><br />I did find one (ONE) blog post from 2007 (those were the days) for semantic markup for a restaurant menu: <a href=\"https://jonchristopher.us/blog/a-semantic-breakdown-of-restaurant-menus/\">https://jonchristopher.us/blog/a-semantic-breakdown-of-restaurant-menus/</a> <br /><br />Unless I find an existing solution soon, I\u2019m going to create something from scratch with h-card (since a restaurant is an organization / venue) and add semantic HTML & class names for various fields, re-using from OpenStreetMap Keys whenever possible.<br /><br />That leaves the URL design, where to publish my restaurant pages on my own site, and rather than rethink it, I will likely go with what I decided in my Whistle short URL design\u00b9 many years ago, which is /v/ at the top level of my site, followed by a slug of my short name for the venue. This way I can play with static HTML pages there, with a shared style sheet in that same directory, without impacting anything else on my site.<br /><br />I have some other thoughts around iconography for various diet preferences / allergen warnings for menu items that I\u2019ve tried (or considered), though perhaps I\u2019ll leave those for another post. <br /><br />Or maybe I\u2019ll braindump them now, however incomplete, to see if they resonate or anyone has better suggestions (restaurants and menus really have no standard for these)<br /><br />\ud83c\udf31 vegan & gluten-free<br />\ud83c\udf31\ud83c\udf3e vegan + gluten<br />\ud83c\udf31\ud83e\udd5c vegan + nuts<br />\ud83c\udf31\ud83c\udf6b vegan + chocolate<br />\ud83c\udf31\ud83c\udf6f vegetarian (has honey)<br />\ud83c\udf31\ud83e\uddc8 vegetarian (has butter)<br />\ud83c\udf31\ud83e\udd5b vegetarian (has milk, cream, or yogurt)<br />\ud83c\udf31\ud83e\uddc0 vegetarian (has cheese)<br />\ud83c\udf31\ud83e\udd5a vegetarian (has egg)<br /><br />with combinations as necessary. <br /><br />For example, a breakfast sandwich at Devil\u2019s Teeth Bakery\u00b2:<br />* Regular Breakfast Sandwich (no bacon!) $10.00 \ud83c\udf31\ud83c\udf3e\ud83e\uddc8\ud83e\uddc0\ud83e\udd5a<br /><br />Or a chocolate croissant at Arsicault\u00b3:<br />* Chocolate Croissant $5.75 \ud83c\udf31\ud83c\udf3e\ud83e\uddc8\ud83c\udf6b<br /><br />Non-vegetarian items would omit the plant \ud83c\udf31 icon/emoji, but could still include allergen icons.<br /><br />If you are posting restaurants (or any other venues) to your personal site, please add a few of their permalinks to the IndieWeb Examples here: <a href=\"https://indieweb.org/venue#Indieweb_Examples\">https://indieweb.org/venue#Indieweb_Examples</a><br /><br /><br />This is day 40 of <a href=\"https://indieweb.social/tags/100DaysOfIndieWeb\">#<span class=\"p-category\">100DaysOfIndieWeb</span></a>. <a href=\"https://indieweb.social/tags/100Days\">#<span class=\"p-category\">100Days</span></a><br /><br />\u2190 Day 39: <a href=\"https://tantek.com/2023/112/t2/account-migration-post-blog-archive-format\">https://tantek.com/2023/112/t2/account-migration-post-blog-archive-format</a><br />\u2192 \ud83d\udd2e<br /><br /><br />Glossary<br /><br />article<br />\u00a0<a href=\"https://indieweb.org/article\">https://indieweb.org/article</a><br />checkin<br />\u00a0<a href=\"https://indieweb.org/checkin\">https://indieweb.org/checkin</a><br />h-card<br />\u00a0<a href=\"https://microformats.org/wiki/h-card\">https://microformats.org/wiki/h-card</a><br />h-entry<br />\u00a0<a href=\"https://microformats.org/wiki/h-entry\">https://microformats.org/wiki/h-entry</a><br />h-review<br />\u00a0<a href=\"https://microformats.org/wiki/h-review\">https://microformats.org/wiki/h-review</a><br />POSSE<br />\u00a0<a href=\"https://indieweb.org/POSSE\">https://indieweb.org/POSSE</a><br />review <br />\u00a0<a href=\"https://indieweb.org/review\">https://indieweb.org/review</a><br />URL design<br />\u00a0<a href=\"https://indieweb.org/URL_design\">https://indieweb.org/URL_design</a><br />venue<br />\u00a0<a href=\"https://indieweb.org/venue\">https://indieweb.org/venue</a><br /><br />References<br /><br />\u00b9 <a href=\"https://tantek.com/w/Whistle#design\">https://tantek.com/w/Whistle#design</a> <br />\u00b2 <a href=\"https://www.devilsteethbakingcompany.com/menu\">https://www.devilsteethbakingcompany.com/menu</a><br />\u00b3 <a href=\"https://arsicault-bakery.com/menus\">https://arsicault-bakery.com/menus</a>",
"text": "\ud83c\udf31 I have long been a fan of @Foursquare.com and @Swarmapp.com, having created many venues, posted many tips, and (checks profile) over 45,000 checkins. I recently joined @happycow.net and before I start posting new vegan (friendly) venues or reviews there, I really need to figure out my own personal site venue pages (including URL design) and review posts design and authoring workflow.\n\nI\u2019m pretty sure I can and should post h-review posts as a variant of articles (with usual h-entry markup) with an explicit article name, since most review destinations request a title (name) for the review (e.g. HappyCow, TripAdvisor), and for others with only review text (e.g. Google Maps), I can include the name at the start.\n\nDifferent review destinations have different text requirements (minimum and/or maximum lengths), and I\u2019ll take time to document those first.\n\nThe first destination I\u2019ll likely try automatically syndicating to is a site created by #IndieWeb community member @jamesg.blog (@capjamesg@indieweb.social): @breakfastand.coffee\n\nIt\u2019s still quite new, but the thing that makes Breakfast & Coffee innovative and unique is that it encourages you to post your venue (e.g. cafe) description or review on your own site with a meaningful slug, link to https://breakfastand.coffee/ and then send a Webmention to indicate that you\u2019d like to syndicate your venue or review into Breakfast & Coffee, like into an aggregator.\n\nBefore I get to that point however, I feel there\u2019s quite a few challenges in publishing a \u201cdecent\u201d restaurant / cafe venue page, because there really is a dearth of good examples of doing so with simple semantic HTML + CSS. You really don\u2019t need JS to post info about a restaurant.\n\nSetting aside the economic / intermediation challenges of \"delivery apps\" for now, people really want a few simple things from a restaurant site / page that could all be marked up with simple semantic HTML (thus resulting in good web search rankings) and styled in a quickly readable and mobile-friendly way.\n\n* hours open (perhaps kitchen hours if different)\n* location (address that links to a map UI or map embed w/o cookies/tracking)\n* nearest bus/tram/rail stop\n* payment restrictions (e.g. if only cash, or only credit) or options if you prefer\n* contact info (including a note about catering if that\u2019s an option)\n* links to social media profiles\n* links to restaurant review sites/aggregator pages (e.g. venue permalink on Google Maps, TripAdvisor, Foursquare, Swarm, HappyCow)\n* menu with item name, description, price, optional-thumbnail, and dietary/allergy notations\n\nNo you really don\u2019t need the full mess of made-up things at schema-org.\n\nThe community at OpenStreetMap has done A LOT (most? nearly all?) of the work figuring out the ways to express the above types of information, e.g.:\n\nhttps://wiki.openstreetmap.org/wiki/Key:opening_hours\n\nYet has anyone actually seen a simple semantic HTML page that publishes this kind of information? \n\nI\u2019ve web searched many search terms and phrases and found nothing good. \n\nStylistically dated templates for sale. Examples with numerous unnecessary scripts (no your typical user does not care about your clever animated 3D-carousel of pretty photos, certainly not waiting for a megabyte of framework scripts for it). Something built on Bootstrap, unnecessary for today\u2019s mobile-friendly HTML+CSS.\n\nI did find one (ONE) blog post from 2007 (those were the days) for semantic markup for a restaurant menu: https://jonchristopher.us/blog/a-semantic-breakdown-of-restaurant-menus/ \n\nUnless I find an existing solution soon, I\u2019m going to create something from scratch with h-card (since a restaurant is an organization / venue) and add semantic HTML & class names for various fields, re-using from OpenStreetMap Keys whenever possible.\n\nThat leaves the URL design, where to publish my restaurant pages on my own site, and rather than rethink it, I will likely go with what I decided in my Whistle short URL design\u00b9 many years ago, which is /v/ at the top level of my site, followed by a slug of my short name for the venue. This way I can play with static HTML pages there, with a shared style sheet in that same directory, without impacting anything else on my site.\n\nI have some other thoughts around iconography for various diet preferences / allergen warnings for menu items that I\u2019ve tried (or considered), though perhaps I\u2019ll leave those for another post. \n\nOr maybe I\u2019ll braindump them now, however incomplete, to see if they resonate or anyone has better suggestions (restaurants and menus really have no standard for these)\n\n\ud83c\udf31 vegan & gluten-free\n\ud83c\udf31\ud83c\udf3e vegan + gluten\n\ud83c\udf31\ud83e\udd5c vegan + nuts\n\ud83c\udf31\ud83c\udf6b vegan + chocolate\n\ud83c\udf31\ud83c\udf6f vegetarian (has honey)\n\ud83c\udf31\ud83e\uddc8 vegetarian (has butter)\n\ud83c\udf31\ud83e\udd5b vegetarian (has milk, cream, or yogurt)\n\ud83c\udf31\ud83e\uddc0 vegetarian (has cheese)\n\ud83c\udf31\ud83e\udd5a vegetarian (has egg)\n\nwith combinations as necessary. \n\nFor example, a breakfast sandwich at Devil\u2019s Teeth Bakery\u00b2:\n* Regular Breakfast Sandwich (no bacon!) $10.00 \ud83c\udf31\ud83c\udf3e\ud83e\uddc8\ud83e\uddc0\ud83e\udd5a\n\nOr a chocolate croissant at Arsicault\u00b3:\n* Chocolate Croissant $5.75 \ud83c\udf31\ud83c\udf3e\ud83e\uddc8\ud83c\udf6b\n\nNon-vegetarian items would omit the plant \ud83c\udf31 icon/emoji, but could still include allergen icons.\n\nIf you are posting restaurants (or any other venues) to your personal site, please add a few of their permalinks to the IndieWeb Examples here: https://indieweb.org/venue#Indieweb_Examples\n\n\nThis is day 40 of #100DaysOfIndieWeb. #100Days\n\n\u2190 Day 39: https://tantek.com/2023/112/t2/account-migration-post-blog-archive-format\n\u2192 \ud83d\udd2e\n\n\nGlossary\n\narticle\n\u00a0https://indieweb.org/article\ncheckin\n\u00a0https://indieweb.org/checkin\nh-card\n\u00a0https://microformats.org/wiki/h-card\nh-entry\n\u00a0https://microformats.org/wiki/h-entry\nh-review\n\u00a0https://microformats.org/wiki/h-review\nPOSSE\n\u00a0https://indieweb.org/POSSE\nreview \n\u00a0https://indieweb.org/review\nURL design\n\u00a0https://indieweb.org/URL_design\nvenue\n\u00a0https://indieweb.org/venue\n\nReferences\n\n\u00b9 https://tantek.com/w/Whistle#design \n\u00b2 https://www.devilsteethbakingcompany.com/menu\n\u00b3 https://arsicault-bakery.com/menus"
},
"published": "2023-04-24T20:34:00+00:00",
"post-type": "note",
"_id": "36766609",
"_source": "7235",
"_is_read": false
}
🌱 I have long been a fan of @Foursquare.com and @Swarmapp.com, having created many venues, posted many tips, and (checks profile) over 45,000 checkins. I recently joined @happycow.net and before I start posting new vegan (friendly) venues or reviews there, I really need to figure out my own personal site venue pages (including URL design) and review posts design and authoring workflow.
I’m pretty sure I can and should post h-review posts as a variant of articles (with usual h-entry markup) with an explicit article name, since most review destinations request a title (name) for the review (e.g. HappyCow, TripAdvisor), and for others with only review text (e.g. Google Maps), I can include the name at the start.
Different review destinations have different text requirements (minimum and/or maximum lengths), and I’ll take time to document those first.
The first destination I’ll likely try automatically syndicating to is a site created by #IndieWeb community member @jamesg.blog (@capjamesg@indieweb.social): @breakfastand.coffee
It’s still quite new, but the thing that makes Breakfast & Coffee innovative and unique is that it encourages you to post your venue (e.g. cafe) description or review on your own site with a meaningful slug, link to https://breakfastand.coffee/ and then send a Webmention to indicate that you’d like to syndicate your venue or review into Breakfast & Coffee, like into an aggregator.
Before I get to that point however, I feel there’s quite a few challenges in publishing a “decent” restaurant / cafe venue page, because there really is a dearth of good examples of doing so with simple semantic HTML + CSS. You really don’t need JS to post info about a restaurant.
Setting aside the economic / intermediation challenges of "delivery apps" for now, people really want a few simple things from a restaurant site / page that could all be marked up with simple semantic HTML (thus resulting in good web search rankings) and styled in a quickly readable and mobile-friendly way.
* hours open (perhaps kitchen hours if different)
* location (address that links to a map UI or map embed w/o cookies/tracking)
* nearest bus/tram/rail stop
* payment restrictions (e.g. if only cash, or only credit) or options if you prefer
* contact info (including a note about catering if that’s an option)
* links to social media profiles
* links to restaurant review sites/aggregator pages (e.g. venue permalink on Google Maps, TripAdvisor, Foursquare, Swarm, HappyCow)
* menu with item name, description, price, optional-thumbnail, and dietary/allergy notations
No you really don’t need the full mess of made-up things at schema-org.
The community at OpenStreetMap has done A LOT (most? nearly all?) of the work figuring out the ways to express the above types of information, e.g.:
https://wiki.openstreetmap.org/wiki/Key:opening_hours
Yet has anyone actually seen a simple semantic HTML page that publishes this kind of information?
I’ve web searched many search terms and phrases and found nothing good.
Stylistically dated templates for sale. Examples with numerous unnecessary scripts (no your typical user does not care about your clever animated 3D-carousel of pretty photos, certainly not waiting for a megabyte of framework scripts for it). Something built on Bootstrap, unnecessary for today’s mobile-friendly HTML+CSS.
I did find one (ONE) blog post from 2007 (those were the days) for semantic markup for a restaurant menu: https://jonchristopher.us/blog/a-semantic-breakdown-of-restaurant-menus/
Unless I find an existing solution soon, I’m going to create something from scratch with h-card (since a restaurant is an organization / venue) and add semantic HTML & class names for various fields, re-using from OpenStreetMap Keys whenever possible.
That leaves the URL design, where to publish my restaurant pages on my own site, and rather than rethink it, I will likely go with what I decided in my Whistle short URL design¹ many years ago, which is /v/ at the top level of my site, followed by a slug of my short name for the venue. This way I can play with static HTML pages there, with a shared style sheet in that same directory, without impacting anything else on my site.
I have some other thoughts around iconography for various diet preferences / allergen warnings for menu items that I’ve tried (or considered), though perhaps I’ll leave those for another post.
Or maybe I’ll braindump them now, however incomplete, to see if they resonate or anyone has better suggestions (restaurants and menus really have no standard for these)
🌱 vegan & gluten-free
🌱🌾 vegan + gluten
🌱🥜 vegan + nuts
🌱🍫 vegan + chocolate
🌱🍯 vegetarian (has honey)
🌱🧈 vegetarian (has butter)
🌱🥛 vegetarian (has milk, cream, or yogurt)
🌱🧀 vegetarian (has cheese)
🌱🥚 vegetarian (has egg)
with combinations as necessary.
For example, a breakfast sandwich at Devil’s Teeth Bakery²:
* Regular Breakfast Sandwich (no bacon!) $10.00 🌱🌾🧈🧀🥚
Or a chocolate croissant at Arsicault³:
* Chocolate Croissant $5.75 🌱🌾🧈🍫
Non-vegetarian items would omit the plant 🌱 icon/emoji, but could still include allergen icons.
If you are posting restaurants (or any other venues) to your personal site, please add a few of their permalinks to the IndieWeb Examples here: https://indieweb.org/venue#Indieweb_Examples
This is day 40 of #100DaysOfIndieWeb. #100Days
← Day 39: https://tantek.com/2023/112/t2/account-migration-post-blog-archive-format
→ 🔮
Glossary
article
https://indieweb.org/article
checkin
https://indieweb.org/checkin
h-card
https://microformats.org/wiki/h-card
h-entry
https://microformats.org/wiki/h-entry
h-review
https://microformats.org/wiki/h-review
POSSE
https://indieweb.org/POSSE
review
https://indieweb.org/review
URL design
https://indieweb.org/URL_design
venue
https://indieweb.org/venue
References
¹ https://tantek.com/w/Whistle#design
² https://www.devilsteethbakingcompany.com/menu
³ https://arsicault-bakery.com/menus
{
"type": "entry",
"published": "2023-04-24 13:34-0700",
"url": "http://tantek.com/2023/114/t1/venues-reviews-personal-pages",
"category": [
"IndieWeb",
"100DaysOfIndieWeb",
"100Days"
],
"content": {
"text": "\ud83c\udf31 I have long been a fan of @Foursquare.com and @Swarmapp.com, having created many venues, posted many tips, and (checks profile) over 45,000 checkins. I recently joined @happycow.net and before I start posting new vegan (friendly) venues or reviews there, I really need to figure out my own personal site venue pages (including URL design) and review posts design and authoring workflow.\n\nI\u2019m pretty sure I can and should post h-review posts as a variant of articles (with usual h-entry markup) with an explicit article name, since most review destinations request a title (name) for the review (e.g. HappyCow, TripAdvisor), and for others with only review text (e.g. Google Maps), I can include the name at the start.\n\nDifferent review destinations have different text requirements (minimum and/or maximum lengths), and I\u2019ll take time to document those first.\n\nThe first destination I\u2019ll likely try automatically syndicating to is a site created by #IndieWeb community member @jamesg.blog (@capjamesg@indieweb.social): @breakfastand.coffee\n\nIt\u2019s still quite new, but the thing that makes Breakfast & Coffee innovative and unique is that it encourages you to post your venue (e.g. cafe) description or review on your own site with a meaningful slug, link to https://breakfastand.coffee/ and then send a Webmention to indicate that you\u2019d like to syndicate your venue or review into Breakfast & Coffee, like into an aggregator.\n\nBefore I get to that point however, I feel there\u2019s quite a few challenges in publishing a \u201cdecent\u201d restaurant / cafe venue page, because there really is a dearth of good examples of doing so with simple semantic HTML + CSS. You really don\u2019t need JS to post info about a restaurant.\n\nSetting aside the economic / intermediation challenges of \"delivery apps\" for now, people really want a few simple things from a restaurant site / page that could all be marked up with simple semantic HTML (thus resulting in good web search rankings) and styled in a quickly readable and mobile-friendly way.\n\n* hours open (perhaps kitchen hours if different)\n* location (address that links to a map UI or map embed w/o cookies/tracking)\n* nearest bus/tram/rail stop\n* payment restrictions (e.g. if only cash, or only credit) or options if you prefer\n* contact info (including a note about catering if that\u2019s an option)\n* links to social media profiles\n* links to restaurant review sites/aggregator pages (e.g. venue permalink on Google Maps, TripAdvisor, Foursquare, Swarm, HappyCow)\n* menu with item name, description, price, optional-thumbnail, and dietary/allergy notations\n\nNo you really don\u2019t need the full mess of made-up things at schema-org.\n\nThe community at OpenStreetMap has done A LOT (most? nearly all?) of the work figuring out the ways to express the above types of information, e.g.:\n\nhttps://wiki.openstreetmap.org/wiki/Key:opening_hours\n\nYet has anyone actually seen a simple semantic HTML page that publishes this kind of information? \n\nI\u2019ve web searched many search terms and phrases and found nothing good. \n\nStylistically dated templates for sale. Examples with numerous unnecessary scripts (no your typical user does not care about your clever animated 3D-carousel of pretty photos, certainly not waiting for a megabyte of framework scripts for it). Something built on Bootstrap, unnecessary for today\u2019s mobile-friendly HTML+CSS.\n\nI did find one (ONE) blog post from 2007 (those were the days) for semantic markup for a restaurant menu: https://jonchristopher.us/blog/a-semantic-breakdown-of-restaurant-menus/ \n\nUnless I find an existing solution soon, I\u2019m going to create something from scratch with h-card (since a restaurant is an organization / venue) and add semantic HTML & class names for various fields, re-using from OpenStreetMap Keys whenever possible.\n\nThat leaves the URL design, where to publish my restaurant pages on my own site, and rather than rethink it, I will likely go with what I decided in my Whistle short URL design\u00b9 many years ago, which is /v/ at the top level of my site, followed by a slug of my short name for the venue. This way I can play with static HTML pages there, with a shared style sheet in that same directory, without impacting anything else on my site.\n\nI have some other thoughts around iconography for various diet preferences / allergen warnings for menu items that I\u2019ve tried (or considered), though perhaps I\u2019ll leave those for another post. \n\nOr maybe I\u2019ll braindump them now, however incomplete, to see if they resonate or anyone has better suggestions (restaurants and menus really have no standard for these)\n\n\ud83c\udf31 vegan & gluten-free\n\ud83c\udf31\ud83c\udf3e vegan + gluten\n\ud83c\udf31\ud83e\udd5c vegan + nuts\n\ud83c\udf31\ud83c\udf6b vegan + chocolate\n\ud83c\udf31\ud83c\udf6f vegetarian (has honey)\n\ud83c\udf31\ud83e\uddc8 vegetarian (has butter)\n\ud83c\udf31\ud83e\udd5b vegetarian (has milk, cream, or yogurt)\n\ud83c\udf31\ud83e\uddc0 vegetarian (has cheese)\n\ud83c\udf31\ud83e\udd5a vegetarian (has egg)\n\nwith combinations as necessary. \n\nFor example, a breakfast sandwich at Devil\u2019s Teeth Bakery\u00b2:\n* Regular Breakfast Sandwich (no bacon!) $10.00 \ud83c\udf31\ud83c\udf3e\ud83e\uddc8\ud83e\uddc0\ud83e\udd5a\n\nOr a chocolate croissant at Arsicault\u00b3:\n* Chocolate Croissant $5.75 \ud83c\udf31\ud83c\udf3e\ud83e\uddc8\ud83c\udf6b\n\nNon-vegetarian items would omit the plant \ud83c\udf31 icon/emoji, but could still include allergen icons.\n\nIf you are posting restaurants (or any other venues) to your personal site, please add a few of their permalinks to the IndieWeb Examples here: https://indieweb.org/venue#Indieweb_Examples\n\n\nThis is day 40 of #100DaysOfIndieWeb. #100Days\n\n\u2190 Day 39: https://tantek.com/2023/112/t2/account-migration-post-blog-archive-format\n\u2192 \ud83d\udd2e\n\n\nGlossary\n\narticle\n\u00a0https://indieweb.org/article\ncheckin\n\u00a0https://indieweb.org/checkin\nh-card\n\u00a0https://microformats.org/wiki/h-card\nh-entry\n\u00a0https://microformats.org/wiki/h-entry\nh-review\n\u00a0https://microformats.org/wiki/h-review\nPOSSE\n\u00a0https://indieweb.org/POSSE\nreview \n\u00a0https://indieweb.org/review\nURL design\n\u00a0https://indieweb.org/URL_design\nvenue\n\u00a0https://indieweb.org/venue\n\nReferences\n\n\u00b9 https://tantek.com/w/Whistle#design \n\u00b2 https://www.devilsteethbakingcompany.com/menu\n\u00b3 https://arsicault-bakery.com/menus",
"html": "\ud83c\udf31 I have long been a fan of <a href=\"https://Foursquare.com\">@Foursquare.com</a> and <a href=\"https://Swarmapp.com\">@Swarmapp.com</a>, having created many venues, posted many tips, and (checks profile) over 45,000 checkins. I recently joined <a href=\"https://happycow.net\">@happycow.net</a> and before I start posting new vegan (friendly) venues or reviews there, I really need to figure out my own personal site venue pages (including URL design) and review posts design and authoring workflow.<br /><br />I\u2019m pretty sure I can and should post h-review posts as a variant of articles (with usual h-entry markup) with an explicit article name, since most review destinations request a title (name) for the review (e.g. HappyCow, TripAdvisor), and for others with only review text (e.g. Google Maps), I can include the name at the start.<br /><br />Different review destinations have different text requirements (minimum and/or maximum lengths), and I\u2019ll take time to document those first.<br /><br />The first destination I\u2019ll likely try automatically syndicating to is a site created by #<span class=\"p-category\">IndieWeb</span> community member <a href=\"https://jamesg.blog\">@jamesg.blog</a> (<a href=\"https://indieweb.social/@capjamesg\">@capjamesg@indieweb.social</a>): <a href=\"https://breakfastand.coffee\">@breakfastand.coffee</a><br /><br />It\u2019s still quite new, but the thing that makes Breakfast & Coffee innovative and unique is that it encourages you to post your venue (e.g. cafe) description or review on your own site with a meaningful slug, link to <a href=\"https://breakfastand.coffee/\">https://breakfastand.coffee/</a> and then send a Webmention to indicate that you\u2019d like to syndicate your venue or review into Breakfast & Coffee, like into an aggregator.<br /><br />Before I get to that point however, I feel there\u2019s quite a few challenges in publishing a \u201cdecent\u201d restaurant / cafe venue page, because there really is a dearth of good examples of doing so with simple semantic HTML + CSS. You really don\u2019t need JS to post info about a restaurant.<br /><br />Setting aside the economic / intermediation challenges of \"delivery apps\" for now, people really want a few simple things from a restaurant site / page that could all be marked up with simple semantic HTML (thus resulting in good web search rankings) and styled in a quickly readable and mobile-friendly way.<br /><br />* hours open (perhaps kitchen hours if different)<br />* location (address that links to a map UI or map embed w/o cookies/tracking)<br />* nearest bus/tram/rail stop<br />* payment restrictions (e.g. if only cash, or only credit) or options if you prefer<br />* contact info (including a note about catering if that\u2019s an option)<br />* links to social media profiles<br />* links to restaurant review sites/aggregator pages (e.g. venue permalink on Google Maps, TripAdvisor, Foursquare, Swarm, HappyCow)<br />* menu with item name, description, price, optional-thumbnail, and dietary/allergy notations<br /><br />No you really don\u2019t need the full mess of made-up things at schema-org.<br /><br />The community at OpenStreetMap has done A LOT (most? nearly all?) of the work figuring out the ways to express the above types of information, e.g.:<br /><br /><a href=\"https://wiki.openstreetmap.org/wiki/Key:opening_hours\">https://wiki.openstreetmap.org/wiki/Key:opening_hours</a><br /><br />Yet has anyone actually seen a simple semantic HTML page that publishes this kind of information? <br /><br />I\u2019ve web searched many search terms and phrases and found nothing good. <br /><br />Stylistically dated templates for sale. Examples with numerous unnecessary scripts (no your typical user does not care about your clever animated 3D-carousel of pretty photos, certainly not waiting for a megabyte of framework scripts for it). Something built on Bootstrap, unnecessary for today\u2019s mobile-friendly HTML+CSS.<br /><br />I did find one (ONE) blog post from 2007 (those were the days) for semantic markup for a restaurant menu: <a href=\"https://jonchristopher.us/blog/a-semantic-breakdown-of-restaurant-menus/\">https://jonchristopher.us/blog/a-semantic-breakdown-of-restaurant-menus/</a> <br /><br />Unless I find an existing solution soon, I\u2019m going to create something from scratch with h-card (since a restaurant is an organization / venue) and add semantic HTML & class names for various fields, re-using from OpenStreetMap Keys whenever possible.<br /><br />That leaves the URL design, where to publish my restaurant pages on my own site, and rather than rethink it, I will likely go with what I decided in my Whistle short URL design<a href=\"http://tantek.com/#t5QX1_note-1\">\u00b9</a> many years ago, which is /v/ at the top level of my site, followed by a slug of my short name for the venue. This way I can play with static HTML pages there, with a shared style sheet in that same directory, without impacting anything else on my site.<br /><br />I have some other thoughts around iconography for various diet preferences / allergen warnings for menu items that I\u2019ve tried (or considered), though perhaps I\u2019ll leave those for another post. <br /><br />Or maybe I\u2019ll braindump them now, however incomplete, to see if they resonate or anyone has better suggestions (restaurants and menus really have no standard for these)<br /><br />\ud83c\udf31 vegan & gluten-free<br />\ud83c\udf31\ud83c\udf3e vegan + gluten<br />\ud83c\udf31\ud83e\udd5c vegan + nuts<br />\ud83c\udf31\ud83c\udf6b vegan + chocolate<br />\ud83c\udf31\ud83c\udf6f vegetarian (has honey)<br />\ud83c\udf31\ud83e\uddc8 vegetarian (has butter)<br />\ud83c\udf31\ud83e\udd5b vegetarian (has milk, cream, or yogurt)<br />\ud83c\udf31\ud83e\uddc0 vegetarian (has cheese)<br />\ud83c\udf31\ud83e\udd5a vegetarian (has egg)<br /><br />with combinations as necessary. <br /><br />For example, a breakfast sandwich at Devil\u2019s Teeth Bakery<a href=\"http://tantek.com/#t5QX1_note-2\">\u00b2</a>:<br />* Regular Breakfast Sandwich (no bacon!) $10.00 \ud83c\udf31\ud83c\udf3e\ud83e\uddc8\ud83e\uddc0\ud83e\udd5a<br /><br />Or a chocolate croissant at Arsicault<a href=\"http://tantek.com/#t5QX1_note-3\">\u00b3</a>:<br />* Chocolate Croissant $5.75 \ud83c\udf31\ud83c\udf3e\ud83e\uddc8\ud83c\udf6b<br /><br />Non-vegetarian items would omit the plant \ud83c\udf31 icon/emoji, but could still include allergen icons.<br /><br />If you are posting restaurants (or any other venues) to your personal site, please add a few of their permalinks to the IndieWeb Examples here: <a href=\"https://indieweb.org/venue#Indieweb_Examples\">https://indieweb.org/venue#Indieweb_Examples</a><br /><br /><br />This is day 40 of #<span class=\"p-category\">100DaysOfIndieWeb</span>. #<span class=\"p-category\">100Days</span><br /><br />\u2190 Day 39: <a href=\"https://tantek.com/2023/112/t2/account-migration-post-blog-archive-format\">https://tantek.com/2023/112/t2/account-migration-post-blog-archive-format</a><br />\u2192 \ud83d\udd2e<br /><br /><br />Glossary<br /><br />article<br />\u00a0<a href=\"https://indieweb.org/article\">https://indieweb.org/article</a><br />checkin<br />\u00a0<a href=\"https://indieweb.org/checkin\">https://indieweb.org/checkin</a><br />h-card<br />\u00a0<a href=\"https://microformats.org/wiki/h-card\">https://microformats.org/wiki/h-card</a><br />h-entry<br />\u00a0<a href=\"https://microformats.org/wiki/h-entry\">https://microformats.org/wiki/h-entry</a><br />h-review<br />\u00a0<a href=\"https://microformats.org/wiki/h-review\">https://microformats.org/wiki/h-review</a><br />POSSE<br />\u00a0<a href=\"https://indieweb.org/POSSE\">https://indieweb.org/POSSE</a><br />review <br />\u00a0<a href=\"https://indieweb.org/review\">https://indieweb.org/review</a><br />URL design<br />\u00a0<a href=\"https://indieweb.org/URL_design\">https://indieweb.org/URL_design</a><br />venue<br />\u00a0<a href=\"https://indieweb.org/venue\">https://indieweb.org/venue</a><br /><br />References<br /><br /><a href=\"http://tantek.com/#t5QX1_ref-1\">\u00b9</a> <a href=\"https://tantek.com/w/Whistle#design\">https://tantek.com/w/Whistle#design</a> <br /><a href=\"http://tantek.com/#t5QX1_ref-2\">\u00b2</a> <a href=\"https://www.devilsteethbakingcompany.com/menu\">https://www.devilsteethbakingcompany.com/menu</a><br /><a href=\"http://tantek.com/#t5QX1_ref-3\">\u00b3</a> <a href=\"https://arsicault-bakery.com/menus\">https://arsicault-bakery.com/menus</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "http://tantek.com/",
"photo": "https://aperture-media.p3k.io/tantek.com/acfddd7d8b2c8cf8aa163651432cc1ec7eb8ec2f881942dca963d305eeaaa6b8.jpg"
},
"post-type": "note",
"_id": "36766196",
"_source": "1",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "Manton Reece",
"url": "https://www.manton.org/",
"photo": "https://micro.blog/manton/avatar.jpg"
},
"url": "https://www.manton.org/2023/04/24/why-microblog-is.html",
"name": "Why Micro.blog is supporting Bluesky now",
"content": {
"html": "<p>Today we enabled <a href=\"https://blueskyweb.xyz\">Bluesky</a> as an option in Micro.blog. This adds to our existing cross-posting feature that supports platforms such as Mastodon, Tumblr, Medium, and Flickr. When you post to your blog, Micro.blog can copy the post to any of these platforms automatically.</p>\n<p>As Twitter continues to implode, we are seeing a renewed interest in the open web and decentralized social media. It\u2019s an exciting time. Mastodon and the larger fediverse have grown to nearly 9 million users. Micro.blog is part of that with its support for ActivityPub, so Mastodon users can follow and reply to Micro.blog users directly.</p>\n<p>While Mastodon and ActivityPub have most of the attention, I\u2019m not entirely sure how this next generation of open protocols is going to shake out. I like how Bluesky is focused on domain names and data portability, principles that are shared by the IndieWeb and Micro.blog. Whatever happens with Bluesky, I think there\u2019s inspiration here that can benefit other platforms as well.</p>\n<p>That\u2019s why we\u2019re adding support for Bluesky now, even before the Bluesky folks have rolled it out to everyone on their waiting list. Micro.blog has never been about a single protocol. It\u2019s about putting your blog at the center of your online identity, the place where you can post short posts, longer essays, photos, podcasts, or whatever else you want to share.</p>\n<p>It\u2019s still early. I\u2019ll be watching how Bluesky evolves. There will be challenges to potentially intertwine different approaches to federation. But now is not the time to build walls. Let\u2019s try a few things, new ways to connect platforms, knowing some might not pan out, because that\u2019s how the open web gets better.</p>",
"text": "Today we enabled Bluesky as an option in Micro.blog. This adds to our existing cross-posting feature that supports platforms such as Mastodon, Tumblr, Medium, and Flickr. When you post to your blog, Micro.blog can copy the post to any of these platforms automatically.\nAs Twitter continues to implode, we are seeing a renewed interest in the open web and decentralized social media. It\u2019s an exciting time. Mastodon and the larger fediverse have grown to nearly 9 million users. Micro.blog is part of that with its support for ActivityPub, so Mastodon users can follow and reply to Micro.blog users directly.\nWhile Mastodon and ActivityPub have most of the attention, I\u2019m not entirely sure how this next generation of open protocols is going to shake out. I like how Bluesky is focused on domain names and data portability, principles that are shared by the IndieWeb and Micro.blog. Whatever happens with Bluesky, I think there\u2019s inspiration here that can benefit other platforms as well.\nThat\u2019s why we\u2019re adding support for Bluesky now, even before the Bluesky folks have rolled it out to everyone on their waiting list. Micro.blog has never been about a single protocol. It\u2019s about putting your blog at the center of your online identity, the place where you can post short posts, longer essays, photos, podcasts, or whatever else you want to share.\nIt\u2019s still early. I\u2019ll be watching how Bluesky evolves. There will be challenges to potentially intertwine different approaches to federation. But now is not the time to build walls. Let\u2019s try a few things, new ways to connect platforms, knowing some might not pan out, because that\u2019s how the open web gets better."
},
"published": "2023-04-24T15:27:41-05:00",
"category": [
"Essays"
],
"post-type": "article",
"_id": "36764031",
"_source": "12",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "Manton Reece",
"url": "https://www.manton.org/",
"photo": "https://micro.blog/manton/avatar.jpg"
},
"url": "https://www.manton.org/2023/04/24/mastodon-to-blog.html",
"name": "Mastodon to Blog Archive script",
"content": {
"html": "<p><a href=\"https://tantek.com/2023/112/t2/account-migration-post-blog-archive-format\">Tantek \u00c7elik blogged about</a> Mastodon\u2019s account migration and its post export, which is based on ActivityStreams. No other apps really import this format yet, not even Mastodon itself. He also mentions the <a href=\"https://indieweb.org/blog_archive_format\">Blog Archive Format</a> and how useful it would be to convert between Mastodon and this format:</p>\n<blockquote>\n<p>Such a library would make an excellent drop-in addition to any <a href=\"https://indieweb.social/tags/ActivityPub\">#ActivityPub</a> implementation, allowing both export of posts, and also a browsable archive format, so you could visually double check when importing to another service that these were the old posts you were looking for.</p>\n</blockquote>\n<p>I\u2019ve taken a first pass at writing a Ruby script to convert Mastodon\u2019s export to Blog Archive Format. It\u2019s available <a href=\"https://gist.github.com/manton/946ddbb74b5d0948053d7e23793ead77\">as a GitHub Gist here</a>. It\u2019s not packaged as a general-purpose library but certainly could be adapted for that.</p>\n<p>Direct posts import from Mastodon will be baked into Micro.blog soon. We already support several formats \u2014\u00a0WordPress, Medium, Tumblr, Ghost \u2014 and I learned a lot about how best to process large archives while building the new Twitter import.</p>",
"text": "Tantek \u00c7elik blogged about Mastodon\u2019s account migration and its post export, which is based on ActivityStreams. No other apps really import this format yet, not even Mastodon itself. He also mentions the Blog Archive Format and how useful it would be to convert between Mastodon and this format:\n\nSuch a library would make an excellent drop-in addition to any #ActivityPub implementation, allowing both export of posts, and also a browsable archive format, so you could visually double check when importing to another service that these were the old posts you were looking for.\n\nI\u2019ve taken a first pass at writing a Ruby script to convert Mastodon\u2019s export to Blog Archive Format. It\u2019s available as a GitHub Gist here. It\u2019s not packaged as a general-purpose library but certainly could be adapted for that.\nDirect posts import from Mastodon will be baked into Micro.blog soon. We already support several formats \u2014\u00a0WordPress, Medium, Tumblr, Ghost \u2014 and I learned a lot about how best to process large archives while building the new Twitter import."
},
"published": "2023-04-24T08:59:35-05:00",
"category": [
"Essays"
],
"post-type": "article",
"_id": "36755915",
"_source": "12",
"_is_read": false
}
@rmdes As the name of my instance shows, am a giant #Indieweb fan, and yes #POSSE for the win.
{
"type": "entry",
"author": {
"name": "@tchambers",
"url": "https://indieweb.social/@tchambers",
"photo": null
},
"url": "https://indieweb.social/@tchambers/110253895958590797",
"content": {
"html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://mstdn.social/@rmdes\">@<span>rmdes</span></a></span> As the name of my instance shows, am a giant <a href=\"https://indieweb.social/tags/Indieweb\">#<span>Indieweb</span></a> fan, and yes <a href=\"https://indieweb.social/tags/POSSE\">#<span>POSSE</span></a> for the win.</p>",
"text": "@rmdes As the name of my instance shows, am a giant #Indieweb fan, and yes #POSSE for the win."
},
"published": "2023-04-24T12:55:41+00:00",
"post-type": "note",
"_id": "36754350",
"_source": "7235",
"_is_read": false
}
@anildash @maegul
The #indieweb developer in me loves that. I am not sure why we would need much of the other BlueSky complexity to adapt that feature to ActivityPub based systems…
{
"type": "entry",
"author": {
"name": "@tchambers",
"url": "https://indieweb.social/@tchambers",
"photo": null
},
"url": "https://indieweb.social/@tchambers/110253318050472019",
"content": {
"html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://me.dm/@anildash\">@<span>anildash</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://hachyderm.io/@maegul\">@<span>maegul</span></a></span> </p><p>The <a href=\"https://indieweb.social/tags/indieweb\">#<span>indieweb</span></a> developer in me loves that. I am not sure why we would need much of the other BlueSky complexity to adapt that feature to ActivityPub based systems\u2026</p>",
"text": "@anildash @maegul The #indieweb developer in me loves that. I am not sure why we would need much of the other BlueSky complexity to adapt that feature to ActivityPub based systems\u2026"
},
"published": "2023-04-24T10:28:43+00:00",
"post-type": "note",
"_id": "36751805",
"_source": "7235",
"_is_read": false
}
@mookie @spreadmastodon @davidslifka
Thanks Steve: it is a start and much more in May!
Appreciate the encouragement! Hope to bring the most broad set of #indieweb, #openweb, snd #fediverse advocates possible to #TakeBackSocial ….and can use your help!
{
"type": "entry",
"author": {
"name": "@tchambers",
"url": "https://indieweb.social/@tchambers",
"photo": null
},
"url": "https://indieweb.social/@tchambers/110253116793791797",
"content": {
"html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://mininull.com/@mookie\">@<span>mookie</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://mastodon.social/@spreadmastodon\">@<span>spreadmastodon</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://mastodon.social/@davidslifka\">@<span>davidslifka</span></a></span> </p><p>Thanks Steve: it is a start and much more in May! </p><p>Appreciate the encouragement! Hope to bring the most broad set of <a href=\"https://indieweb.social/tags/indieweb\">#<span>indieweb</span></a>, <a href=\"https://indieweb.social/tags/openweb\">#<span>openweb</span></a>, snd <a href=\"https://indieweb.social/tags/fediverse\">#<span>fediverse</span></a> advocates possible to <a href=\"https://indieweb.social/tags/TakeBackSocial\">#<span>TakeBackSocial</span></a> \u2026.and can use your help!</p>",
"text": "@mookie @spreadmastodon @davidslifka Thanks Steve: it is a start and much more in May! Appreciate the encouragement! Hope to bring the most broad set of #indieweb, #openweb, snd #fediverse advocates possible to #TakeBackSocial \u2026.and can use your help!"
},
"published": "2023-04-24T09:37:32+00:00",
"post-type": "note",
"_id": "36751336",
"_source": "7235",
"_is_read": false
}
@spreadmastodon@mastodon.social it is one of the more amazing examples of emergent distributed alignment that I have seen. There is so much overlap across efforts, principles¹, and goals that it makes sense that we are finding ways of making things seamlessly work together at the edges.
I also see a common desire for enabling more user-owned use of and creating for the web, independent of big corporate ownership (or control), and without any reliance or need for surveillance capitalism.
#Fediverse #IndieWeb #Mastodon #OpenWeb #SpreadMastodon projects do not depend on tracking & profiling users for targeted advertising.
A better web is possible.
¹ https://indieweb.org/principles
{
"type": "entry",
"published": "2023-04-23 17:00-0700",
"url": "http://tantek.com/2023/113/t4/",
"category": [
"Fediverse",
"IndieWeb",
"Mastodon",
"OpenWeb",
"SpreadMastodon"
],
"in-reply-to": [
"https://mastodon.social/@spreadmastodon/110249767459591081"
],
"content": {
"text": "@spreadmastodon@mastodon.social it is one of the more amazing examples of emergent distributed alignment that I have seen. There is so much overlap across efforts, principles\u00b9, and goals that it makes sense that we are finding ways of making things seamlessly work together at the edges.\n\nI also see a common desire for enabling more user-owned use of and creating for the web, independent of big corporate ownership (or control), and without any reliance or need for surveillance capitalism.\n\n#Fediverse #IndieWeb #Mastodon #OpenWeb #SpreadMastodon projects do not depend on tracking & profiling users for targeted advertising.\n\nA better web is possible.\n\n\u00b9 https://indieweb.org/principles",
"html": "<a href=\"https://mastodon.social/@spreadmastodon\">@spreadmastodon@mastodon.social</a> it is one of the more amazing examples of emergent distributed alignment that I have seen. There is so much overlap across efforts, principles<a href=\"http://tantek.com/#t5QW4_note-1\">\u00b9</a>, and goals that it makes sense that we are finding ways of making things seamlessly work together at the edges.<br /><br />I also see a common desire for enabling more user-owned use of and creating for the web, independent of big corporate ownership (or control), and without any reliance or need for surveillance capitalism.<br /><br />#<span class=\"p-category\">Fediverse</span> #<span class=\"p-category\">IndieWeb</span> #<span class=\"p-category\">Mastodon</span> #<span class=\"p-category\">OpenWeb</span> #<span class=\"p-category\">SpreadMastodon</span> projects do not depend on tracking & profiling users for targeted advertising.<br /><br />A better web is possible.<br /><br /><a href=\"http://tantek.com/#t5QW4_ref-1\">\u00b9</a> <a href=\"https://indieweb.org/principles\">https://indieweb.org/principles</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "http://tantek.com/",
"photo": "https://aperture-media.p3k.io/tantek.com/acfddd7d8b2c8cf8aa163651432cc1ec7eb8ec2f881942dca963d305eeaaa6b8.jpg"
},
"post-type": "reply",
"refs": {
"https://mastodon.social/@spreadmastodon/110249767459591081": {
"type": "entry",
"url": "https://mastodon.social/@spreadmastodon/110249767459591081",
"name": "mastodon.social user spreadmastodon\u2019s post",
"post-type": "article"
}
},
"_id": "36746935",
"_source": "1",
"_is_read": false
}
@maegul@hachyderm.io @torb@octodon.social #BlueSky is a fascinating experiment to watch, and if there’s one thing we’ve learned from all the work on decentralized/federated social web systems over the past 13+ years (certainly since the first Federated Social Web Summit¹), there’s LOTS of room for and benefits to many folks working on solving many hard problems in parallel, even if with totally different approaches, which can learn from each other.
We learned this lesson in the #W3C Social Web Working Group².
Also a key reason the #IndieWeb community adopted a core principle of Plurality³.
I have a lot of sympathy for "so many non-techies bounce off Mastodon because it’s just too technically difficult for them", it’s one of the reasons I send most folks directly to https://micro.blog/ — it supports following / #federating with #Mastodon, and it supports core IndieWeb W3C standards like Webmention and Micropub.
Regarding what portability requires, I for one disagree that account or post portability needs "signed data repositories and DIDs". I believe that cooperative server-to-server portability can be achieved without it, and frankly, if you‘re wanting to design for uncooperative servers, what expectation can you have that they’ll support any standards or interop whatsoever?
Beyond Mastodon-to-Mastodon account migration, we already have Mastodon-to-BridgyFed (IndieWeb) and Mastodon - to - Micro.blog, and I expect we’ll see that grow to include all directions of all combinations thereof.
I am also optimistic that the “fediverse” will continue evolving various solutions that put users first in different ways, because there are users with different needs.
There’s certainly a current #fediverse hierarchy that puts a lot of power (and burden of responsibility) in the hands of ”server/instance” admins — “feudalverse” was a running joke for a while, reflecting a #federation of instance admin feudal lords and their user serfs.
Ironically, the more that account+posts migration/portability is supported, the more incentive there will be for harmonious and respectful relationships between instance admins and users, so I only see this situation improving in the future.
Long reply summarized: I think the folks innovating at BlueSky are charting interesting waters, the Mastodon development community continues show through improvements that they prioritize users and their identity & data ownership, and the IndieWeb community continues to support & play with those and many other solutions, building bridges⁴ between⁵ them⁶ to interconnect all the things.
Glossary
BridgyFed
https://fed.brid.gy/
Micropub
https://indieweb.org/Micropub
Webmention
https://indieweb.org/Webmention
References
¹ https://indieweb.org/Federated_Social_Web_Summit#Portland_2010
² https://tantek.com/2023/051/t1/five-years-ago-w3c-social-web
³ https://indieweb.org/plurality
⁴ https://brid.gy/
⁵ https://fed.brid.gy/
⁶ https://github.com/snarfed/bridgy-fed/issues/381
{
"type": "entry",
"published": "2023-04-23 16:43-0700",
"url": "http://tantek.com/2023/113/t3/",
"category": [
"BlueSky",
"W3C",
"IndieWeb",
"federating",
"Mastodon",
"fediverse",
"federation"
],
"in-reply-to": [
"https://hachyderm.io/@maegul/110247571428373383"
],
"content": {
"text": "@maegul@hachyderm.io @torb@octodon.social #BlueSky is a fascinating experiment to watch, and if there\u2019s one thing we\u2019ve learned from all the work on decentralized/federated social web systems over the past 13+ years (certainly since the first Federated Social Web Summit\u00b9), there\u2019s LOTS of room for and benefits to many folks working on solving many hard problems in parallel, even if with totally different approaches, which can learn from each other.\n\nWe learned this lesson in the #W3C Social Web Working Group\u00b2.\n\nAlso a key reason the #IndieWeb community adopted a core principle of Plurality\u00b3.\n\nI have a lot of sympathy for \"so many non-techies bounce off Mastodon because it\u2019s just too technically difficult for them\", it\u2019s one of the reasons I send most folks directly to https://micro.blog/ \u2014 it supports following / #federating with #Mastodon, and it supports core IndieWeb W3C standards like Webmention and Micropub.\n\nRegarding what portability requires, I for one disagree that account or post portability needs \"signed data repositories and DIDs\". I believe that cooperative server-to-server portability can be achieved without it, and frankly, if you\u2018re wanting to design for uncooperative servers, what expectation can you have that they\u2019ll support any standards or interop whatsoever?\n\nBeyond Mastodon-to-Mastodon account migration, we already have Mastodon-to-BridgyFed (IndieWeb) and Mastodon - to - Micro.blog, and I expect we\u2019ll see that grow to include all directions of all combinations thereof.\n\nI am also optimistic that the \u201cfediverse\u201d will continue evolving various solutions that put users first in different ways, because there are users with different needs. \n\nThere\u2019s certainly a current #fediverse hierarchy that puts a lot of power (and burden of responsibility) in the hands of \u201dserver/instance\u201d admins \u2014 \u201cfeudalverse\u201d was a running joke for a while, reflecting a #federation of instance admin feudal lords and their user serfs. \n\nIronically, the more that account+posts migration/portability is supported, the more incentive there will be for harmonious and respectful relationships between instance admins and users, so I only see this situation improving in the future.\n\nLong reply summarized: I think the folks innovating at BlueSky are charting interesting waters, the Mastodon development community continues show through improvements that they prioritize users and their identity & data ownership, and the IndieWeb community continues to support & play with those and many other solutions, building bridges\u2074 between\u2075 them\u2076 to interconnect all the things.\n\nGlossary\n\nBridgyFed\n\u00a0https://fed.brid.gy/\nMicropub\n\u00a0https://indieweb.org/Micropub\nWebmention\n\u00a0https://indieweb.org/Webmention\n\nReferences\n\n\u00b9 https://indieweb.org/Federated_Social_Web_Summit#Portland_2010\n\u00b2 https://tantek.com/2023/051/t1/five-years-ago-w3c-social-web\n\u00b3 https://indieweb.org/plurality\n\u2074 https://brid.gy/\n\u2075 https://fed.brid.gy/\n\u2076 https://github.com/snarfed/bridgy-fed/issues/381",
"html": "<a href=\"https://hachyderm.io/@maegul\">@maegul@hachyderm.io</a> <a href=\"https://octodon.social/@torb\">@torb@octodon.social</a> #<span class=\"p-category\">BlueSky</span> is a fascinating experiment to watch, and if there\u2019s one thing we\u2019ve learned from all the work on decentralized/federated social web systems over the past 13+ years (certainly since the first Federated Social Web Summit<a href=\"http://tantek.com/#t5QW3_note-1\">\u00b9</a>), there\u2019s LOTS of room for and benefits to many folks working on solving many hard problems in parallel, even if with totally different approaches, which can learn from each other.<br /><br />We learned this lesson in the #<span class=\"p-category\">W3C</span> Social Web Working Group<a href=\"http://tantek.com/#t5QW3_note-2\">\u00b2</a>.<br /><br />Also a key reason the #<span class=\"p-category\">IndieWeb</span> community adopted a core principle of Plurality<a href=\"http://tantek.com/#t5QW3_note-3\">\u00b3</a>.<br /><br />I have a lot of sympathy for \"so many non-techies bounce off Mastodon because it\u2019s just too technically difficult for them\", it\u2019s one of the reasons I send most folks directly to <a href=\"https://micro.blog/\">https://micro.blog/</a> \u2014 it supports following / #<span class=\"p-category\">federating</span> with #<span class=\"p-category\">Mastodon</span>, and it supports core IndieWeb W3C standards like Webmention and Micropub.<br /><br />Regarding what portability requires, I for one disagree that account or post portability needs \"signed data repositories and DIDs\". I believe that cooperative server-to-server portability can be achieved without it, and frankly, if you\u2018re wanting to design for uncooperative servers, what expectation can you have that they\u2019ll support any standards or interop whatsoever?<br /><br />Beyond Mastodon-to-Mastodon account migration, we already have Mastodon-to-BridgyFed (IndieWeb) and Mastodon - to - <a href=\"http://Micro.blog\">Micro.blog</a>, and I expect we\u2019ll see that grow to include all directions of all combinations thereof.<br /><br />I am also optimistic that the \u201cfediverse\u201d will continue evolving various solutions that put users first in different ways, because there are users with different needs. <br /><br />There\u2019s certainly a current #<span class=\"p-category\">fediverse</span> hierarchy that puts a lot of power (and burden of responsibility) in the hands of \u201dserver/instance\u201d admins \u2014 \u201cfeudalverse\u201d was a running joke for a while, reflecting a #<span class=\"p-category\">federation</span> of instance admin feudal lords and their user serfs. <br /><br />Ironically, the more that account+posts migration/portability is supported, the more incentive there will be for harmonious and respectful relationships between instance admins and users, so I only see this situation improving in the future.<br /><br />Long reply summarized: I think the folks innovating at BlueSky are charting interesting waters, the Mastodon development community continues show through improvements that they prioritize users and their identity & data ownership, and the IndieWeb community continues to support & play with those and many other solutions, building bridges<a href=\"http://tantek.com/#t5QW3_note-4\">\u2074</a> between<a href=\"http://tantek.com/#t5QW3_note-5\">\u2075</a> them<a href=\"http://tantek.com/#t5QW3_note-6\">\u2076</a> to interconnect all the things.<br /><br />Glossary<br /><br />BridgyFed<br />\u00a0<a href=\"https://fed.brid.gy/\">https://fed.brid.gy/</a><br />Micropub<br />\u00a0<a href=\"https://indieweb.org/Micropub\">https://indieweb.org/Micropub</a><br />Webmention<br />\u00a0<a href=\"https://indieweb.org/Webmention\">https://indieweb.org/Webmention</a><br /><br />References<br /><br /><a href=\"http://tantek.com/#t5QW3_ref-1\">\u00b9</a> <a href=\"https://indieweb.org/Federated_Social_Web_Summit#Portland_2010\">https://indieweb.org/Federated_Social_Web_Summit#Portland_2010</a><br /><a href=\"http://tantek.com/#t5QW3_ref-2\">\u00b2</a> <a href=\"https://tantek.com/2023/051/t1/five-years-ago-w3c-social-web\">https://tantek.com/2023/051/t1/five-years-ago-w3c-social-web</a><br /><a href=\"http://tantek.com/#t5QW3_ref-3\">\u00b3</a> <a href=\"https://indieweb.org/plurality\">https://indieweb.org/plurality</a><br /><a href=\"http://tantek.com/#t5QW3_ref-4\">\u2074</a> <a href=\"https://brid.gy/\">https://brid.gy/</a><br /><a href=\"http://tantek.com/#t5QW3_ref-5\">\u2075</a> <a href=\"https://fed.brid.gy/\">https://fed.brid.gy/</a><br /><a href=\"http://tantek.com/#t5QW3_ref-6\">\u2076</a> <a href=\"https://github.com/snarfed/bridgy-fed/issues/381\">https://github.com/snarfed/bridgy-fed/issues/381</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "http://tantek.com/",
"photo": "https://aperture-media.p3k.io/tantek.com/acfddd7d8b2c8cf8aa163651432cc1ec7eb8ec2f881942dca963d305eeaaa6b8.jpg"
},
"post-type": "reply",
"refs": {
"https://hachyderm.io/@maegul/110247571428373383": {
"type": "entry",
"url": "https://hachyderm.io/@maegul/110247571428373383",
"name": "hachyderm.io user maegul\u2019s post",
"post-type": "article"
}
},
"_id": "36746936",
"_source": "1",
"_is_read": false
}
@spreadmastodon@mastodon.social it is one of the more amazing examples of emergent distributed alignment that I have seen. There is so much overlap across efforts, principles¹, and goals that it makes sense that we are finding ways of making things seamlessly work together at the edges.
I also see a common desire for enabling more user-owned use of and creating for the web, independent of big corporate ownership (or control), and without any reliance or need for surveillance capitalism.
#Fediverse #IndieWeb #Mastodon #OpenWeb #SpreadMastodon projects do not depend on tracking & profiling users for targeted advertising.
A better web is possible.
¹ https://indieweb.org/principles
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://fed.brid.gy/r/https://tantek.com/2023/113/t4/",
"content": {
"html": "<a href=\"https://mastodon.social/@spreadmastodon\">@spreadmastodon@mastodon.social</a> it is one of the more amazing examples of emergent distributed alignment that I have seen. There is so much overlap across efforts, principles\u00b9, and goals that it makes sense that we are finding ways of making things seamlessly work together at the edges.<br /><br />I also see a common desire for enabling more user-owned use of and creating for the web, independent of big corporate ownership (or control), and without any reliance or need for surveillance capitalism.<br /><br /><a href=\"https://indieweb.social/tags/Fediverse\">#<span class=\"p-category\">Fediverse</span></a> <a href=\"https://indieweb.social/tags/IndieWeb\">#<span class=\"p-category\">IndieWeb</span></a> <a href=\"https://indieweb.social/tags/Mastodon\">#<span class=\"p-category\">Mastodon</span></a> <a href=\"https://indieweb.social/tags/OpenWeb\">#<span class=\"p-category\">OpenWeb</span></a> <a href=\"https://indieweb.social/tags/SpreadMastodon\">#<span class=\"p-category\">SpreadMastodon</span></a> projects do not depend on tracking & profiling users for targeted advertising.<br /><br />A better web is possible.<br /><br />\u00b9 <a href=\"https://indieweb.org/principles\">https://indieweb.org/principles</a>",
"text": "@spreadmastodon@mastodon.social it is one of the more amazing examples of emergent distributed alignment that I have seen. There is so much overlap across efforts, principles\u00b9, and goals that it makes sense that we are finding ways of making things seamlessly work together at the edges.\n\nI also see a common desire for enabling more user-owned use of and creating for the web, independent of big corporate ownership (or control), and without any reliance or need for surveillance capitalism.\n\n#Fediverse #IndieWeb #Mastodon #OpenWeb #SpreadMastodon projects do not depend on tracking & profiling users for targeted advertising.\n\nA better web is possible.\n\n\u00b9 https://indieweb.org/principles"
},
"published": "2023-04-24T00:00:00+00:00",
"post-type": "note",
"_id": "36745490",
"_source": "7235",
"_is_read": false
}
@maegul@hachyderm.io @torb@octodon.social #BlueSky is a fascinating experiment to watch, and if there’s one thing we’ve learned from all the work on decentralized/federated social web systems over the past 13+ years (certainly since the first Federated Social Web Summit¹), there’s LOTS of room for and benefits to many folks working on solving many hard problems in parallel, even if with totally different approaches, which can learn from each other.
We learned this lesson in the #W3C Social Web Working Group².
Also a key reason the #IndieWeb community adopted a core principle of Plurality³.
I have a lot of sympathy for "so many non-techies bounce off Mastodon because it’s just too technically difficult for them", it’s one of the reasons I send most folks directly to https://micro.blog/ — it supports following / #federating with #Mastodon, and it supports core IndieWeb W3C standards like Webmention and Micropub.
Regarding what portability requires, I for one disagree that account or post portability needs "signed data repositories and DIDs". I believe that cooperative server-to-server portability can be achieved without it, and frankly, if you‘re wanting to design for uncooperative servers, what expectation can you have that they’ll support any standards or interop whatsoever?
Beyond Mastodon-to-Mastodon account migration, we already have Mastodon-to-BridgyFed (IndieWeb) and Mastodon - to - Micro.blog, and I expect we’ll see that grow to include all directions of all combinations thereof.
I am also optimistic that the “fediverse” will continue evolving various solutions that put users first in different ways, because there are users with different needs.
There’s certainly a current #fediverse hierarchy that puts a lot of power (and burden of responsibility) in the hands of ”server/instance” admins — “feudalverse” was a running joke for a while, reflecting a #federation of instance admin feudal lords and their user serfs.
Ironically, the more that account+posts migration/portability is supported, the more incentive there will be for harmonious and respectful relationships between instance admins and users, so I only see this situation improving in the future.
Long reply summarized: I think the folks innovating at BlueSky are charting interesting waters, the Mastodon development community continues show through improvements that they prioritize users and their identity & data ownership, and the IndieWeb community continues to support & play with those and many other solutions, building bridges⁴ between⁵ them⁶ to interconnect all the things.
Glossary
BridgyFed
https://fed.brid.gy/
Micropub
https://indieweb.org/Micropub
Webmention
https://indieweb.org/Webmention
References
¹ https://indieweb.org/Federated_Social_Web_Summit#Portland_2010
² https://tantek.com/2023/051/t1/five-years-ago-w3c-social-web
³ https://indieweb.org/plurality
⁴ https://brid.gy/
⁵ https://fed.brid.gy/
⁶ https://github.com/snarfed/bridgy-fed/issues/381
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://fed.brid.gy/r/https://tantek.com/2023/113/t3/",
"content": {
"html": "<a href=\"https://hachyderm.io/@maegul\">@maegul@hachyderm.io</a> <a href=\"https://octodon.social/@torb\">@torb@octodon.social</a> <a href=\"https://indieweb.social/tags/BlueSky\">#<span class=\"p-category\">BlueSky</span></a> is a fascinating experiment to watch, and if there\u2019s one thing we\u2019ve learned from all the work on decentralized/federated social web systems over the past 13+ years (certainly since the first Federated Social Web Summit\u00b9), there\u2019s LOTS of room for and benefits to many folks working on solving many hard problems in parallel, even if with totally different approaches, which can learn from each other.<br /><br />We learned this lesson in the <a href=\"https://indieweb.social/tags/W3C\">#<span class=\"p-category\">W3C</span></a> Social Web Working Group\u00b2.<br /><br />Also a key reason the <a href=\"https://indieweb.social/tags/IndieWeb\">#<span class=\"p-category\">IndieWeb</span></a> community adopted a core principle of Plurality\u00b3.<br /><br />I have a lot of sympathy for \"so many non-techies bounce off Mastodon because it\u2019s just too technically difficult for them\", it\u2019s one of the reasons I send most folks directly to <a href=\"https://micro.blog/\">https://micro.blog/</a> \u2014 it supports following / <a href=\"https://indieweb.social/tags/federating\">#<span class=\"p-category\">federating</span></a> with <a href=\"https://indieweb.social/tags/Mastodon\">#<span class=\"p-category\">Mastodon</span></a>, and it supports core IndieWeb W3C standards like Webmention and Micropub.<br /><br />Regarding what portability requires, I for one disagree that account or post portability needs \"signed data repositories and DIDs\". I believe that cooperative server-to-server portability can be achieved without it, and frankly, if you\u2018re wanting to design for uncooperative servers, what expectation can you have that they\u2019ll support any standards or interop whatsoever?<br /><br />Beyond Mastodon-to-Mastodon account migration, we already have Mastodon-to-BridgyFed (IndieWeb) and Mastodon - to - <a href=\"http://Micro.blog\">Micro.blog</a>, and I expect we\u2019ll see that grow to include all directions of all combinations thereof.<br /><br />I am also optimistic that the \u201cfediverse\u201d will continue evolving various solutions that put users first in different ways, because there are users with different needs. <br /><br />There\u2019s certainly a current <a href=\"https://indieweb.social/tags/fediverse\">#<span class=\"p-category\">fediverse</span></a> hierarchy that puts a lot of power (and burden of responsibility) in the hands of \u201dserver/instance\u201d admins \u2014 \u201cfeudalverse\u201d was a running joke for a while, reflecting a <a href=\"https://indieweb.social/tags/federation\">#<span class=\"p-category\">federation</span></a> of instance admin feudal lords and their user serfs. <br /><br />Ironically, the more that account+posts migration/portability is supported, the more incentive there will be for harmonious and respectful relationships between instance admins and users, so I only see this situation improving in the future.<br /><br />Long reply summarized: I think the folks innovating at BlueSky are charting interesting waters, the Mastodon development community continues show through improvements that they prioritize users and their identity & data ownership, and the IndieWeb community continues to support & play with those and many other solutions, building bridges\u2074 between\u2075 them\u2076 to interconnect all the things.<br /><br />Glossary<br /><br />BridgyFed<br />\u00a0<a href=\"https://fed.brid.gy/\">https://fed.brid.gy/</a><br />Micropub<br />\u00a0<a href=\"https://indieweb.org/Micropub\">https://indieweb.org/Micropub</a><br />Webmention<br />\u00a0<a href=\"https://indieweb.org/Webmention\">https://indieweb.org/Webmention</a><br /><br />References<br /><br />\u00b9 <a href=\"https://indieweb.org/Federated_Social_Web_Summit#Portland_2010\">https://indieweb.org/Federated_Social_Web_Summit#Portland_2010</a><br />\u00b2 <a href=\"https://tantek.com/2023/051/t1/five-years-ago-w3c-social-web\">https://tantek.com/2023/051/t1/five-years-ago-w3c-social-web</a><br />\u00b3 <a href=\"https://indieweb.org/plurality\">https://indieweb.org/plurality</a><br />\u2074 <a href=\"https://brid.gy/\">https://brid.gy/</a><br />\u2075 <a href=\"https://fed.brid.gy/\">https://fed.brid.gy/</a><br />\u2076 <a href=\"https://github.com/snarfed/bridgy-fed/issues/381\">https://github.com/snarfed/bridgy-fed/issues/381</a>",
"text": "@maegul@hachyderm.io @torb@octodon.social #BlueSky is a fascinating experiment to watch, and if there\u2019s one thing we\u2019ve learned from all the work on decentralized/federated social web systems over the past 13+ years (certainly since the first Federated Social Web Summit\u00b9), there\u2019s LOTS of room for and benefits to many folks working on solving many hard problems in parallel, even if with totally different approaches, which can learn from each other.\n\nWe learned this lesson in the #W3C Social Web Working Group\u00b2.\n\nAlso a key reason the #IndieWeb community adopted a core principle of Plurality\u00b3.\n\nI have a lot of sympathy for \"so many non-techies bounce off Mastodon because it\u2019s just too technically difficult for them\", it\u2019s one of the reasons I send most folks directly to https://micro.blog/ \u2014 it supports following / #federating with #Mastodon, and it supports core IndieWeb W3C standards like Webmention and Micropub.\n\nRegarding what portability requires, I for one disagree that account or post portability needs \"signed data repositories and DIDs\". I believe that cooperative server-to-server portability can be achieved without it, and frankly, if you\u2018re wanting to design for uncooperative servers, what expectation can you have that they\u2019ll support any standards or interop whatsoever?\n\nBeyond Mastodon-to-Mastodon account migration, we already have Mastodon-to-BridgyFed (IndieWeb) and Mastodon - to - Micro.blog, and I expect we\u2019ll see that grow to include all directions of all combinations thereof.\n\nI am also optimistic that the \u201cfediverse\u201d will continue evolving various solutions that put users first in different ways, because there are users with different needs. \n\nThere\u2019s certainly a current #fediverse hierarchy that puts a lot of power (and burden of responsibility) in the hands of \u201dserver/instance\u201d admins \u2014 \u201cfeudalverse\u201d was a running joke for a while, reflecting a #federation of instance admin feudal lords and their user serfs. \n\nIronically, the more that account+posts migration/portability is supported, the more incentive there will be for harmonious and respectful relationships between instance admins and users, so I only see this situation improving in the future.\n\nLong reply summarized: I think the folks innovating at BlueSky are charting interesting waters, the Mastodon development community continues show through improvements that they prioritize users and their identity & data ownership, and the IndieWeb community continues to support & play with those and many other solutions, building bridges\u2074 between\u2075 them\u2076 to interconnect all the things.\n\nGlossary\n\nBridgyFed\n\u00a0https://fed.brid.gy/\nMicropub\n\u00a0https://indieweb.org/Micropub\nWebmention\n\u00a0https://indieweb.org/Webmention\n\nReferences\n\n\u00b9 https://indieweb.org/Federated_Social_Web_Summit#Portland_2010\n\u00b2 https://tantek.com/2023/051/t1/five-years-ago-w3c-social-web\n\u00b3 https://indieweb.org/plurality\n\u2074 https://brid.gy/\n\u2075 https://fed.brid.gy/\n\u2076 https://github.com/snarfed/bridgy-fed/issues/381"
},
"published": "2023-04-23T23:43:00+00:00",
"post-type": "note",
"_id": "36745231",
"_source": "7235",
"_is_read": false
}
@tantek.com The #Indieweb, #Openweb and #SpreadMastodon and the #Fediverse efforts are all very clearly cousins in one big movement!
{
"type": "entry",
"author": {
"name": "@spreadmastodon",
"url": "https://mastodon.social/@spreadmastodon",
"photo": null
},
"url": "https://mastodon.social/@spreadmastodon/110249767459591081",
"content": {
"html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://fed.brid.gy/r/https://tantek.com/\">@<span>tantek.com</span></a></span> The <a href=\"https://mastodon.social/tags/Indieweb\">#<span>Indieweb</span></a>, <a href=\"https://mastodon.social/tags/Openweb\">#<span>Openweb</span></a> and <a href=\"https://mastodon.social/tags/SpreadMastodon\">#<span>SpreadMastodon</span></a> and the <a href=\"https://mastodon.social/tags/Fediverse\">#<span>Fediverse</span></a> efforts are all very clearly cousins in one big movement!</p>",
"text": "@tantek.com The #Indieweb, #Openweb and #SpreadMastodon and the #Fediverse efforts are all very clearly cousins in one big movement!"
},
"published": "2023-04-23T19:25:45+00:00",
"post-type": "note",
"_id": "36741431",
"_source": "7235",
"_is_read": false
}
So, I use Netlify’s webmention integration to send webmentions. It took ages to get just right, but it looks like it pings WordPress websites’ xmlrpc.php rather than a webmention endpoint. Makes sense, as xmlrpc.php will always exist, except there’s less chance your webmention will actually appear 🤷♂️
🏷 #indieweb,netlify,webmention
https://www.thisdaysportion.com/notes/more-webmention-woes
{
"type": "entry",
"author": {
"name": "@leonp",
"url": "https://fosstodon.org/@leonp",
"photo": null
},
"url": "https://fosstodon.org/@leonp/110247479458832594",
"content": {
"html": "<p>So, I use Netlify\u2019s webmention integration to send webmentions. It took ages to get just right, but it looks like it pings WordPress websites\u2019 xmlrpc.php rather than a webmention endpoint. Makes sense, as xmlrpc.php will always exist, except there\u2019s less chance your webmention will actually appear \ud83e\udd37\u200d\u2642\ufe0f</p><p> <br /><br /> \ud83c\udff7 <a href=\"https://fosstodon.org/tags/indieweb\">#<span>indieweb</span></a>,netlify,webmention<br /><a href=\"https://www.thisdaysportion.com/notes/more-webmention-woes\"><span>https://www.</span><span>thisdaysportion.com/notes/more</span><span>-webmention-woes</span></a></p>",
"text": "So, I use Netlify\u2019s webmention integration to send webmentions. It took ages to get just right, but it looks like it pings WordPress websites\u2019 xmlrpc.php rather than a webmention endpoint. Makes sense, as xmlrpc.php will always exist, except there\u2019s less chance your webmention will actually appear \ud83e\udd37\u200d\u2642\ufe0f \n\n \ud83c\udff7 #indieweb,netlify,webmention\nhttps://www.thisdaysportion.com/notes/more-webmention-woes"
},
"published": "2023-04-23T09:43:53+00:00",
"post-type": "note",
"_id": "36733215",
"_source": "7235",
"_is_read": false
}
One of the pretty neat innovations from #Mastodon has been actual, functional, and fairly reliable (from all accounts I’ve seen) distributed system account migration, with the notable exception of post migration, which has additional challenges worth exploring.
To be clear, as far as I know, no other blogging (or chat) software, system, or even protocol comes close to achieving the level of functionality described in Mastodon’s documentation:
https://docs.joinmastodon.org/user/moving/#migration
In short, moving:
* all your profile information
* moving all your followers & followings, transparently
* redirecting your old account to your new one
More at that link. From the docs, it’s clear that quite a bit of thought & consideration went into the design & implementation.
Once I had setup #BridgyFed to #federate posts from my own site¹, I myself made use of the this Mastodon feature to migrate from my try-it-out @t@xoxo.zone account to my #IndieWeb @tantek.com (move destination handled by BridgyFed).
For me the migration experience was 100%, because I had not posted anything @t@xoxo.zone.
The challenge of post migration is not unique to Mastodon, though I believe it goes beyond “simple” export & import support, which is still a good place to start.
Mastodon has two forms of posts “export” currently:
* RSS feeds, which will get you some number of recent posts, by adding ".rss" to the end of any Mastodon profile URL, e.g. https://indieweb.social/@tchambers.rss
* Activity Streams 2.0 JSON, per https://docs.joinmastodon.org/user/moving/#export (note: it currently says “ActivityPub JSON format”, but there is no such thing, #ActivityPub uses the #ActivityStreams 2.0 JSON format and I’ve filed a PR² to fix this in the docs)
Lots of software & services import RSS, e.g. #WordPress.
As far as I know, nothing (not even Mastodon itself) actually supports importing Activity Streams 2.0.
There is a more complete format (with specification!) for exporting & importing blog content:
Blog Archive Format (.bar), first specified here with example file:
* https://www.manton.org/2017/11/24/blog-archive-format.html
More details and another example file:
* https://www.manton.org/2021/12/27/importing-blog-archive.html
Blog Archive Format has the very nice features of:
* portable HTML feed (h-feed) and JSON Feed
* photos and other media
* locally browsable post archive
Naturally, https://micro.blog/ supports both exporting & importing Blog Archive Format.
There’s an interesting opportunity here for an open source converter
* from Activity Streams 2.0
* to Blog Archive Format
Such a library would make an excellent drop-in addition to any #ActivityPub implementation, allowing both export of posts, and also a browsable archive format, so you could visually double check when importing to another service that these were the old posts you were looking for.
This would be a good first step, using an open standard, towards Mastodon itself supporting post migration³.
Ideally, similar to account migration, the old posts server should also at least:
* redirect old permalinks to the new permalinks
* redirect any replies being delivered by ActivityPub to the new location
* provide #Webmention discovery forwarding from the old URLs to the new URLs (e.g. using HTTP LINK headers)
for some amount of time.
Want to add support for Blog Archive Format or got questions or feedback?
Join in the development conversations: https://chat.indieweb.org/dev
This is day 39 of #100DaysOfIndieWeb. #100Days
← Day 38: https://tantek.com/2023/110/t2/beyond-mastodon-indieweb-own-domain
→ 🔮
Glossary
account migration
https://indieweb.org/account_migration
blog archive format
https://indieweb.org/blog_archive_format
h-feed
https://microformats.org/wiki/h-feed
JSON Feed
https://www.jsonfeed.org/
post migration
https://indieweb.org/post_migration
Webmention
https://indieweb.org/Webmention
References
¹ https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb
² https://github.com/mastodon/documentation/pull/1202
³ https://github.com/mastodon/mastodon/issues/12423
{
"type": "entry",
"published": "2023-04-22 17:40-0700",
"url": "http://tantek.com/2023/112/t2/account-migration-post-blog-archive-format",
"category": [
"Mastodon",
"BridgyFed",
"federate",
"IndieWeb",
"ActivityPub",
"ActivityStreams",
"WordPress",
"Webmention",
"100DaysOfIndieWeb",
"100Days"
],
"content": {
"text": "One of the pretty neat innovations from #Mastodon has been actual, functional, and fairly reliable (from all accounts I\u2019ve seen) distributed system account migration, with the notable exception of post migration, which has additional challenges worth exploring.\n\nTo be clear, as far as I know, no other blogging (or chat) software, system, or even protocol comes close to achieving the level of functionality described in Mastodon\u2019s documentation:\n\nhttps://docs.joinmastodon.org/user/moving/#migration\n\nIn short, moving:\n* all your profile information\n* moving all your followers & followings, transparently \n* redirecting your old account to your new one\n\nMore at that link. From the docs, it\u2019s clear that quite a bit of thought & consideration went into the design & implementation.\n\nOnce I had setup #BridgyFed to #federate posts from my own site\u00b9, I myself made use of the this Mastodon feature to migrate from my try-it-out @t@xoxo.zone account to my #IndieWeb @tantek.com (move destination handled by BridgyFed).\n\nFor me the migration experience was 100%, because I had not posted anything @t@xoxo.zone.\n\nThe challenge of post migration is not unique to Mastodon, though I believe it goes beyond \u201csimple\u201d export & import support, which is still a good place to start.\n\nMastodon has two forms of posts \u201cexport\u201d currently:\n* RSS feeds, which will get you some number of recent posts, by adding \".rss\" to the end of any Mastodon profile URL, e.g. https://indieweb.social/@tchambers.rss\n* Activity Streams 2.0 JSON, per https://docs.joinmastodon.org/user/moving/#export (note: it currently says \u201cActivityPub JSON format\u201d, but there is no such thing, #ActivityPub uses the #ActivityStreams 2.0 JSON format and I\u2019ve filed a PR\u00b2 to fix this in the docs)\n\nLots of software & services import RSS, e.g. #WordPress.\n\nAs far as I know, nothing (not even Mastodon itself) actually supports importing Activity Streams 2.0.\n\nThere is a more complete format (with specification!) for exporting & importing blog content:\n\nBlog Archive Format (.bar), first specified here with example file:\n* https://www.manton.org/2017/11/24/blog-archive-format.html\nMore details and another example file:\n* https://www.manton.org/2021/12/27/importing-blog-archive.html\n\nBlog Archive Format has the very nice features of:\n* portable HTML feed (h-feed) and JSON Feed\n* photos and other media\n* locally browsable post archive\n\nNaturally, https://micro.blog/ supports both exporting & importing Blog Archive Format.\n\nThere\u2019s an interesting opportunity here for an open source converter \n* from Activity Streams 2.0 \n* to Blog Archive Format\n\nSuch a library would make an excellent drop-in addition to any #ActivityPub implementation, allowing both export of posts, and also a browsable archive format, so you could visually double check when importing to another service that these were the old posts you were looking for.\n\nThis would be a good first step, using an open standard, towards Mastodon itself supporting post migration\u00b3.\n\nIdeally, similar to account migration, the old posts server should also at least:\n* redirect old permalinks to the new permalinks\n* redirect any replies being delivered by ActivityPub to the new location\n* provide #Webmention discovery forwarding from the old URLs to the new URLs (e.g. using HTTP LINK headers)\nfor some amount of time.\n\nWant to add support for Blog Archive Format or got questions or feedback?\n\nJoin in the development conversations: https://chat.indieweb.org/dev\n\n\nThis is day 39 of #100DaysOfIndieWeb. #100Days\n\n\u2190 Day 38: https://tantek.com/2023/110/t2/beyond-mastodon-indieweb-own-domain\n\u2192 \ud83d\udd2e\n\n\nGlossary\n\naccount migration\n\u00a0https://indieweb.org/account_migration\nblog archive format\n\u00a0https://indieweb.org/blog_archive_format\nh-feed\n\u00a0https://microformats.org/wiki/h-feed\nJSON Feed\n\u00a0https://www.jsonfeed.org/\npost migration\n\u00a0https://indieweb.org/post_migration\nWebmention\n\u00a0https://indieweb.org/Webmention\n\nReferences\n\n\u00b9 https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb\n\u00b2 https://github.com/mastodon/documentation/pull/1202\n\u00b3 https://github.com/mastodon/mastodon/issues/12423",
"html": "One of the pretty neat innovations from #<span class=\"p-category\">Mastodon</span> has been actual, functional, and fairly reliable (from all accounts I\u2019ve seen) distributed system account migration, with the notable exception of post migration, which has additional challenges worth exploring.<br /><br />To be clear, as far as I know, no other blogging (or chat) software, system, or even protocol comes close to achieving the level of functionality described in Mastodon\u2019s documentation:<br /><br /><a href=\"https://docs.joinmastodon.org/user/moving/#migration\">https://docs.joinmastodon.org/user/moving/#migration</a><br /><br />In short, moving:<br />* all your profile information<br />* moving all your followers & followings, transparently <br />* redirecting your old account to your new one<br /><br />More at that link. From the docs, it\u2019s clear that quite a bit of thought & consideration went into the design & implementation.<br /><br />Once I had setup #<span class=\"p-category\">BridgyFed</span> to #<span class=\"p-category\">federate</span> posts from my own site<a href=\"http://tantek.com/#t5QV2_note-1\">\u00b9</a>, I myself made use of the this Mastodon feature to migrate from my try-it-out <a href=\"https://xoxo.zone/@t\">@t@xoxo.zone</a> account to my #<span class=\"p-category\">IndieWeb</span> <a href=\"https://tantek.com\">@tantek.com</a> (move destination handled by BridgyFed).<br /><br />For me the migration experience was 100%, because I had not posted anything <a href=\"https://xoxo.zone/@t\">@t@xoxo.zone</a>.<br /><br />The challenge of post migration is not unique to Mastodon, though I believe it goes beyond \u201csimple\u201d export & import support, which is still a good place to start.<br /><br />Mastodon has two forms of posts \u201cexport\u201d currently:<br />* RSS feeds, which will get you some number of recent posts, by adding \".rss\" to the end of any Mastodon profile URL, e.g. <a href=\"https://indieweb.social/@tchambers.rss\">https://indieweb.social/@tchambers.rss</a><br />* Activity Streams 2.0 JSON, per <a href=\"https://docs.joinmastodon.org/user/moving/#export\">https://docs.joinmastodon.org/user/moving/#export</a> (note: it currently says \u201cActivityPub JSON format\u201d, but there is no such thing, #<span class=\"p-category\">ActivityPub</span> uses the #<span class=\"p-category\">ActivityStreams</span> 2.0 JSON format and I\u2019ve filed a PR<a href=\"http://tantek.com/#t5QV2_note-2\">\u00b2</a> to fix this in the docs)<br /><br />Lots of software & services import RSS, e.g. #<span class=\"p-category\">WordPress</span>.<br /><br />As far as I know, nothing (not even Mastodon itself) actually supports importing Activity Streams 2.0.<br /><br />There is a more complete format (with specification!) for exporting & importing blog content:<br /><br />Blog Archive Format (.bar), first specified here with example file:<br />* <a href=\"https://www.manton.org/2017/11/24/blog-archive-format.html\">https://www.manton.org/2017/11/24/blog-archive-format.html</a><br />More details and another example file:<br />* <a href=\"https://www.manton.org/2021/12/27/importing-blog-archive.html\">https://www.manton.org/2021/12/27/importing-blog-archive.html</a><br /><br />Blog Archive Format has the very nice features of:<br />* portable HTML feed (h-feed) and JSON Feed<br />* photos and other media<br />* locally browsable post archive<br /><br />Naturally, <a href=\"https://micro.blog/\">https://micro.blog/</a> supports both exporting & importing Blog Archive Format.<br /><br />There\u2019s an interesting opportunity here for an open source converter <br />* from Activity Streams 2.0 <br />* to Blog Archive Format<br /><br />Such a library would make an excellent drop-in addition to any #<span class=\"p-category\">ActivityPub</span> implementation, allowing both export of posts, and also a browsable archive format, so you could visually double check when importing to another service that these were the old posts you were looking for.<br /><br />This would be a good first step, using an open standard, towards Mastodon itself supporting post migration<a href=\"http://tantek.com/#t5QV2_note-3\">\u00b3</a>.<br /><br />Ideally, similar to account migration, the old posts server should also at least:<br />* redirect old permalinks to the new permalinks<br />* redirect any replies being delivered by ActivityPub to the new location<br />* provide #<span class=\"p-category\">Webmention</span> discovery forwarding from the old URLs to the new URLs (e.g. using HTTP LINK headers)<br />for some amount of time.<br /><br />Want to add support for Blog Archive Format or got questions or feedback?<br /><br />Join in the development conversations: <a href=\"https://chat.indieweb.org/dev\">https://chat.indieweb.org/dev</a><br /><br /><br />This is day 39 of #<span class=\"p-category\">100DaysOfIndieWeb</span>. #<span class=\"p-category\">100Days</span><br /><br />\u2190 Day 38: <a href=\"https://tantek.com/2023/110/t2/beyond-mastodon-indieweb-own-domain\">https://tantek.com/2023/110/t2/beyond-mastodon-indieweb-own-domain</a><br />\u2192 \ud83d\udd2e<br /><br /><br />Glossary<br /><br />account migration<br />\u00a0<a href=\"https://indieweb.org/account_migration\">https://indieweb.org/account_migration</a><br />blog archive format<br />\u00a0<a href=\"https://indieweb.org/blog_archive_format\">https://indieweb.org/blog_archive_format</a><br />h-feed<br />\u00a0<a href=\"https://microformats.org/wiki/h-feed\">https://microformats.org/wiki/h-feed</a><br />JSON Feed<br />\u00a0<a href=\"https://www.jsonfeed.org/\">https://www.jsonfeed.org/</a><br />post migration<br />\u00a0<a href=\"https://indieweb.org/post_migration\">https://indieweb.org/post_migration</a><br />Webmention<br />\u00a0<a href=\"https://indieweb.org/Webmention\">https://indieweb.org/Webmention</a><br /><br />References<br /><br /><a href=\"http://tantek.com/#t5QV2_ref-1\">\u00b9</a> <a href=\"https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb\">https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb</a><br /><a href=\"http://tantek.com/#t5QV2_ref-2\">\u00b2</a> <a href=\"https://github.com/mastodon/documentation/pull/1202\">https://github.com/mastodon/documentation/pull/1202</a><br /><a href=\"http://tantek.com/#t5QV2_ref-3\">\u00b3</a> <a href=\"https://github.com/mastodon/mastodon/issues/12423\">https://github.com/mastodon/mastodon/issues/12423</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "http://tantek.com/",
"photo": "https://aperture-media.p3k.io/tantek.com/acfddd7d8b2c8cf8aa163651432cc1ec7eb8ec2f881942dca963d305eeaaa6b8.jpg"
},
"post-type": "note",
"_id": "36729126",
"_source": "1",
"_is_read": false
}
Thanks @Frankc1450@union.place!
In short: using my own #IndieWeb blog and blogging software, which has no length limit.
A bit longer:
I make my posts by writing them in @barebones.com’s excellent BBEdit (@bbedit@mastodon.social) text editor, scp them to my blog, which does all sorts of automatic linking (including #hashtags), embedding, generating of archives, streams, feeds, sequential navigation, etc.
I use #BridgyFed to #federate my posts to #fediverse followers on #Mastodon and other #ActivityPub supporting services. More details on that here: https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb
{
"type": "entry",
"published": "2023-04-22 16:18-0700",
"url": "http://tantek.com/2023/112/t1/",
"category": [
"IndieWeb",
"hashtags",
"BridgyFed",
"federate",
"fediverse",
"Mastodon",
"ActivityPub"
],
"in-reply-to": [
"https://union.place/@Frankc1450/110228788126722907"
],
"content": {
"text": "Thanks @Frankc1450@union.place!\n\nIn short: using my own #IndieWeb blog and blogging software, which has no length limit.\n\nA bit longer:\n\nI make my posts by writing them in @barebones.com\u2019s excellent BBEdit (@bbedit@mastodon.social) text editor, scp them to my blog, which does all sorts of automatic linking (including #hashtags), embedding, generating of archives, streams, feeds, sequential navigation, etc.\n\nI use #BridgyFed to #federate my posts to #fediverse followers on #Mastodon and other #ActivityPub supporting services. More details on that here: https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb",
"html": "Thanks <a href=\"https://union.place/@Frankc1450\">@Frankc1450@union.place</a>!<br /><br />In short: using my own #<span class=\"p-category\">IndieWeb</span> blog and blogging software, which has no length limit.<br /><br />A bit longer:<br /><br />I make my posts by writing them in <a href=\"https://barebones.com\">@barebones.com</a>\u2019s excellent BBEdit (<a href=\"https://mastodon.social/@bbedit\">@bbedit@mastodon.social</a>) text editor, scp them to my blog, which does all sorts of automatic linking (including #<span class=\"p-category\">hashtags</span>), embedding, generating of archives, streams, feeds, sequential navigation, etc.<br /><br />I use #<span class=\"p-category\">BridgyFed</span> to #<span class=\"p-category\">federate</span> my posts to #<span class=\"p-category\">fediverse</span> followers on #<span class=\"p-category\">Mastodon</span> and other #<span class=\"p-category\">ActivityPub</span> supporting services. More details on that here: <a href=\"https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb\">https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "http://tantek.com/",
"photo": "https://aperture-media.p3k.io/tantek.com/acfddd7d8b2c8cf8aa163651432cc1ec7eb8ec2f881942dca963d305eeaaa6b8.jpg"
},
"post-type": "reply",
"refs": {
"https://union.place/@Frankc1450/110228788126722907": {
"type": "entry",
"url": "https://union.place/@Frankc1450/110228788126722907",
"name": "union.place user Frankc1450\u2019s post",
"post-type": "article"
}
},
"_id": "36729127",
"_source": "1",
"_is_read": false
}
Thanks @Frankc1450@union.place!
In short: using my own #IndieWeb blog and blogging software, which has no length limit.
A bit longer:
I make my posts by writing them in @barebones.com’s excellent BBEdit (@bbedit@mastodon.social) text editor, scp them to my blog, which does all sorts of automatic linking (including #hashtags), embedding, generating of archives, streams, feeds, sequential navigation, etc.
I use #BridgyFed to #federate my posts to #fediverse followers on #Mastodon and other #ActivityPub supporting services. More details on that here: https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://fed.brid.gy/r/https://tantek.com/2023/112/t1/",
"content": {
"html": "Thanks <a href=\"https://union.place/@Frankc1450\">@Frankc1450@union.place</a>!<br /><br />In short: using my own <a href=\"https://indieweb.social/tags/IndieWeb\">#<span class=\"p-category\">IndieWeb</span></a> blog and blogging software, which has no length limit.<br /><br />A bit longer:<br /><br />I make my posts by writing them in <a href=\"https://barebones.com\">@barebones.com</a>\u2019s excellent BBEdit (<a href=\"https://mastodon.social/@bbedit\">@bbedit@mastodon.social</a>) text editor, scp them to my blog, which does all sorts of automatic linking (including <a href=\"https://indieweb.social/tags/hashtags\">#<span class=\"p-category\">hashtags</span></a>), embedding, generating of archives, streams, feeds, sequential navigation, etc.<br /><br />I use <a href=\"https://indieweb.social/tags/BridgyFed\">#<span class=\"p-category\">BridgyFed</span></a> to <a href=\"https://indieweb.social/tags/federate\">#<span class=\"p-category\">federate</span></a> my posts to <a href=\"https://indieweb.social/tags/fediverse\">#<span class=\"p-category\">fediverse</span></a> followers on <a href=\"https://indieweb.social/tags/Mastodon\">#<span class=\"p-category\">Mastodon</span></a> and other <a href=\"https://indieweb.social/tags/ActivityPub\">#<span class=\"p-category\">ActivityPub</span></a> supporting services. More details on that here: <a href=\"https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb\">https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb</a>",
"text": "Thanks @Frankc1450@union.place!\n\nIn short: using my own #IndieWeb blog and blogging software, which has no length limit.\n\nA bit longer:\n\nI make my posts by writing them in @barebones.com\u2019s excellent BBEdit (@bbedit@mastodon.social) text editor, scp them to my blog, which does all sorts of automatic linking (including #hashtags), embedding, generating of archives, streams, feeds, sequential navigation, etc.\n\nI use #BridgyFed to #federate my posts to #fediverse followers on #Mastodon and other #ActivityPub supporting services. More details on that here: https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb"
},
"published": "2023-04-22T23:18:00+00:00",
"post-type": "note",
"_id": "36728385",
"_source": "7235",
"_is_read": false
}