Show Navigation
Notices tagged with indieweb, page 4
-
I got auto-Unicode & linking footnotes¹ working!
In notes like this post, I can type "^1" (like after the word "footnotes" above) and the code on my server automatically:
* turns it into a Unicode superscript '¹'
* links it to the expansion at the end of my post
Similarly, I can type "^1" at the start of an expansion line (e.g. at the end of a post) and that code automatically:
* turns it into a Unicode superscript '¹'
* links it back to the inline reference
Since that code is part of my site’s CASSIS auto_link function², all previous posts with such "^n" style footnotes have also been updated, like my day 6 post³ and since.
Clicking an inline footnote reference scrolls to the line with the footnote expansion. Clicking the Unicode superscript number at the start of that expansion scrolls back to the inline footnote reference.
I decided to postpone adding the small return arrows '⮐' at the end of a footnote expansions. Linking the superscript numbers to each other works well, and seemed sufficiently discoverable without being distracting.
By using post-specific unique prefixes for the footnote reference & expansion links, those links also work even in the presence of more than one post with footnotes, e.g. on my home page⁴. They’re also in my Atom feed entries. I’m curious how the footnotes links in a post work in other contexts, like when viewing in a reader.
I also discovered that Unicode superscripts were inconsistent on some platforms, and added a bit of CSS to set an explicit font-family for footnotes numbers:
/* CSS style rule to use a specific font for footnote refs and expansions */
a[id*='_ref-'],a[id*='_note-'] { font-family:"Arial Unicode MS",system-ui; }
/* end of style rule */
I added this and some other tips to the #IndieWeb footnote page⁵.
This is day 30 of #100DaysOfIndieWeb #100Days
← Day 29: https://tantek.com/2023/037/t1/post-glossary
→ 🔮
¹ https://tantek.com/2023/036/t1/footnotes-unicode-hyperlink
² https://tantek.com/cassis.js
³ https://tantek.com/2023/006/t1/forward-in-time-links
⁴ https://tantek.com/
⁵ https://indieweb.org/footnote
-
Taking a closer look at both my syntax and use-cases of footnotes in posts^1 revealed that a post glossary would suffice in many instances.
In reviewing my #100DaysOfIndieWeb footnotes, I found:
1. citations in reference to “since” a date (or year)
2. citations providing deeper points beyond the definition of a term
3. citations substantiating a point or assertion
4. citations to an earlier post providing context for a term, phrase, summary
5. links to the #IndieWeb community site for a definition of a term or phrase
6. links to a Wikipedia article that defines a term in a section
7. links to open source software defining a function
The latter three (5,6,7) make more sense as part of a post glossary rather than references footnotes. Using a post glossary in previous #100DaysOfIndieWeb posts would have reduced the need for footnotes, in some case up to half of them per post.
There’s one more silent use-case which helped inform when I would use those (5,6,7):
8. implicit absence of linking/defining jargon where a Wikipedia look-up would suffice
This analysis led me to a five-step if/else for when/how to add a term to a post glossary:
When I use an unobvious (like jargon) term or phrase in prose:
1. If looking it up literally in Wikipedia (prepending it with https://enwp.org/) provides the meaning I intend (e.g. https://enwp.org/jargon), then do nothing with it and trust readers will look it up if they need to.
2. Else if an unobvious Wikipedia link would convey the intended meaning (e.g. to another page or a specific section), then add that to a glossary
3. Else if the IndieWeb wiki definition conveys the intended meaning (and is expected to in the future), then add an IndieWeb wiki link to a glossary
4. Else if there is an open source software or other reliable reference that conveys the intended meaning (and is expected to in the future), then add a link to that to a glossary
5. Else define the term in a glossary entry, and contribute that somewhere I can link to in the future.
In my previous post^1 I also used a glossary syntax resembling common print conventions:
term or phrase on its own line without punctuation
space-indented link to a defining page, or inline definition, or both
This pattern (when repeated with two or more adjacent instances) looks like it may be detectable for auto-markup with HTML definition (description) list <dl>, term <dt>, and details <dd> elements. Perhaps as part of existing auto-markup code.
For fallback handling in syndication destinations that remove^2 HTML definition related elements, I’ll likely still have to include explicit linebreaks & spaces to preserve that presentation, perhaps marked-up to style them to remove their spacing when in the context of the HTML definition elements.
I have started a glossary page on the IndieWeb wiki with some of these thoughts:
* https://indieweb.org/glossary
This is day 29 of #100DaysOfIndieWeb #100Days
← Day 28: https://tantek.com/2023/036/t1/footnotes-unicode-hyperlink
→ 🔮
Post Glossary:
auto-markup
code to automatically add markup to text that implies a semantic or to preserve meaningful spaces like https://indieweb.org/auto-space
HTML definition list
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl
^1 https://tantek.com/2023/036/t1/footnotes-unicode-hyperlink
^2 https://indieweb.org/sanitize#Software_Examples
-
In recent posts I’ve used ASCII footnotes like "^1" to indicate more information about a subject in a footnote line starting with "^1" at the bottom of the post.
Both inline refs & footer notes should use Unicode superscripts like '¹' and hyperlink both ways, in contexts that support it.
I have heard feedback from the #IndieWeb community that inline ASCII footnotes like "^1" are distracting and interrupt the flow of reading, and I can sympathize with that.
From an authoring perspective, it’s easier to type "^2" than "²" so I’d rather keep doing so, and write code to do the conversion.
I’m also considering what to change as an author, like instead of footnoting special terms/jargon, I can include them in an mini-glossary at the end of a post, thus only using footnotes for specific points or citations. I won’t include terms that mean exactly the same thing as defined by a literal page of the same name on Wikipedia (e.g. ASCII in this post means https://enwp.org/ASCII).
During a run I figured out how my existing CASSIS autolink function could detect both inline footnote references and their expansions, convert them to Unicode, and add local hyperlinks in both directions, given an optional parameter to prefix their fragment IDs. I looked at Wikipedia’s references and fragments for examples, and they use "_ref-{number}" and "_note-{number}" respectively which seem sensible.
The one Wikipedia design aspect I disagree with is their use of a hat character '^' at the *start* of a reference note to link back to the inline reference, which look distracting, and in my opinion are too subtle/unobvious. I prefer what I’ve seen on blogs: a small return arrow '⮐' at the *end* of a note to link back to the inline reference, which does a much better job of conveying the meaning of “return to where this was referenced / you were reading.”
Lastly, I think it’s ok if POSSE copies of my posts to text-only (non-hyperlinking) destinations keep the ASCII footnote style, because such copies usually (e.g. on Twitter) lack enough space for the expansions, and there is less chance of ASCII footnotes being misunderstood as part of something else on those destinations. POSSE destinations are in general lower fidelity than a personal site, so it’s ok have this be another instance where the original looks better than the copy.
I collected many of these thoughts in a brainstorming section on the IndieWeb wiki accordingly, and will update that as I make progress:
https://indieweb.org/footnote#Brainstorming
If you use footnotes in your personal site posts, please add yourself to the IndieWeb Examples section:
https://indieweb.org/footnote#IndieWeb_Examples
This is day 28 of #100DaysOfIndieWeb #100Days
← Day 27: https://tantek.com/2023/033/t1/twitter-api-log-in-web-sign-in-relmeauth
→ 🔮
Post Glossary:
autolink
https://indieweb.org/autolink
CASSIS
https://indieweb.org/CASSIS
POSSE
https://indieweb.org/POSSE
Unicode superscripts
https://en.wikipedia.org/wiki/Superscripts_and_Subscripts_(Unicode_block)
-
Imminent end of free use^1 of the Twitter API likely also means the end of free Log in with Twitter^2 delegated signin service^3.
If you use [Sign in with Twitter]^4, consider replacing it with Web sign-in^5, implementing #RelMeAuth^6 & #IndieAuth^7 (OAuth for the #openWeb^8) ASAP!
If you already have your own domain (got get one^9), add a link from your home page to your GitHub profile with rel=me^10, and then test it by using your domain to sign-in to:
* https://indielogin.com/
* https://indieweb.org/
Any challenges or questions? Ask in #IndieWeb chat: https://chat.indieweb.org/dev
This is day 27 of #100DaysOfIndieWeb #100Days
← Day 26: https://tantek.com/2023/032/t1/years-relmeauth-replace-openid
→ 🔮
^1 https://www.theverge.com/2023/2/2/23582615/twitter-removing-free-api-developer-apps-price-announcement
^2 https://indieweb.org/Log_in_with_Twitter
^3 https://indieweb.org/silo_sign-in
^4 https://indieweb.org/Log_in_with_Twitter#Button
^5 https://indieweb.org/Web_sign-in
^6 https://tantek.com/2023/032/t1/years-relmeauth-replace-openid
^7 https://indieauth.spec.indieweb.org/
^8 https://indieauth.net/
^9 https://tantek.com/2023/004/t1/choosing-domain-name-indieweb
^10 https://indieweb.org/How_to_set_up_web_sign-in_on_your_own_domain#How_to_setup_RelMeAuth
-
Is the #IndieWeb just blogs/blogging?
What if I told you the "indie web"^1 is older than "blog" or "weblog"^2?
The IndieWeb, as it says on the homepage^3, also goes beyond blogging^4.
And those are just the terms.
It should come as no surprise that conceptually:
personal sites in general, predated
personal sites with reverse-chronologically-ordered dated entries.
Good concepts, even if forgotten, tend to be rediscovered & reinvented over time.
When I first used the phrase "indie web" (two words) in 2010^5, I used it descriptively, an informal shorthand for the "independent web". I didn’t find out about the 1997^1 use of the phrase until many years later.
I saw & was a fan of the 2001 launch of the "Independents Day" site & its manifesto^6 (at independentsday(.)org, since offline) that asked “if you create^7 your own site”, to join them. That encouragement stuck with me, and was a source of inspiration nine years later.
In my presentation^8 at the 2010 Federated Social Web Summit^9, I referenced the "indie web" again, and afterwards I proposed to @aaronparecki.com that we start something focused on explicit principles & practices.^10
After subsequent chats & discussions, we settled on the term “IndieWeb” (one word). We started with three essential principles/practices, in today’s terms: “create”, “use what you make”, and “own your data”, which the community eventually expanded into 11 principles^11.
This brings us back to the original question, is the #IndieWeb just blogs/blogging?
In short no. Seemingly paradoxically, blogging is neither required nor sufficient to “be” IndieWeb as we use the term today.
Are IndieWeb sites blogs?
Some (perhaps even most) of them are. However, there are plenty of personal sites that are just a homepage^12, or a handful of static pages like a portfolio^13.
Are blogs IndieWeb sites?
Some of them are, if they are personal blogs, or other forms of independent sites, like small organizations with their own blogs, on their own domains. However the concept of the IndieWeb goes far beyond blogging, or any jargon like decentralization or federation.^4
The aforementioned principles^11 provide a good foundation for the IndieWeb, and a good contrast from the prevailing project-centric attitudes of the day. The practices described inside each principle, such as owning your data meaning owning your notes^14 as well, start to hint at what it means to do & be IndieWeb today.
If you have a blog on your own domain, and yet you post notes as tweets or toots on someone else’s domain, are you “doing” IndieWeb?
Such a split practice could be considered a mid-to-late 2000s approach to the “indie web”, but certainly not the 2023 IndieWeb. Since 2010, the IndieWeb evolved & extended far beyond blogs, into many kinds of posts^15 typical in social media (but lacking in blogs), and site-to-site social web interactions^16, like replies that looked like actual comments, rather than awkwardly displayed blog trackbacks/pingbacks.
Either way, if you have your own site (whether a blog or not) and create with it, like the 2001 Independents Day encouragement, come join us^17, and we’ll help you get setup to do so much more.
This is day 25 of #100DaysOfIndieWeb #100Days
← Day 24: https://tantek.com/2023/027/t5/contrast-domain-chat-name
→ 🔮
^1 1997-02-01 https://web.archive.org/web/20010805195949/http://www.uzine.net/article63.html
^2 https://en.wikipedia.org/wiki/Blog#History
^3 https://indieweb.org/#Beyond_Blogging_and_Decentralization
^4 https://indieweb.org/different
^5 http://tantek.com/2010/123/t2/blogger-turned-off-ftp-what-indie-web-diso (https://twitter.com/t/status/13329370781)
^6 https://indieweb.org/Independents_Day
^7 https://indieweb.org/creator
^8 https://web.archive.org/web/20100723133231/http://federatedsocialweb.net/wiki/2010-199-tantek-fsws-talk
^9 https://indieweb.org/Federated_Social_Web_Summit#Portland_2010
^10 https://indieweb.org/founders#IndieWeb_movement_and_terminology
^11 https://indieweb.org/principles
^12 https://indieweb.org/homepage
^13 https://indieweb.org/portfolio
^14 https://tantek.com/2023/001/t1/own-your-notes
^15 https://indieweb.org/posts#Types_of_Posts
^16 https://indieweb.org/responses
^17 https://chat.indieweb.org/
-
Another interesting contrast^1 in the #IndieWeb community is that most of us have both:
* a domain name^2 — for posting our content, replies, likes etc.
* a chat-name^3 — for chatting in our discussion channels^4
Ideally, we would have a discussion system that “just” used our domain names as identities (IndieAuth^5 for Web sign-in^6) to chat with each other, but no such system exists (yet).
No we’re not going to all setup XMPP servers on our domains and attempt to hook them all up. Nearly no one wants to pay that admintax^7. Nor would XMPP let us “just” use our domain names. Like email, XMPP requires a separate “username”. Sure we could fake it like Bridgy Fed does for us with 'domain @ domain', but why would we work harder for a worse UX?
So instead of making things more complex than domains, we took the opposite approach, and based our chat on IRC, and our chat-names on plain nicknames.
Using a chat system like IRC lowered the barrier to participation in the IndieWeb community, so you could for example, ask about how to pick a domain name^2 instead of being stuck in an actual catch-22^1 of needing a domain name just to ask about a domain name.
By putting our chat archives on the web^8, we were able to reduce our chat system requirements, provide a simple minimal web app for brief chats, and bridge our IRC channels with multiple other chat systems, like Slack, Matrix, and even Discord^9. This has the significant advantage of much greater chat client choice for community members.
However, we did realize that our statements in the chat archives^8 could be more closely tied to our domain identities, including our personal icons^10. Rather than a complex system or new protocol, we just put our flat list of nicknames in templates with images & domains on the wiki^11.
Thus our chat archives, despite being based on IRC, show icons for people, and link their chat nicknames to their personal domain names, again striking a pragmatic balance.^1
The flexibility of using a wiki template allowed us to add personal time zones as well, to enable things like asking in chat, “what time is it for tantek”. This works well enough, except does not account for cross-time-zone travel, though you could update your chat-name entry if you wanted to while traveling.
Having all our chat-names in a single list^11 on a page like that revealed another interesting aspect: we have folks across all the timezones in the US & Europe, some in the Middle East, Australia, and most of Asia as well.
As a result, the IndieWeb chat channels have people awake and often discussing various topics 24 hours a day.
Drop by^8 and say hi, and be sure to have a look at our Code of Conduct.^12
This is day 24 of #100DaysOfIndieWeb #100Days
← Day 23: https://tantek.com/2023/027/t4/five-years-websub
→ 🔮
^1 https://tantek.com/2023/026/t1/indieweb-priorities-balance
^2 https://tantek.com/2023/004/t1/choosing-domain-name-indieweb
^3 https://indieweb.org/chat-names
^4 https://indieweb.org/discuss
^5 https://indieweb.org/IndieAuth
^6 https://indieweb.org/Web_sign-in
^7 https://indieweb.org/admintax
^8 https://chat.indieweb.org/
^9 https://indieweb.org/discuss#Join_Discussions
^10 https://indieweb.org/icon
^11 https://indieweb.org/chat-names#Nicknames
^12 https://indieweb.org/code-of-conduct
-
Five years ago (Monday the 23rd) the @W3C Social Web Working Group published the WebSub Recommendation^1
The test suites https://websub.rocks/ for Publishers, Subscribers, and Hubs are still up & running, as are the vast majority of implementations documented in the implementation report.
My site supports the publishing side of WebSub via the Superfeedr Hub^2 and there are many more supporting sites^3.
Beyond publishing blog posts and realtime updates in social readers^4, there are additional WebSub use-cases such as real time #IndieWeb search^5 results, like Technorati except opt-in via WebSub subscriptions, and without any polling.
Such diverse use-cases are one of the benefits of building-block^6 standards^7 like WebSub.
If you create a new WebSub implementation, be sure to test it with the test suite^8 and add your results to the WebSub Implementation Reports repo^9.
Got questions about WebSub? Ask in https://chat.indieweb.org/dev
This is day 23 of #100DaysOfIndieWeb #100Days
← Day 22: https://tantek.com/2023/026/t1/indieweb-priorities-balance
→ 🔮
^1 https://www.w3.org/TR/2018/REC-websub-20180123/
^2 https://pubsubhubbub.superfeedr.com/
^3 https://indieweb.org/WebSub#IndieWeb_Examples
^4 https://indieweb.org/social_reader
^5 https://indieweb.org/IndieWeb_Search
^6 https://indieweb.org/building-blocks
^7 https://spec.indieweb.org/
^8 https://websub.rocks/
^9 https://websub.net/implementation-reports
-
There are many opposing forces in the #IndieWeb that can seem like catch-22s, yet help clarify priorities, and balance present pragmatism & future optimism.
* Indie, yet often on corporate infrastructure
* Independent, yet dependent on community
* Own your content^1, yet share publicly, perhaps CC0^2
* Control of your design^3, yet lack of control elsewhere^4
* UX freedom & creativity, yet guidance toward common patterns for usability
* Decentralized, yet DNS
* Make what you need^5, yet open source^6 for others
* Plurality^7 of projects, yet conforming to standards^8
* Build it yourself, yet use services, software, & libraries built by others
These are a few off the top of my head and implied by the IndieWeb wiki home page^9 and principles^10.
Rather than contradictions, these tensions are a source of inquiry, questions, and conversations.
Each could be expanded into their own discussion or exploration.
Each of them is an axis of sorts, with different “right” answers for different people, depending on what they want, and how much time or other resources they have.
Each makes the most sense when explored in the context of a focus on solving real user needs to participate directly on today’s web.
Each is also a trap for abstract logic, theoretical purity, or dogmatic absolutism, especially when detached from real world goals, constraints, and efforts.
This is day 22 of #100DaysOfIndieWeb #100Days, written after a break. Many double days ahead.
← Day 21: https://tantek.com/2023/022/t2/own-your-notes-domain-migration
→ 🔮
^1 https://tantek.com/2023/001/t1/own-your-notes
^2 https://indieweb.org/IndieWeb:Copyrights
^3 https://indieweb.org/design
^4 https://indieweb.org/display-guidelines
^5 https://indieweb.org/make_what_you_need
^6 https://indieweb.org/open_source
^7 https://indieweb.org/plurality
^8 https://spec.indieweb.org/
^9 https://indieweb.org/
^10 https://indieweb.org/principles
-
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
→ 🔮
^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
→ 🔮
^1 https://tantek.com/2023/008/t7/bridgy-indieweb-posse-backfeed
-
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
→ 🔮
^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
-
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 @-mention 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/015/t1/publish-indieweb-decide-distribute
→ 🔮
^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
→ 🔮
^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
-
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
→ 🔮
^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
→ 🔮
^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 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.
-
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 header image.
This is day 13 of #100DaysOfIndieWeb #100Days.
← Day 12: https://tantek.com/2023/012/t1/six-years-webmention-w3c
→ 🔮
^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
→ 🔮
-
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 @jacky.wtf @Martymcgui.re @david.shanske.com @voxpelli.com @adactio.com @marcthiele.com @mxb.dev @ben.thatmustbe.me
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://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 policy decision to auto-link all @-@ (and @-domain) mentions to https:, the reasoning being that identities on the web should be using https.
Some questions:
* Does/do Mastodon (or other ActivityPub servers) notify people when you @-@ mention them in a post? How? Who’s responsibility is 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
→ 🔮
^1 https://en.wikipedia.org/wiki/AT-AT
^2 My https://github.com/tantek/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
-
One of the fun things about #IndieWeb notes & replies is that we're still figuring things out! 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 walkers), or some have both.
We can ask the questions of 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
* For all the above, notifying someone accordingly
* Distinguish a person (or something that can be followed) from “just” a site
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 @snarfed.org @ben.thatmustbe.me
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, e.g.:
* https://adactio.com https://marcthiele.com https://mxb.dev/
3. Some folks with personal sites have (for now) created separate Mastodon accounts (or an 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://tmichellemoore.com/ (@tmichellemoore@mastodon.social), https://voxpelli.com/ (@voxpelli@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 also recently implemented syntactic auto-linking of @-@ addresses like this:
* @user@example.com --> http://example.com/@user
with a special case for @-domain@-domain to just link to the domain, e.g.:
* @tantek.com@tantek.com --> http://tantek.com/
I am considering switching these (as well as a plain @-domain) to auto-link to https: instead, the reasoning being we should expect that identities on the web should be using https.
Some questions:
* Does/do Mastodon (or other ActivityPub servers) notify people when you @-@ mention them in a post? How? Who’s responsibility is 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
→ 🔮
^1 https://en.wikipedia.org/wiki/AT-AT
^2 My https://github.com/tantek/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