-
↳ In reply to ohai.social user AnokheeTara’s post @AnokheeTara@ohai.social indeed “drinking our own champagne” / “drinking your own champagne” was one of the proposed alternatives when the community was renaming “selfdogfooding”, though it had some downsides:
https://indieweb.org/selfdogfood#drinking_our_own_champagne
I like your points about emphasizing where something is amazing, and encouraging more fun and celebration. More positive metaphors!
“taste your own cooking” is an excellent encouragement and variant of “eat what you cook” — I added it to the wiki (and quoted you if you don’t mind!) https://indieweb.org/eat_what_you_cook#Variants
-
↳ In reply to hachyderm.io user liztai’s post @elizabethtai.com (@liztai@hachyderm.io) either is an excellent and challenging #100Days project.
Join us in the #IndieWeb chat https://chat.indieweb.org/ for tips and help with figuring out the domain thing!
-
↳ In reply to hachyderm.io user liztai’s post @elizabethtai.com (@liztai@hachyderm.io @liztai) Welcome and good luck with shifting to your domain name!
By “post 1 post a day in the #Indieweb way” it sounds like you’ve started a 100 days of blogging project (which is great!) rather than posting about IndieWeb topics in particular.
Also great if you do plan to specifically write about your #IndieWeb adventures (that’s more the intent of #100DaysOfIndieWeb), like choosing/setting up your domain, your personal publishing flow, how you are publishing on your own site and distributing your posts on Mastodon etc.
Whichever you choose, use your primary domain @elizabethtai.com to sign-in to the IndieWeb wiki and add yourself to the respective subsection here:
https://indieweb.org/100_days#2023
-
3 weeks since the 1st, since asking you to own your notes^1
Still tweeting in Big Chad’s garage or tooting in little Chad’s garage next door?^2 What’s the delay?
Choosing a domain name?^3
Or a service or other path?^4
Or #TwitterMigration to #Mastodon?
Two #IndieWeb alternatives to owning your notes (https://micro.blog/ or https://fed.brid.gy/, either with your own domain) both support migrating your followers from Mastodon.
For example, I migrated my experimental @t@xoxo.zone Mastodon account to my own site^5, @tantek.com, thanks to the migration support in Bridgy Fed.
If you’re not sure where you’d like to migrate, you can try https://micro.blog/ for 30 days to see if it works for you.
If you’re a #webDev or otherwise like to tinker, it’s well worth the time to setup your own website with an SSG or CMS^6 or your own code, and grow it incrementally as you post and have time to do so.
Either way, drop by https://chat.indieweb.org/ and ask any questions you have.
There’s a whole community that wants you to succeed, that wants to help you own your notes.
This is day 21 of #100DaysOfIndieWeb #100Days, written the night after.
← Day 20: https://tantek.com/2023/022/t1/indieweb-eat-what-you-cook
→ 🔮
^1 https://tantek.com/2023/001/t1/own-your-notes
^2 https://xkcd.com/1150/
^3 https://tantek.com/2023/004/t1/choosing-domain-name-indieweb
^4 https://tantek.com/2023/003/t1/indieweb-path-chosen-why
^5 https://tantek.com/2022/358/t3/
^6 https://indieweb.org/CMS
-
One of our #IndieWeb principles is Use What You Make^1.
We use the metaphor Eat What You Cook^2 to more broadly relate to creators^3 of all kinds, the chefs & cooks of the IndieWeb.
Cooks often taste their dishes while cooking, and modify them accordingly. Some even prepare entire dishes or meals to try themselves first, before preparing them for others.
On the IndieWeb, some of us do the same by first testing our own code changes in production^4 on our personal sites, before publishing them more widely. Sometimes we let our changes simmer on our own sites for a while, before serving our code for others to consume.
I myself have been most recently testing in production my at-mention auto-linking updates^5 on my site for over a week now. They seem to be working well, and I haven’t noticed any errors or regressions, so I’ll likely roll at least some of those changes into the CASSIS GitHub repo soon.
While testing in production may be a reasonable & good practice for personal sites, it’s often a bad idea for corporate or critical web sites or services, and there’s no shortage of such examples.
I have been wanting to write about our IndieWeb “test in production” practices for a while, and finally created a separate page on the IndieWeb wiki accordingly^4, organizing content from other pages, and adding examples beyond the IndieWeb as well.
Do you write code for your website that you test there in production before sharing it more broadly on GitHub etc.? Add yourself to the examples section^6
Thanks to Chris Aldrich (https://boffosocko.com/) for the eating what you cook banner image.
This is day 20 of #100DaysOfIndieWeb #100Days, written two days after. I have some double days ahead of me.
← Day 19: https://tantek.com/2023/020/t2/bridgy-fed-follow-form
→ Day 21: https://tantek.com/2023/022/t2/own-your-notes-domain-migration
^1 https://indieweb.org/use_what_you_make
^2 https://indieweb.org/eat_what_you_cook, much more palatable than prior "selfdogfood" or "dogfood" metaphors from other open source related communities.
^3 https://indieweb.org/creator
^4 https://indieweb.org/test_in_production
^5 https://tantek.com/2023/011/t1/indieweb-evolving-at-mention
^6 https://indieweb.org/test_in_production#IndieWeb_Examples
-
When you setup your site with Bridgy Fed^1, it creates a dashboard with a form for others to follow you site. E.g. mine: https://fed.brid.gy/user/tantek.com
Copying that Follow form to your site sets up cross-instance following directly from your #IndieWeb site!
Starting with the Follow form markup on the dashboard, copy it and make any necessary changes for its HTML & CSS to fit in with your own, e.g.
<form method="post" action="https://fed.brid.gy/remote-follow">
<label for="follow-address">🐘 Follow
<kbd>@tantek.com@tantek.com</kbd>:<br />
enter your @-@ fediverse address:</label>
<input id="follow-address" name="address" type="text" required="required"
placeholder="@you@instance.social" alt="fediverse address" value="" />
<input name="domain" type="hidden" value="tantek.com" />
<button type="submit">Follow</button>
</form>
After adding the Follow form to my site, I added more instructions and screenshots to the IndieWeb wiki to hopefuly enable more developers to setup Follow buttons:
* https://indieweb.org/Bridgy_Fed#How_to_add_a_follow_form
See that section for a sample rendering of the form, and what happens when someone else clicks the Follow button on your site while they’re logged into a Mastodon instance.
They get prompted to FOLLOW you, and when they click that button, they get a follow confirmation.
A functioning cross-instance “Follow” button is one step closer to a universal cross-site “Follow button”.
This is day 19 of #100DaysOfIndieWeb #100Days, written the night after.
← Day 18: https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo
→ Day 20: https://tantek.com/2023/022/t1/indieweb-eat-what-you-cook
^1 https://tantek.com/2023/008/t7/bridgy-indieweb-posse-backfeed
-
↳ In reply to hachyderm.io user liztai’s post @elizabethtai.com (@liztai@hachyderm.io) Thanks! It took us a while to come up with #POSSE too! Both the concept and name.
Roughly conceptually described in a 2010-05-26 interview^1:
1. Publish on your own site, own your URLs, your permalinks, and
2. Syndicate out to other sites. Your text updates to Twitter, your checkins to Foursquare, your photos to Flickr etc.
A few months later in a whiteboard architecture diagram^2.
Then *two years* after that @willnorris.com (@will@willnorris.com) and I finally came up with the name/acronym POSSE!^3
^1 https://web.archive.org/web/20130312135439/http://www.monkinetic.com/2010/05/26/tantek-celik-diso-20-brass-tacks
^2 https://www.flickr.com/photos/tantek/5301870765/
^3 http://tantek.com/2012/173/t1/posse-core-indieweb-approach
-
Instead of posting on a personal #IndieWeb site (& POSSE copies), some post primarily to a #fediverse instance and syndicate to Twitter, or vice-versa. How to reply^1 to such posts, e.g.:
Reply to a toot (& POSSE tweet): https://tantek.com/2023/019/t4
* @-@ (Twitter @-name)
This is a variant of case (2) in https://tantek.com/2023/018/t1/elevate-indieweb-above-silo.
We can update the directive and two questions & answers in that prior post accordingly:
* Elevate #IndieWeb domains above @-@ addresses, and those above any silo identities
1. Do they have an #IndieWeb domain? Then @-domain mention them^2, like you are speaking to them at their domain identity. This will notify them there, or at least reinforce their domain’s importance.
2. Was their post only published on a #fediverse instance (and/or silo), or was it POSSEd to a fediverse instance (and/or silo) and do you plan to federate (and/or POSSE) your reply^3?
Then use their @-@ address or silo @-name, or @-@ (silo @-name) for both, or (@-@, silo @-name) parenthetically following their @-domain if (1). This will notify them on that instance (or silo), and may help thread your POSSE reply.
When posting a reply, you (or your CMS automatically) should explicitly link with u-in-reply-to markup^4 to the post your are replying to, and any of its syndicated copy permalinks on destinations you plan to POSSE your reply (see also multi-reply^5).
This is day 18 of #100DaysOfIndieWeb #100Days, written the day after.
← Day 17: https://tantek.com/2023/018/t1/elevate-indieweb-above-silo
→ Day 19: https://tantek.com/2023/020/t2/bridgy-fed-follow-form
^1 https://tantek.com/2023/017/t1/socialweb-blogs-reply-comment-post
^2 https://tantek.com/2023/011/t1/indieweb-evolving-at-mention
^3 https://tantek.com/2023/015/t1/publish-indieweb-decide-distribute
^4 https://indieweb.org/in-reply-to
^5 https://indieweb.org/multiple-reply
-
↳ In reply to w3c.social user w3cdevs’s post Thanks @w3cdevs@w3c.social (@w3cdevs) & @w3c@w3c.social, good to be back on the @W3CAB.
As W3C Developers noted, we have a lot Priority Projects work to do. I have rejoined the Vision project: https://www.w3.org/wiki/AB/2023_Priorities#Vision.2FPrinciples, with gratitude to @cwilso.com (@cdub@mastodon.social) for his editing & stewardship, and am looking forward to helping support his leadership & initiative on that project.
-
↳ In reply to devdilettante.com user roland’s post rolandtanglao.com (@roland@devdilettante.com) thanks for the kind words and yes I was at W3C TPAC in Vancouver, would have been nice to chat!
You’re right, neither ActivityPub, Webmention, nor h-entry for that matter have any explicit length limits.
You can run “an experimental 10,000 character limit AP implementation” on your existing site rolandtanglao.com with a few webdev steps:
Setup Bridgy Fed support on your site:
* https://fed.brid.gy/docs#setup (SSL, /.well-known/ server redirects, homepage h-card)
Add h-entry + h-card markup to your post template:
* https://fed.brid.gy/docs#how-post
Then send Bridgy Fed a Webmention when you publish a post.
Presto, you’re running an AP implementation without a character limit!
Happy to help with any of those steps. Drop by https://chat.indieweb.org/dev!
-
↳ In reply to mastodon.cloud user swart’s post @swart@mastodon.cloud my #IndieWeb site https://tantek.com/, which runs its own software, doesn’t have any explicit length limit, nor does https://fed.brid.gy/, the service I use to federate to ActivityPub followers such as Mastodon instances.
Both client & server as it were. I haven’t seen it cause any problems with other instances yet.
For more about how an #IndieWeb setup works, and why, you might be interested in:
* https://tantek.com/2023/005/t3/indieweb-simpler-approach
-
New issue on GitHub project “bridgy”
Bridgy Publish feature request: Support posting to GitLab sites
It would be great if there was a way to post issues & comments for GitLab repos, on a personal site, and have Bridgy Publish syndicate them to the actual GitLab repos.
e.g. feature requests to Pleroma:
Such as:
- Implement IndieAuth support (both sign-in with IndiAuth, and use of a Pleroma profile as an IndieAuth identity to sign-in elsewhere)
- Implement Micropub server support
- Implement Webmention support, sending & receiving
-
↳ In reply to novakeith.net’s post @novakeith.net (@knova@dartboard.social) welcome to #100DaysOfIndieWeb!
There’s a few of us doing this:
* https://indieweb.org/100_days#2023
Feel free to add yourself to the ”100 Days of IndieWeb” section if you like, or to a new subhead for #AtLeast100!
-
The answer to “How should you @-mention someone you are replying to?”^1 can depend on many factors or a few. Context matters somewhat, sometimes.
We can simplify it to 2 questions, based on 1 directive:
* Elevate #IndieWeb domains, above any silo or @-@ identities
Two questions and answers:
1. Do they have an #IndieWeb domain? Then @-domain mention them^2, like you are speaking to them at their domain identity. This will notify them there, or at least reinforce their domain’s importance.
2. Was their post only published on a silo (or #fediverse instance), or was it POSSEd to a silo (or fediverse instance) and you plan to POSSE (or federate) your reply^3? Then use their silo @-name (or @-@ address), in parentheses if (1). This will notify them on that silo (or instance), and may help thread your POSSE reply.
Examples:
If the author has their own domain:
Reply to an IndieWeb post (& POSSE toot): https://tantek.com/2023/008/t1/
* @-domain (@-@)
Reply to an IndieWeb post (& POSSE tweet): https://tantek.com/2023/016/t1/
* @-domain [that matches their Twitter @-name]
Reply to a toot: https://tantek.com/2023/008/t4/
* @-domain (@-@)
Reply to a tweet: https://tantek.com/2023/002/t2/
* @-domain (Twitter @-name)
If the author does not have their own domain:
Reply to a toot: https://tantek.com/2023/002/t4/
* @-@
Reply to a tweet: none since this series, though it would be of the form:
* Twitter @-name
This is day 17 of #100DaysOfIndieWeb #100Days, again finished the next day.
← Day 16: https://tantek.com/2023/017/t1/socialweb-blogs-reply-comment-post
→ Day 18: https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo
^1 https://tantek.com/2023/017/t1/socialweb-blogs-reply-comment-post
^2 https://tantek.com/2023/011/t1/indieweb-evolving-at-mention
^3 https://tantek.com/2023/015/t1/publish-indieweb-decide-distribute
-
Replying to people on the social web used to be “simple” before #socialMedia, when we used blogs. You would either write:
1. a short reply — directly on someone’s blog post comment form, OR
2. a longer reply — on your own blog, in-reply-to & linking to the other post and send a Pingback, expecting at least the other post’s author to see your reply, or you would also write a short comment in their blog post comment form with a brief summary & link to your longer reply post
Aside: web forums^1 at the time were proto-silos^2, and replies/threads were generally self-contained therein.
Then social media exploded and eventually everybody was replying everywhere all at once.
This was so burdensome that some even hired social media managers to perform the labor of how (and if) to reply on each silo, and attempt to keep up with every new silo that popped up.
After a few years of this mid-to-late-2000s social web chaos, in the early 2010s many of us went back to option 2. above from the pre-social-media era, and as part of owning our data^3, started posting our replies in general on our own #IndieWeb sites:
1. Regardless of brevity or length, we resumed posting peer-to-peer replies on our personal sites (now sent site-to-site with Webmentions^4), watched destinations retrieve & display our comments, and were pleased that our peer-to-peer comments looked like any other comments (except with permalinks back to our originals).
2. We also started posting replies to tweets, GitHub issues^5, etc. on our own sites, and automatically POSSE-threading them into their sites of origin.
3. When we wrote site-to-site replies where the original post had itself been syndicated to social media^6, we did both 1 & 2. This let readers follow the conversation in either place, providing an #IndieWeb record for if/when the social media thread was taken down, or disappeared along with another silo shutdown^7.
Following this 1,2,3 approach helped conceptually simplify replying on the social web, and worked well except for a couple of interesting ongoing challenges:
* What is the most efficient user interface path from viewing someone else’s post to writing a reply from your own site?
* How should you @-mention someone you are replying to? (and how can our tools write or pre-fill that for us?)
Regarding the latter, on day 14 I wrote a bit about how should we @-mention in general https://tantek.com/2023/014/t4/domain-first-federated-atmention though that was more of a general @-mention exploration.
As a follow-up to day 14, it’s worth looking into @-reply mentions in particular, specifically for each of the above 1,2,3 contexts, analyzing examples of each, and looking for patterns of @-reply mentions best practices that we can document & recommend.
This is day 16 of #100DaysOfIndieWeb #100Days, except I didn’t finish writing it (mostly) til the morning after, and editing later that afternoon.
← Day 15: https://tantek.com/2023/015/t1/publish-indieweb-decide-distribute
→ Day 17: https://tantek.com/2023/018/t1/elevate-indieweb-above-silo
^1 https://en.wikipedia.org/wiki/Internet_forum
^2 https://indieweb.org/silo
^3 https://indieweb.org/own_your_data
^4 https://tantek.com/2023/012/t1/six-years-webmention-w3c
^5 https://indieweb.org/GitHub#POSSE_to_GitHub
^6 https://tantek.com/2023/015/t1/publish-indieweb-decide-distribute
^7 https://indieweb.org/site-deaths
-
↳ In reply to dariusdunlap.com’s post @dariusdunlap.com thanks for the kind words! Agreed that https://micro.blog/ is currently the best option for getting started with #IndieWeb / #fediverse, and for #TwitterMigration: https://indieweb.org/How_to_transition_from_Twitter
-
When you publish on your #IndieWeb site, you can decide afterwards where to distribute your content, and when. Figure out how you want to fit into the network of sites & instances.
We call this POSSE — for Publish on your Own Site, then Syndicate Elsewhere.^1
By prioritizing your own site, you decide whether (and when) you want to syndicate your posts (or a particular post) to a feed, to a fediverse, to a social media silo or silos, and/or to email like a newsletter.
You can make it as simple or as detailed as you want. It’s up to you.
Choose deliberately. Change your mind when things change.
You can opt out of any destination, either by not opting-in, i.e. explicitly not sending your posts to them, or blocking them if necessary.
Here are a few of the destination decisions I’ve made, and reasons why.
You can delay sending a post to an RSS or Atom feed, say 10 minutes after the time of publication, to give yourself a chance to edit your post, fix typos or links, before a classic feed reader retrieves and perhaps caches your post.
You can further delay sending to known uneditable destinations, like Twitter or email, to give yourself even longer to make further edits, corrections, updates, or improvements based on feedback to your original post.
Some destination decisions may depend on the type of post.
When you post a reply to someone else’s post, in addition to sending a webmention to that other post, it makes sense to also distribute it to where that other post was originally distributed, or a subset thereof, threading your POSSE reply with their original post POSSE copy.
https://indieweb.org/reply#POSSE_a_reply
For example, if you reply to someone’s IndieWeb note, and they’ve POSSEd that note to Twitter, you should POSSE your reply to Twitter as well, threading it with their POSSE copy, if you’re still using Twitter that is. If they did not POSSE their original note to Twitter, there may be reasons to POSSE your reply to Twitter anyway, if your reply makes sense there on its own.
https://indieweb.org/Twitter#POSSE_Replies_to_Twitter
Some destinations have content limitations^2, and you may want to take that into consideration when authoring your content, or not.
For example, you may want to more carefully copy-edit the first 256 (for now) characters of a note if you plan to POSSE to Twitter, so that the content that makes it through makes sense as an introduction, or a summary, or a hook, and perhaps has discovery features like hashtags.
https://indieweb.org/Twitter#POSSE_Notes_to_Twitter
You can use that POSSE tweet text length limitation strategically, placing content after that 256 character cut-off that you may want to edit or expand in an update, or content Twitter may mess-up, like @-domain mentions I described yesterday (day 14).
When you publish a multiphoto^3 post, if you’re POSSEing to Twitter, you may want to re-order your photos to choose which four photos show up in your POSSE tweet, e.g. if you happen to be using Bridgy Publish to cross-post your photos to Twitter. You can always re-order your original multiphoto post after POSSEing it.
If you’re POSSEing photos to Instagram, since you can only do that manually, there’s no need to edit your original to fit Instagram’s 10-photo limitation, or 2200 characters caption limit, or 30 hashtags limit, or 20 person-tags limit.
https://indieweb.org/multi-photo#How_to_POSSE
Or you can reconsider what if anything you get from syndicating to Twitter or Instagram.
Are people still seeing and interacting with your posts there? Are your friends?
If & when social media algorithms deprioritize your original posts in favor of showing more ads, you can deprioritize posting to social media.
If & when your friends quit social media silos^4, you can quit posting copies of your posts to those social media silos.
You decide what content goes where, when, why, and can change your decisions any time you want.
POSSEing to social media was always a stopgap.
As social media silos self-destruct, you can stop syndicating to them.
Thanks to Chris Aldrich (https://boffosocko.com/) for the banner image.
This is day 15 of #100DaysOfIndieWeb #100Days.
← Day 14: https://tantek.com/2023/014/t4/domain-first-federated-atmention
→ Day 16: https://tantek.com/2023/017/t1/socialweb-blogs-reply-comment-post
^1 https://indieweb.org/POSSE
^2 Day 5: https://tantek.com/2023/005/t3/indieweb-simpler-approach
^3 https://indieweb.org/multi-photo
^4 https://indieweb.org/silo-quits
-
Previously^1 I asked “How should we @ someone [on the #IndieWeb]?” & suggested we use @-domain. With some web spelunking, the earliest such use I found was 2013-03-26 (~10y ago!) by @eschnou.com, maybe^2 the first #siteToSite #federated #atMention!
“And my first ever #indieweb pingback goes to @tantek.com, @aaronparecki.com and @waterpigs.co.uk ! Yes, I can now federate... well.. if I can manage to get it to interop :-)”
Though the original post disappeared in a site update (and was unarchived), you can see it on the Internet Archive of @eschnou.com’s #IndieWeb tag page: https://web.archive.org/web/20130609045145/http://eschnou.com/tag/indieweb#2013Mar26
At the time, Barnaby (@waterpigs.co.uk) did confirm receiving that @-mention on his site via Pingback (this was before Webmention was a thing^3): https://waterpigs.co.uk/notes/1199/ (https://twitter.com/BarnabyWalters/status/316664943820812289)
@eschnou.com also asked in the IndieWeb chat if @aaronparecki.com had gotten his @-domain mention: https://chat.indieweb.org/2013-03-26#t1364333721000000
You can see at the bottom of that chat log that he did.
I myself started using @-domain in my posts ~4 years later in a 2017 reply: https://tantek.com/2017/345/t1/aaronpk-paid-thanks (https://twitter.com/t/status/940382393097228288) though only when the same person controlled the domain and the Twitter @-name of the first part of the domain name before the "." (which was/is not many people. Workaround: use other @-domain mentions in posts after the POSSE tweet cut-off).
I think that was my earliest use because two days after that post I added @-domain auto-linking to the https://tantek.com/github/cassis (@cassisjs) "auto_link" function https://github.com/tantek/cassis/commit/0e8e6270c0a3b600423c283f59b5d22c3648d59a (https://twitter.com/cassisjs/status/941107922318381057), likely having already tested it in production on my own site with that post.
I’m still #testingInProduction the updates noted in ^3, notably "https:" for all @-mentions (@-name @-domain @-@) and hope to merge them into the repo soon. Aside: both that and the #testInProduction hashtag have hilarious Twitter results^4.
Does anyone know of any other auto-linkers that support linking @-domain in plain text to an https URL of that domain? Extra internet points if they also support @-@ auto-linking.
This is day 14 of #100DaysOfIndieWeb #100Days.
← Day 13: https://tantek.com/2023/013/t1/indieweb-home-internet
→ Day 15: https://tantek.com/2023/015/t1/publish-indieweb-decide-distribute
^1 Day 11: https://tantek.com/2023/011/t1/indieweb-evolving-at-mention
^2 I’m curious if StatusNet, OStatus, or OpenMicroBlogging had an explicit syntax for site-to-site @-mentions, whether any of them resembled @-domain, and is there evidence of their earliest @-mention usage (if any) still visible on the web (or Internet Archive) cc: @evanp.me (@evan@prodromou.pub)
^3 Day 12: https://tantek.com/2023/012/t1/six-years-webmention-w3c
^4 Navigating to Twitter hashtag results left as an exercise to the reader, to provide a deliberate soft barrier to a potential doomscrolling trap.
-
👍 to a comment on issue 22213 of GitHub project “mastodon”
-
👍 to issue 22213 of GitHub project “mastodon”
-
likes martymcguire’s podcast
-
↳ In reply to pkm.social user daviddelven’s post @daviddelven@pkm.social self-hosting^1 is plumbing^2, does not impact key user functionality, and thus not required for an #IndieWeb site.
You can switch your site from self-hosted to service-hosted & back and it won’t affect your domain, permalinks, content, readers, peer-to-peer comments, or any other IndieWeb user features.
Lastly, “self-hosting” means different things to different people. Some insist it means you have personal physical control of hardware, like a server in your home or garage, some are ok with a physical server in a personal colo cage under lock & key, or a shared colo cage, or a virtual “cloud” server without a physical location.
Per the IndieWeb plurality^3 principle, people can use a self-hosted (under any of those definitions) site or a service-hosted site to publish & interact with each other.
^1 https://indieweb.org/self_hosting
^2 https://indieweb.org/plumbing
^3 https://indieweb.org/plurality
-
Your #IndieWeb site can be the home you’ve always wanted on the internet.

While posting on a personal site has many^1 advantages^2 over only posting to #socialMedia, maybe you already quit social media silos^3.
There are lots of reasons to get a domain name^4 and setup your own homepage on the web.
If you’re a web professional, a personal site with your name on it (perhaps also in its domain) can make it easier for potential employers to find you and read your description in your own words.
If you’re a web developer, a personal home page is also an opportunity to demonstrate your craft.^5
If you’re a writer, you can organize your words, essays, and longer form articles in a form that’s easier for readers to browse, and style them to both be easier to read, and express your style better than any silo.
Similarly if you’re an artist, photographer, or any other kind of content creator.
See https://indieweb.org/homepage for more reasons why, and what other kinds of things you can put on your home page.
Thanks to Chris Aldrich (https://boffosocko.com/) for the banner image.
This is day 13 of #100DaysOfIndieWeb #100Days.
← Day 12: https://tantek.com/2023/012/t1/six-years-webmention-w3c
→ Day 14: https://tantek.com/2023/014/t4/domain-first-federated-atmention
^1 https://tantek.com/2023/001/t1/own-your-notes
^2 https://tantek.com/2023/005/t3/indieweb-simpler-approach
^3 https://indieweb.org/silo-quits
^4 https://tantek.com/2023/004/t1/choosing-domain-name-indieweb
^5 https://indieweb.org/creator
-
🎉 Six years ago today, the #IndieWeb Webmention protocol was published as a W3C REC https://www.w3.org/TR/webmention/
A key social web building block, Webmention enabled peer-to-peer comments, likes, and other responses to be created, updated, and deleted across the web, by both dynamic & static websites.
It was accompanied by a report of over a dozen implementations that demonstrated interoperability: https://webmention.net/implementation-reports/summary/ using an open test suite: https://webmention.rocks/ that is still up and running and used by developers today.
Many many more implementations have been developed, open sourced, shipped, launched since. The specification itself has a webmention endpoint and accepts webmentions.
Exactly a year before that, Webmention was published as a First Public Working Draft by the W3C Social Web Working Group: https://www.w3.org/TR/2016/WD-webmention-20160112/
It took the best parts of the prior Pingback protocol, simplified it (ditched XML-RPC), made it more secure, separated presentation from plumbing, and added update & delete semantics.
It was in many ways a model for how open web standards should be developed.
See the wiki page for an overview and numerous screenshots of implementations: https://indieweb.org/Webmention
If you want to implement Webmention yourself, there are now numerous developer resources to do so.
Start here: https://indieweb.org/Webmention-developer and come say hi at the IndieWeb development chat channel: https://chat.indieweb.org/dev
Previously, previously, previously:
* https://tantek.com/2020/012/t1/happy-birthday-webmention
* https://tantek.com/2018/012/t1/anniversary-million-webmentions
* https://tantek.com/2017/012/t1/webmntion-first-w3c-recommendation-high-bar
This is day 12 of #100DaysOfIndieWeb #100Days.
← Day 11: https://tantek.com/2023/011/t1/indieweb-evolving-at-mention
→ Day 13: https://tantek.com/2023/013/t1/indieweb-home-internet
-
One of the fun things about #IndieWeb notes & replies is that how we post is actively evolving! Like how should we @ someone?
#socialMedia aliases (e.g. @Twitter) were obvious, with prior @-name usage on Flickr etc.
Now, some have a domain, or an @-@ (pronounced at-at, yes, just like the abbreviation for Imperial All Terrain Armored Transport^1), or some have both.
We can ask questions like why do we @-someone? What are the use-cases?
* In a reply to a public post, clearly express that you’re speaking to that person
* In a reply to a reply, that you’re speaking to everyone upthread (AKA a https://indieweb.org/canoe)
* When attributing something to someone (photo/post/cool thing by so-and-so), giving credit
* Distinguish a person (or something that can be followed) from “just” a site
* For all the above, notifying someone accordingly
Some ideas:
1. Ideally, if/when everyone has their own domain (where they receive Webmention notifications, and a feed you can follow), we can @-name their domain, which your auto-linker^2 should hyperlink accordingly, e.g.
* @aaronparecki.com @anomalily.net @Martymcgui.re @david.shanske.com @voxpelli.com @adactio.com @marcthiele.com @mxb.dev
These all look close enough to social media aliases/names that they’re immediately recognizable as readable @-names, a good consideration when choosing a domain name.^3
2. As a fallback (e.g. for non-@-domain-auto-linking destinations) we can use someone’s plain domain (explicitly with https:), especially if their home page still has a stream or feed you can follow, or maybe if they don’t receive homepage Webmentions (yet), e.g.:
* https://jacky.wtf/ https://tmichellemoore.com/ https://crowdersoup.com/
3. Some folks with personal sites have (for now) created separate Mastodon accounts (or installed an instance on a subdomain), and for them, we can reference their @-@ parenthetically after their domain, like:
* https://kevinmarks.com/ (@kevinmarks@xoxo.zone), https://dangillmor.com/ (@dangillmor@mastodon.social), https://simonwillison.net/ (@simon@simonwillison.net)
Rather than using social media silo @-names (except when explicitly replying to a silo), I’m now experimenting with all three of these (1-3) instead, both to elevate people’s IndieWeb identities, and for Mastodon viewers, provide a convenient way to follow @-@ addresses.
If someone’s homepage receives Webmentions, they will get notified when I @-mention them by domain.
I recently implemented syntactic auto-linking of @-@ addresses like this:
* @user@example.com --> https://example.com/@user
with a special case for @-domain@-domain to just link to the domain, e.g.:
* @tantek.com@tantek.com --> https://tantek.com/
I also made a recent policy decision to auto-link all @-@ (and @-domain) mentions to https:, the reasoning being that identities on the web should be using https.
* Testing in production here: https://tantek.com/cassis.js, search for "auto_link("
Some questions:
* Does/do Mastodon (or other ActivityPub servers) notify people when you @-@ mention them in a post? How? Who’s responsible for that?
* Will Bridgy Fed notify the servers (deliver to AP inboxes) of folks I merely @-@ mention (rather than explicit replies, reposts)? Should it?
So many people are switching to using their personal domains to post (or at least a Mastodon account) that I no longer feel compelled to @-mention people’s Twitter handles in posts, which feels refreshing.
Now the fun part is experimenting and figuring out what combination of @-domain, plain domain, or @-@ mentions looks good, makes sense to people, and sends notifications to people the way they want to receive them.
This is day 11 of #100DaysOfIndieWeb #100Days.
← Day 10: https://tantek.com/2023/010/t2/build-use-services
→ Day 12: https://tantek.com/2023/012/t1/six-years-webmention-w3c
^1 https://en.wikipedia.org/wiki/AT-AT
^2 My https://tantek.com/github/cassis/blob/master/cassis.js auto_link() function supports @example.com auto-linking, yours should too.
^3 https://tantek.com/2023/004/t1/choosing-domain-name-indieweb
-
Once you have a domain^1, and connect it to an #IndieWeb service like https://micro.blog, or a https://indieweb.org/CMS on https://indieweb.org/web_hosting, you can focus^2 on your writing.
Or if you enjoy #webDevelopment and want to build (option three^3), use developer services to more rapidly add IndieWeb building blocks^4 to your site so you too can focus on creating & owning your content^5.
Here are some of the most common and popular developer services:
1. Webmention sending: https://webmention.app/ by https://remysharp.com/ (@rem@front-end.social), or https://mention.tech/ by https://kevinmarks.com/ (@kevinmarks@xoxo.zone)
2. Webmention receiving: https://webmention.io/ (I use this) by https://aaronparecki.com/ or https://webmention.herokuapp.com/ by https://voxpelli.com/ (@voxpelli@mastodon.social)
3. POSSE & backfeed: https://brid.gy/ by Ryan of https://snarfed.org/ (@schnarfed)
4. ActivityPub federating: https://fed.brid.gy/ also by Ryan. More on Bridgy & Bridgy Fed^6.
Using a developer service to support IndieWeb protocols saves you time. You can also contribute to the community by filing suggestions for improvements, or participating on their GitHub repositories.
If you prefer that your site not depend on any external services, you can do that too.
Most of the above services are also open source that you can install and fully manage yourself. For example:
* Webmention installable services: https://indieweb.org/Webmention#Publisher_Services
Another option is to use one of many open source libraries to more rapidly implement support for IndieWeb standards^7. The wiki pages for each standard list libraries in a variety of programming languages, e.g.:
* https://indieweb.org/Webmention-developer#Libraries
If you choose the path of installing or building something new with libraries or by directly implementing an IndieWeb standard, be sure to test your implementation with its test suite, e.g.:
* https://webmention.rocks/
As a web developer, you can choose how much of your #IndieWeb support you want to implement yourself (and time to invest) vs build on the services, libraries, and other open source that the community has produced and is actively supporting.
This is day 10 of #100DaysOfIndieWeb #100Days.
← Day 9: https://tantek.com/2023/009/t2/edit-reply-comment-update
→ Day 11: https://tantek.com/2023/011/t1/indieweb-evolving-at-mention
^1 https://tantek.com/2023/004/t1/choosing-domain-name-indieweb
^2 https://tantek.com/2023/005/t3/indieweb-simpler-approach
^3 https://tantek.com/2023/003/t1/indieweb-path-chosen-why
^4 https://indieweb.org/building_blocks
^5 https://tantek.com/2023/001/t1/own-your-notes
^6 https://tantek.com/2023/008/t7/bridgy-indieweb-posse-backfeed
^7 https://spec.indieweb.org/
-
↳ In reply to xoxo.zone user KevinMarks’s post https://kevinmarks.com/ good catch and thanks. Fixed the typos and resent a Webmention to #BridgyFed using https://mention.tech/ — we’ll see if the cache of my post on your instance is updated.
-
Sometimes it’s the little things, like editing a post. Edit a reply, see a comment update on another post.
From day 5 (https://tantek.com/2023/005/t3/indieweb-simpler-approach)
* Can I edit my post after publishing?
Whether a tweet or Instagram photo, the answer is no.^1
Blogs and websites have had editing capabilities since the start.
However, no site is an island, it’s a *web* site. Interlinked.
We expect edits on one site to show up when embedded or syndicated on other sites.
#Webmention provides the ability for cross-site comments, and unlike the "one-off" prior protocols of Trackbacks & Pingbacks^2, when you update a cross-site comment, by resending a Webmention, the other post updates its copy of your reply: https://www.w3.org/TR/webmention/#sending-webmentions-for-updated-posts
If you delete a reply, by resending a Webmention, the other post can delete its copy (or mark it as deleted) https://www.w3.org/TR/webmention/#sending-webmentions-for-deleted-posts
Similarly, the #ActivityPub protocol specifies update & delete capabilities, as implemented by #Mastodon and others.
#BridgyFed (https://fed.brid.gy) bridges (as the name says) these two protocols, which enables the following interactions.
#IndieWeb post -(Webmention)-> BridgyFed -(ActivityPub)-> Mastodon displays post
and then this:
IndieWeb updated post -(Webmention)-> BridgyFed -(ActivityPub)-> Mastodon displays updated post
This works for replies to toots as well:
IndieWeb reply to toot -(Webmention)-> BridgyFed -(ActivityPub)-> toot displays reply
and subsequently:
IndieWeb updated reply -(Webmention)-> BridgyFed -(ActivityPub)-> toot updates display of reply
Thanks to these update protocols in Webmention & ActivityPub, and BridgyFed connecting them, after adding “forward-in-time” links (https://tantek.com/2023/006/t1/forward-in-time-links) I was able to resend webmentions for my previous #100DaysOfIndieWeb posts, and have those forward links show up wherever my posts were already displayed on Mastodon.
Posts interlinked with replies interlinked with protocols interlinked.
This is day 9 of #100DaysOfIndieWeb #100Days.
← Day 8: https://tantek.com/2023/008/t7/bridgy-indieweb-posse-backfeed
→ Day 10: https://tantek.com/2023/010/t2/build-use-services
^1 The ability to edit tweets has literally been the most requested feature on Twitter since perhaps its launch. Last year, paid Twitter “Blue” accounts finally got the ability to edit tweets, sort of: five times within 30 minutes of posting. Too little, too late.
* https://techcrunch.com/2022/10/03/twitters-edit-button-is-rolling-out-to-blue-subscribers-in-canada-australia-and-new-zealand/
* https://blog.hootsuite.com/can-you-edit-a-tweet/
* https://www.pcmag.com/news/twitters-edit-button-is-coming-soon-for-paid-users
* https://www.macrumors.com/2022/10/06/twitter-edit-tweet-option-united-states/
* https://9to5mac.com/2022/10/06/twitter-rolling-out-edit-button/
^2 Pingbacks were originally (and for many years) only implemented as one-off cross-blog interactions. One-time, uneditable. Pingbacks (and Trackbacks before them) were notoriously ugly when they showed up on blogs, listed & displayed as a separate thing (never tie presentation to the name of a protocol) with cryptically elided summaries: https://indieweb.org/pingback#Poor_display.
Over 10 years after Pingback was specified (2002), the then nascent (founded 2011) IndieWeb community re-used pingbacks for actual comments across sites in 2013: https://tantek.com/2013/113/b1/first-federated-indieweb-comment-thread separating presentation & UI from the protocol.
This separation of concerns approach evolved into the Webmention specification, separating the protocol from the display of comments, likes, reposts, and other social web https://indieweb.org/responses.
-
↳ In reply to front-end.social user jhey’s post https://jhey.dev/ (@jhey@front-end.social) hey! thanks for the kind words.
Two sides to supporting #webmentions:
1. Sending: https://webmention.app/ is excellent, by https://remysharp.com/ (@rem@front-end.social), or you can write your own Webmention sending loop using endpoint discovery libraries, and in that loop you can do other things, like also send each link to the Internet Archive (https://indieweb.org/Internet_Archive#Trigger_an_Archive, what I do on my site) to archive each link as of the time you linked to it.
2. Receiving: https://webmention.io/ (which is what I use) by https://aaronparecki.com/ as recommended by https://mxb.dev/ (@mxbck@front-end.social), or https://webmention.herokuapp.com/ by https://voxpelli.com/ (@voxpelli@mastodon.social) as recommended by https://kryogenix.org/ (@sil@mastodon.social). Similarly to sending, you could also write your own Webmention receiving code.
Then the fun part, once you’re receiving webmentions, is figuring out how you want to display them as comments, likes, reposts etc. on your post permalinks. Do you display people’s icons/avatars, at what resolution? Do you display the entirety of comments or do you elide them at 255 characters (or some other limit)? Etc. If(when) you start storing received webmentions in your own site/server’s storage, there’s a bunch more interesting considerations.
More resources:
* https://indieweb.org/Webmention-developer
That’s a good start. Drop by https://chat.indieweb.org/dev for deep dives into any of the above, and welcome to the Webmentionverse
-
11 years ago today, Ryan Barrett (https://snarfed.org/ @schnarfed) launched Bridgy (https://brid.gy/) to copy #socialmedia replies as comments on original blog posts.
This meant those of us building #IndieWeb sites could use a service for that functionality, instead of having to write code ourselves, for each proprietary API.
When a few of us originally started syndicating to silos (https://indieweb.org/POSSE), and sometimes reverse-syndicating replies (https://indieweb.org/backfeed), we had to write custom code to do so, calling each social media API (like Twitter) both ways.
Bridgy alleviated some of that burden, and over time added support for more silos, sometimes dropping support when they were shutdown (Google+, Buzz) or scuttled their APIs (Facebook).
While Bridgy started only with backfeed as a service, it eventually added publishing support, POSSE as a service.
Even though I already had code working to POSSE text notes to Twitter, when I added photo posting support to my site, rather than write more code to call Twitter’s API, I started conditionally using Bridgy Publish to POSSE my photo (and video) posts.
In 2017, Ryan launched Bridgy Fed (https://fed.brid.gy) which he has substantially improved in the past few months.
I and many others now use Bridgy Fed to broadcast to & interact with Mastodon (and other ActivityPub) servers, without having to write any ActivityPub, Webfinger etc. code ourselves.
https://tantek.com/2022/301/t1/twittermigration-bridgyfed-mastodon-indieweb
Every user of Bridgy Fed gets a nice dashboard for notifications and activity. Here’s mine: https://fed.brid.gy/user/tantek.com
Bridgy is a great example of a project that was started to fulfill a personal need (https://indieweb.org/make_what_you_need), growing to support broader community needs.
Read more about Bridgy & Bridgy Fed:
* https://indieweb.org/Bridgy (including Publish)
* https://indieweb.org/Bridgy_Fed
* Launch post: https://snarfed.org/2012-01-08_bridgy_launched
It’s this hybrid of encouraging personally relevant work and community contributions that makes the #IndieWeb community special.
Yes there is a focus on greater independence with your personal website. However we can all do more by working together.
We achieve more independence, more quickly, by collaborating in community.
This is day 8 of #100DaysOfIndieWeb #100Days.
← Day 7: https://tantek.com/2023/007/t2/more-100daysofindieweb-projects
→ Day 9: https://tantek.com/2023/009/t2/edit-reply-comment-update
-
↳ In reply to aaronparecki.com’s post @aaronpk @denicmarko It’s worse than that static snapshot (curious how you found it).
See: https://tantek.com/2011/238/b1/many-ways-slice-url-name-pieces#ud
And there’s ~12 years of research & updates pending since.