Show Navigation
Notices tagged with indieweb, page 2
-
✏️ I want the Read Write Suggest-Edit Accept-Edit Update Web.
The consumer Infinite Scroll Web leaves us feeling empty.
Too few of us participate in the Read Write Web, whether with personal sites or Wikipedia.
A week ago when we wrapped up #IndieWebCamp Portland and I was reading @KevinMarks.com (@kevinmarks@indieweb.social @kevinmarks@xoxo.zone @kevinmarks) live-tooting of the demos¹, I noticed a few errors, typos or miscaptures, and pointed them out in-person.
Kevin was able to quickly edit his toots and update them for anyone reading, thanks to #Mastodon’s post editing feature and its support of #ActivityPub Updates. But this shouldn’t require being in the same room, IRL or chat.
We should be able to suggest edits to each other’s posts, as easily as we can reply and add a comment.
13 years ago I wrote²:
“The Read Write Web is no longer sufficient. I want the Read Fork Write Merge Web.”
Now I want the Read Write Suggest-Edit Accept-Edit Update Web.
The ↪ Reply button is fairly ubiquitous in modern post user interfaces (UIs).
Why not also a ✏️ Suggest Edit button, to craft a fix for a typo, grammar, or other minor error, and send the author for their review, and acceptance or rejection? Perhaps viewable only by the suggester and the author, to avoid "performative" suggested edits.
If the author’s posts provide revision histories, when a suggested edit is accepted, a post’s history could show the contributor of the edit.
Instead of asking Kevin in-person, what if I could have posted special "Suggested Edit" responses in reply to his toots, for which he would receive special notifications, and could choose to one-click accept and update (or further edit) his toots?
To enable such UIs and interactions across servers and implementations, we may need a new type of response³, perhaps with a special property (or more) to convey the edits being suggested.
There is documentation of this and similar use-cases, prior art / UIs, as well as some brainstorming on the #IndieWeb wiki:
* https://indieweb.org/edit
Our interaction after IndieWebCamp has inspired me to take another look at how can we design and prototype solutions to this problem.
For now, if you host your blog and posts as static files on GitHub (or equivalent), you could add a button like this to your posts alongside Like, Reply, Repost buttons:
✏️ Suggest Edit
and link it to an edit URL for the static file for the post.
I don’t use GitHub static files myself for posts, but here’s an example of such an edit link for one of my projects:
https://tantek.com/github/cassis/edit/main/README.md
This will start the process of creating a “pull request”, GitHub’s jargon⁴ for a “suggested edit”.
After completing GitHub’s ceremony of entering multiple text fields (summary & description), and multiple clicks to create said “pull request”, it’ll be sent to the author to review. Presuming the author likes the suggested edit, they can perform the other half of GitHub’s jargon-filled ceremonies to “Merge” or “Squash & Merge”, “Delete fork”, etc. to accept the edit.
It’s an awkward interaction⁵, however useful for at least prototyping a ✏️ Suggest Edit button on sites that store their posts as files in GitHub. Certainly worthy of experimenting with and gathering experience to design and build even better interactions.
We can start with the shortest path to getting something working, then learn, iterate, improve, repeat.
#readWriteWeb #editableWeb #suggestEdit #acceptEdit
References:
¹ https://indieweb.social/@kevinmarks/113025295600067213
² https://tantek.com/2011/174/t1/read-fork-write-merge-web-osb11
³ https://indieweb.org/responses
⁴ The phrase “pull request” was derived from the git command: “git request-pull” according to https://www.reddit.com/r/git/comments/nvahcp/comment/h12hzj7/
⁵ “edits” in GitHub require taking far more steps, and navigating far more jargon, then say, Wikipedia pages, which come down to “Edit” and “Save”. We should aspire to Wikipedia’s simplicity, not GitHub’s ceremonies.
This is post 20 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2024/242/t1/indiewebcamp-portland
→ 🔮
-
Had a great time at IndieWebCamp Portland 2024 this past Sunday — our 10th IndieWebCamp in Portland!
https://events.indieweb.org/2024/08/indiewebcamp-portland-2024-8bucXDlLqR0k
Being a one day #IndieWebCamp, we focused more on making, hacking, and creating, than on formal discussion sessions.
Nearly everyone gave a brief personal site intro with a summary of how they use their #IndieWeb site and what they would like to add, remove, or improve.
* https://indieweb.org/2024/Portland/Intros
There were lots of informal discussions, some in the main room, on the walk to and from lunch, over lunch in the nearby outdoor patio, or at tables inside the lobby of the Hotel Grand Stark.
We wrapped up with our usual Create Day¹ Demos session, live streamed for remote attendees to see as well. Lots of great demos of things people built, designed, removed, cleaned-up, documented, and blogged! Everyone still at the camp showed something on their personal site!
* https://indieweb.org/2024/Portland/Demos
Group photo and lots more about IndieWebCamp Portland 2024 at the event’s wiki page:
* https://indieweb.org/2024/Portland
Thanks to everyone who pitched in to help organize IndieWebCamp Portland 2024! Thanks especially to Marty McGuire (@martymcgui.re) for taking live notes during both the personal site intros and create day demos, to Kevin Marks (@kevinmarks@indieweb.social @kevinmarks@xoxo.zone @kevinmarks) for the IndieWebCamp live-tooting, and Ryan Barrett (@snarfed.org) for amazing breakfast pastries from Dos Hermanos.
The experience definitely raised our hopes and confidence for returning to Portland in 2025.²
References:
¹ https://indieweb.org/Create_Day
² https://indieweb.org/Planning#Portland
This is post 19 of #100PostsOfIndieWeb. #100Posts #2024_238
← https://tantek.com/2024/238/t3/indiewebcamp-auto-linking
→ https://tantek.com/2024/245/t1/read-write-suggest-edit-web
-
Had a great time at IndieWebCamp Portland 2024 this past Sunday — our 10th IndieWebCamp in Portland!
https://events.indieweb.org/2024/08/indiewebcamp-portland-2024-8bucXDlLqR0k
Being a one day #IndieWebCamp, we focused more on making, hacking, and creating, than on formal discussion sessions.
Nearly everyone gave a brief personal site intro with a summary of how they use their #IndieWeb site and what they would like to add, remove, or improve.
* https://indieweb.org/2024/Portland/Intros
There were lots of informal discussions, some in the main room, on the walk to and from lunch, over lunch in the nearby outdoor patio, or at tables inside the lobby of the Hotel Grand Stark.
We wrapped up with our usual Create Day¹ Demos session, live streamed for remote attendees to see as well. Lots of great demos of things people built, designed, removed, cleaned-up, documented, and blogged! Everyone still at the camp showed something on their personal site!
* https://indieweb.org/2024/Portland/Demos
Group photo and lots more about IndieWebCamp Portland 2024 at the event’s wiki page:
* https://indieweb.org/2024/Portland
Thanks to everyone who pitched in to help organize IndieWebCamp Portland 2024! Thanks especially to Marty McGuire (@martymcgui.re) for taking live notes during both the personal site intros and create day demos, to @KevinMarks.com (@kevinmarks@xoxo.zone @kevinmarks @kevinmarks@indieweb.social) for the IndieWebCamp live-tooting, and Ryan Barrett (@snarfed.org) for amazing breakfast pastries from Dos Hermanos.
The experience definitely raised our hopes and confidence for returning to Portland in 2025.²
References:
¹ https://indieweb.org/Create_Day
² https://indieweb.org/Planning#Portland
This is post 19 of #100PostsOfIndieWeb. #100Posts #2024_238
← https://tantek.com/2024/238/t3/indiewebcamp-auto-linking
→ 🔮
-
People over protocols over platforms.
inspired by today’s #indieweb #fediverse #ActivityPub #decentralized #socialMedia lunch meetup at #XOXO #XOXOConf (@xoxo@xoxo.zone)
This is post 16 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2024/173/t1/years-posse-microformats-adoption
→ 🔮
-
Happy 12 years of https://indieweb.org/POSSE #POSSE and
19 years of https://microformats.org/ #microformats! (as of yesterday, the 20th)
A few highlights from the past year:
POSSE (Publish on your Own Site, Syndicate Elsewhere) has grown steadily as a common practice in the #IndieWeb community, personal sites, CMSs (like Withknown, which itself reached 10 years in May!), and services (like https://micro.blog) for over a decade.
In its 12th year, POSSE broke through to broader technology press and adoption beyond the community. For example:
* David Pierce’s (@pierce@mas.to) excellent article @TheVerge.com (@verge@mastodon.social): “The poster’s guide to the internet of the future” (https://www.theverge.com/2023/10/23/23928550/posse-posting-activitypub-standard-twitter-tumblr-mastodon):
“Your post appears natively on all of those platforms, typically with some kind of link back to your blog. And your blog becomes the hub for everything, your main home on the internet.
Done right, POSSE is the best of all posting worlds.”
* David also recorded a 29 minute podcast on POSSE with some great interviews: https://podcasts.apple.com/us/podcast/the-posters-guide-to-the-new-internet/id430333725?i=1000632256014
* Cory Doctorow (@craphound.com @doctorow@mamot.fr) declared in his Pluralistic blog (@pluralisticmamot.fr) post: “Vice surrenders” (https://pluralistic.net/2024/02/24/anti-posse/):
“This is the moment for POSSE (Post Own Site, Share Everywhere [sic]), a strategy that sees social media as a strategy for bringing readers to channels that you control”
* And none other than Molly White (@mollywhite.net @molly0xfff@hachyderm.io) of @web3isgoinggreat.com (@web3isgreat@indieweb.social) built, deployed, and started actively using her own POSSE setup as described in her post titled “POSSE” (https://www.mollywhite.net/micro/entry/202403091817) to:
"… write posts in the microblog and automatically crosspost them to Twitter/Mastodon/Bluesky, while keeping the original post on my site."
Congrats Molly and well done!
In its 19th year, the microformats formal #microformats2 syntax and popular vocabularies h-card, h-entry, and h-feed, kept growing across IndieWeb (micro)blogging services and software like CMSs & SSGs both for publishing, and richer peer-to-peer social web interactions via #Webmention.
Beyond the IndieWeb, the rel=me microformat, AKA #relMe, continues to be adopted by services to support #distributed #verification, such as these in the past year:
* Meta Platforms #Threads user profile "Link" field¹
* #Letterboxd user profile website field²
For both POSSE and microformats, there is always more we can do to improve their techniques, technologies, and tools to help people own their content and identities online, while staying connected to friends across the web.
Got suggestions for this coming year? Join us in chat:
* https://chat.indieweb.org/dev
* https://chat.indieweb.org/microformats
for discussions about POSSE and microformats, respectively.
Previously: https://tantek.com/2023/171/t1/anniversaries-microformats-posse
This is post 15 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2024/151/t1/minimum-interesting-service-worker
→ 🔮
Post glossary:
CMS
https://indieweb.org/CMS
h-card
https://microformats.org/wiki/h-card
h-entry
https://microformats.org/wiki/h-entry
h-feed
https://microformats.org/wiki/h-feed
microformats2 syntax
https://microformats.org/wiki/microformats2-parsing
rel-me
https://microformats.org/wiki/rel-me
SSG
https://indieweb.org/SSG
Webmention
https://indieweb.org/Webmention
Withknown
https://indieweb.org/Known
References:
¹ https://tantek.com/2023/234/t1/threads-supports-indieweb-rel-me
² https://indieweb.org/rel-me#Letterboxd
-
Yesterday I proposed the idea of a “minimum interesting service worker” that could provide a link (or links) to archives or mirrors when your site was unavailable as one possible solution to the desire to make personal #indieweb sites more reliable by providing at least a user path to “soft repair” links to your site that may otherwise seem broken.
Minimum because it only requires two files and one line of script in site footer template, and interesting because it provides both a novel user benefit and personal site publisher benefits.
The idea occurred to me during an informal coffee chat over Zoom with a couple of other Indieweb community folks yesterday, and afterwards I braindumped a bit into the IndieWeb Developers Chat channel¹. Figured it was worth writing up rather than waiting to implement it.
Basic idea:
You have a service worker (and “offline” HTML page) on your personal site, installed from any page on your site, that all it does is cache the offline page, and on future requests to your site checks to see if the requested page is available, and if so serves it, otherwise it displays your offline page with a “site appears to be unreachable” message that a lot of service workers provide, AND provides an algorithmically constructed link to the page on an archive (e.g. Internet Archive) or static mirror of your site (typically at another domain).
This is minimal because it requires only two files: your service worker (a JS file) and your offline page (a minimal self-contained static HTML file with inline CSS). Doable in <1k bytes of code, with no additional local caching or storage requirements, thus a negligible impact on site visitors (likely less than the cookies that major sites store).
User benefit:
If someone has ever visited your personal site, then in the future whenever they click a link to your pages or posts, if your site/domain is unavailable for any reason, then the reader would see a notice (from your offline page) and a link to view an archive/mirror copy instead, thus providing a one-click ability for the reader to “soft-repair” any otherwise apparently broken links to your site.
Personal site publisher benefits:
Having such a service worker that automatically provides your readers links to where they can view your content on an archive or mirror means you can go on vacation or otherwise step away from your personal site, knowing that if it does go down, (at least prior) site visitors will still have a way to click-through and view your published content.
Additional enhancements:
Ideally any archive or mirror copies would use rel=canonical to link back to the page on your domain, so any crawlers or search engines could automatically prefer your original page, or browsers could offer the user a choice to “View original”. You can do that by including a rel=canonical link in all your original pages, so when they are archived or mirrored, those copies automatically include a rel=canonical link back to your original page or post.
The simplest implementation would be to ping the Internet Archive to save² your page or post upon publishing it. You could also add code to your site to explicitly generate a static mirror of your pages, perhaps with an SSG or crawler like Spiderpig, to a GitHub repo, which is then auto-served as GitHub static pages, perhaps on its own domain yet at the same paths as your original pages (to make it trivial to generate such mirror links automatically).
If you’re using links to the Internet Archive, you can generate them automatically by prefixing your page URL with https://web.archive.org/web/*/ e.g. this post:
https://web.archive.org/web/*/https://tantek.com/2024/151/t1/minimum-interesting-service-worker
Possible generic library:
It may be possible to write this minimum interesting service worker (e.g. misv.js) as a generic (rather than site-specific) service worker that literally anyone with a personal site could “install” as is (a JS file, an HTML file, and a one-line script tag in their site-wide footer) and it would figure everything out from the context it is running in, unchanged (zero configuration necessary).
This is post 14 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2024/072/t1/created-at-indiewebcamp-brighton
→ 🔮
Post glossary:
GitHub static pages
https://indieweb.org/GitHub_Pages
HTML
https://indieweb.org/HTML
JS
https://indieweb.org/js
rel-canonical
https://indieweb.org/rel-canonical
service worker
https://indieweb.org/service_worker
Spiderpig
https://indieweb.org/Spiderpig
SSG
https://indieweb.org/SSG
References:
¹ https://chat.indieweb.org/dev/2024-05-29#t1717006352142600
² https://indieweb.org/Internet_Archive#Trigger_an_Archive
-
The Library of Infinite Loan is a physical world practice I conceived of many many years ago¹, implemented in minimal prototype form 5+ years ago², shared a summary with the #IndieWeb community at least four years ago at the #IndieWebCamp Austin in 2020³ and last year in IndieWeb chat⁴, so it’s about time⁵ I wrote it down.
Summary: lend a #book from your personal library⁶ to a friend, on the conditions that they do not donate sell or dispose of it, and instead when they are done with it they return it or lend it to someone else who agrees to these conditions.
My goal was to create a book lending system that:
* preserves books — effectively in a giant #distributed communal #library
* makes lending easier fiscally, psychologically, emotionally for both parties
* encourages direct person-to-person lending without intermediaries
* grows a culture of non-zero-sum sharing, preservation, and longterm thinking
The basic steps to create a Library of Infinite Loan:
1. Create a separate space (like a particular bookshelf) for #books to infinite lend. A small shelf in a guest room or common space like a hallway works well.
2. Move books there that you are ok lending out and never seeing again
3. Label that space your “Library of Infinite Loan”, or invite guests to borrow from your “Library of Infinite Loan”
4. When visitors ask what that means, explain the Rules
Rules for borrowing from a Library of Infinite Loan (“the Rules”)
1. Keep it as long as you like
2. Do not sell donate or otherwise dispose of it
3. You may give it
a. back to the person you borrowed from
b. or back to its original purchaser if they wrote their name and web address inside
c. or (lend it) to someone else who agrees to the Rules
There are several ways to extend / expand the Library of Infinite Loan:
* custom book plate: design a custom book plate for yourself with room for your name (and web address) on it e.g. “From Tantek’s (@tantek.com) Library” (with space), print it on longterm adhesive paper, and place it inside new books you purchase. When you move a book to your Library of Infinite Loan, amend the book plate to say ”… Library of Infinite Loan” and attach a copy of the Rules.
* add a “borrowers log” with blank lines for anyone you lend it to or they lend it to, transitively, to optionally add their name, web address, and a date of borrowing. Then amend the rules to allow returning a book to who you borrowed from or anyone in the borrower log or original purchaser.
* more media: CDs, vinyl records, DVDs, LaserDiscs, VHS, cassette tapes, video game cartridges etc.
* other things
* large tools — which usually come in a box with instruction manual, so there’s a logical place to put an “owners plate”, “borrowers log”, and copy of the rules.
* artwork — a great way to rotate art among a community
This is what I remember off the top of my head and with a little web searching. I know I have a bunch more notes in various places of my thoughts (and conversations) over the years about a Library of Infinite Loan. As I find those notes, I’ll post them as well.
#infiniteLoan #libraryOfInfiniteLoan
References:
¹ I’m looking through old personal logs for earliest mentions of “infinite loan”
² In my 2019 personal log I found a note that I “moved some books as library of infinite loan to guest room” where I had previously setup a small bookshelf for such books.
³ https://indieweb.org/2020/Austin/reading
⁴ https://chat.indieweb.org/2023-10-01#t1696202307311300
⁵ I was also inspired by sharing the idea again to a couple of friends in an espresso-making livestream this morning
⁶ https://indieweb.org/personal_library
-
Last week I participated @W3.org (@w3c@w3c.social) #W3CAC (W3C Advisory Committee¹), #W3CAB (W3C Advisory Board² @ab@w3c.social), and #W3CBoard³ meetings in Hiroshima, Japan.
The W3C Process⁴ describes the twice a year AC (Advisory Committee) Meetings⁵. In addition to members of the AC (one primary and one alternate per W3C Member Organization), the meetings are open to the AB (Advisory Board), the Board of the W3C Corporation, the #w3cTAG (W3C Technical Architecture Group⁶ @tag@w3c.social), Working Group⁷ chairs, Chapter⁸ staff, and this time also a W3C Invited Expert designated observer⁹.
The AC currently meets in the Spring on its own and a shorter meeting in the Fall as part of the annual #W3CTPAC (W3C Technical Plenary and Advisory Committee¹⁰ meetings). The existence, dates, and location of the event are public¹¹, however the agenda, minutes, and registrants are generally Member-confidential. Since those individual links have their own access controls, I collected them on a publicly-viewable wiki page for easier discovery & navigation (if you work for a W3C Member Organization¹²):
* https://www.w3.org/wiki/AC/Meetings#2024_Spring
Most of the W3C meeting materials and discussions were also W3C Member-confidential, however a several of the presentations are publicly viewable, and a few more may be shared publicly after the fact.
Myself and others at #W3C who believe in pushing for more openness and transparency in standards work, even (or especially) governance of said work, will be doing our best to work with others at W3C to continue shifting our work accordingly.
Aside: I started the #OpenAB project when I was first elected to the AB (Advisory Board) in 2013, documenting it on the publicly viewable W3C Wiki, and updated it with the help of others since: https://www.w3.org/wiki/AB#Open_AB
Like most conferences, I got as much out of side conversations at breaks (AKA hallway track¹³) and meals as I did from scheduled talks and panels.
For now, here are the events, slides, and videos which are publicly viewable that provide an interesting glimpse into some of the topics discussed:
* 📄 report: https://www.w3.org/reports/ai-web-impact/
* 🖼 slides: https://www.w3.org/2024/Talks/ac-slides/engaging-the-members/
* 🖼 slides: https://www.w3.org/2024/Talks/ac-slides/exploration/
* 🖼 slides: https://www.w3.org/2024/Talks/ac-slides/OHCHR.pdf
* ▶️ video 5m42s: https://customer-0kix77mxh2zzzae0.cloudflarestream.com/9ad1e01b20d9b15d413f02c0ada3fe34/watch
* ▶️ video 4m16s: https://customer-0kix77mxh2zzzae0.cloudflarestream.com/1bfde2bf614d7535b8a775217a949974/watch
* 🗓 event: https://www.w3.org/events/meetings/13213a52-8159-4af8-b939-38c7880ba266/
* 🖼 slides: https://www.w3.org/2024/Talks/ac-slides/lt-deepfake/
* 🖼 slides: https://www.w3.org/2024/Talks/ac-slides/lt-accessing-llms-data/
* 🖼 slides: https://www.w3.org/2024/Talks/ac-slides/pac-data-sovereignty/ (nice #IndieWeb mention)
* 🖼 slides: https://www.w3.org/2024/Talks/ac-slides/intro-content-credentials.pdf
* 🖼 slides: https://w3c.github.io/adapt/presentations/ac2024/ Warning: the proposed use of .well-known therein is IMO a bad mistake. Unnecessary reinvention (most handled by existing rel values¹⁴), more complex to author (requires sidefiles¹⁵), harder to publish (requires site admin root access), likely to become inaccurate (Ruby’s postulate¹⁶), and fragile (site admins frequently break .well-known for individual pages). A full critique likely requires its own blog post.
* 🗓 event: https://www.w3.org/events/meetings/df0b9dd8-2356-47ec-839d-eadc06da1ca1/
I’ll update this list with additional resources as they are made publicly viewable.
If you work for a W3C Member Organization you can view the full list of resources linked from the Member-confidential agenda: https://www.w3.org/2024/04/AC/ac-agenda.html#monday
References:
¹ https://w3.org/wiki/AC
² https://w3.org/wiki/AB
³ https://w3.org/wiki/Board
⁴ https://www.w3.org/Consortium/Process/
⁵ https://www.w3.org/2023/Process-20231103/#ACMeetings
⁶ https://w3.org/tag
⁷ https://www.w3.org/groups/wg/
⁸ https://chapters.w3.org/
⁹ https://www.w3.org/invited-experts/#ac-observer
¹⁰ https://www.w3.org/wiki/TPAC
¹¹ https://www.w3.org/events/ac/2024/ac-2024/
¹² https://www.w3.org/membership/list/
¹³ https://en.wiktionary.org/wiki/hallway_track
¹⁴ https://microformats.org/wiki/existing-rel-values
¹⁵ https://indieweb.org/sidefile-antipattern
¹⁶ https://intertwingly.net/slides/2004/devcon/68.html
-
@indieweb.org/POSSE in effect!
Well done @joanwestenberg@threads.net 🙌🏻
#POSSE threads
https://www.threads.net/@joanwestenberg/post/C43gPbVSzPI:
“Me: You should publish on your own website first, then other platforms.
Me: Publishes on my own website first, then other platforms.
Galaxy brains: HOW IRONIC YOU PUBLISH ON OTHER PLATFORMS”
#IndieWeb
-
While an HTML style element for inline CSS needs nothing but simple start and end tags (as of HTML5 and later)
<style>
p { margin:0 }
</style>
a more robust style element requires a precise series of overlapping code comments.
Here is the answer if you want a code snippet to copy & paste
<style><!--/*--><![CDATA[*/
p { margin:0 } /* you may delete this sample style rule */
/*]]><!--*/--></style>
Here is why:
1. Not all HTML processors are CSS processors. While all modern browsers know how to parse CSS in style elements inside HTML, it is still quite reasonable for people to build HTML processors that do not, and many exist. There are plenty of ways that errant or deliberately misplaced markup inside a style element, like in a CSS comment, that such processors will not see, that can break them and cause unexpected and different results in different processors.
Thus it makes your HTML more parseable, by more processors, if you can hide the entirety of the style sheet inside the style elmenet from such processing. A CDATA section does exactly that:
<style><![CDATA[
p { margin:0 } /* CDATA allows a </style> here to not close the element */
body > p { margin:1em } /* CDATA allows an unescaped > child combinator */
]]></style>
2. However CSS syntax does not recognize a CDATA directive (even as of the latest published CSS Syntax Module Level 3¹ or editor's draft² as of this writing). CSS parsers may very well treat a CDATA directive as a syntax error that invalidates the subsequent style rule.
Thus we must hide the CDATA directive, its opening and closing markup, from CSS parsers. CSS code comments /* ... */ can do exactly that:
<style>/* <![CDATA[*/
p { margin:0 } /* CDATA allows a </style> here to not close the element */
body > p { margin:1em } /* CDATA allows an unescaped > child combinator */
/*]]>*/</style>
3. This is close but still exposes HTML processors that do not process CSS to a minimal bit of content, the CSS comment opener and closer that are outside the CDATA section:
/* */
This recently showed up in a draft of the This Week in The #IndieWeb newsletter³, because portions of it are automatically constructed by parsing the HTML of MediaWiki pages for content, and one of those used a MediaWiki template that included a minimal style element to style the marked up content inserted by the template. A draft of the newsletter was showing raw CSS, extracted as text from the style element by the CSS-unaware parser extracting content. I was able to hide nearly all of it using CSS comments around the CDATA section opener and closer. Except for that little bit of CSS comment noise outside the CDATA section: /* */
Fortunately there is one more tool in our toolbox that we can use. Simple HTML/SGML comments <!-- --> are ignored at the start and end of style sheets⁴ (noted there as CDO-token⁵ and CDC-token⁶), and thus we can use those to hide the last two remaining CSS comment pieces that were leaking out, like this: <!-- /* --> and <!-- */ -->. Note that the portion of the HTML comment directives that are inside CSS comments are ignored by CSS processors, which is why this works for both processors that parse CSS and those that do not.
This last addition produces our answer, with no fewer than three different comment mechanisms (CDATA, CSS, HTML/SGML), overlapping to hide each other from different processors:
<style><!--/*--><![CDATA[*/
p { margin:0 } /* CDATA allows a </style> here to not close the element */
body > p { margin:1em } /* CDATA allows an unescaped > child combinator */
/*]]><!--*/--></style>
By replacing those informative style rules with a style rule to be deleted, we have recreated the code snippet to copy & paste from the top of the post:
<style><!--/*--><![CDATA[*/
p { margin:0 } /* you may delete this sample style rule */
/*]]><!--*/--></style>
Q.E.D.
Afterword:
If you View Source on this original permalink or my home page you can see the more robust style element in a real world example, following the IndieWeb Use What You Make⁷ principle.
#CSS #style #styleElement #styleSheet #HTML #HTML5 #CSSsyntax #codecomments
Glossary:
CDATA
https://en.wikipedia.org/wiki/CDATA
CSS — Cascading Style Sheets
https://en.wikipedia.org/wiki/CSS
HTML — HyperText Markup Language
https://en.wikipedia.org/wiki/HTML
HTML5
https://en.wikipedia.org/wiki/HTML5
IndieWeb Principles
https://indieweb.org/principles
MediaWiki
https://en.wikipedia.org/wiki/MediaWiki
original permalink
https://indieweb.org/original_permalink
Q.E.D.
https://en.wikipedia.org/wiki/Q.E.D.
References:
¹ https://www.w3.org/TR/css-syntax-3/
² https://drafts.csswg.org/css-syntax/
³ https://indieweb.org/this-week-in-the-indieweb
⁴ https://www.w3.org/TR/css-syntax-3/#stylesheet-diagram
⁵ https://www.w3.org/TR/css-syntax-3/#CDO-token-diagram
⁶ https://www.w3.org/TR/css-syntax-3/#CDC-token-diagram
⁷ https://indieweb.org/use_what_you_make
-
What I created while remotely participating at #IndieWebCamp Brighton 2024: wiki-gardened day 1’s BarCamp sessions notes pages, and documented my @-mention @-@-mention autolinking coding improvements I built the Sunday before.
Day 2 of IndieWebCamps is Create Day, where everyone is encouraged to create, make, or build something for their personal website, or the IndieWeb community, or both.
At the start of day 2, everyone is encourage to pick things to make¹. What to make at an IndieWebCamp² can be anything from setting up your personal website, to writing a blog post, redesigning your styling, building new features, helping other participants, or contributing to shared IndieWeb community resources, whether code or content.
Everyone is encouraged to at least pick something they consider easy, that they can do in less than an hour, then a more bold goal, and then perhaps a stretch goal, something challenging that may require collaboration, asking for help, or breaking into smaller steps.
For my "easy" task, I built on what another remote participant, @gregorlove.com completed the night before. gRegor had archived all the IndieWebCamp Brighton Sessions Etherpads onto the wiki, linked from the Schedule page³. gRegor had noted that he didn’t have time to clean-up the pages, e.g. convert and fix Markdown links.
I went through the 13 Session Notes archives and did the following:
* converted Markdown links to MediaWiki links
* converted indieweb.org (and some services) links to local wiki page links
* fixed (some) typos
With some help from @alexsirac.com (@alexture@todo.eu), I figured out how to create a MediaWiki Contributions summary link of my edits:
* https://indieweb.org/wiki/index.php?title=Special:Contributions&target=Tantek.com&namespace=all&start=2024-03-10&end=2024-03-10&offset=20240310143900&limit=25
I point this out to provide an example of an IndieWeb Create Day project that is:
* incremental on top of someone else’s work
* community contribution rather a personal-focused project
* editing and wiki-gardening as valid contributions, not just creating new content
I point this out to illustrate some of the IndieWeb community's recognitions & values in contrast to typical corporate cultures and incentive systems which often only reward:
* new innovations (not incremental improvements)
* solo (or maybe jointly in a small team) inventions, designs, specs, or implementations
* something large, a new service or a big feature, not numerous small edits & fixes
In this regard, the IndieWeb community shares more in common with Wikipedia and similar collaborative communities (despite the #Indie in #IndieWeb), than any corporation.
For my "more bold" goal, I wrote a medium-sized post about the auto-linking improvements I made the Sunday before the IndieWebCamp to my personal website with examples and brief descriptions of the coding changes & improvements.
* https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases
My stretch goal was to write up a more complete auto-linking specification, based on the research I have done into @-mention @-@-mention user practices (on #Mastodon, other #ActivityPub or #fediverse implementations, and even across #socialMedia silos), as well as how implementations link URLs, domains, and paths.
That stretch goal remains a goal, however I did collect a handful of prior posts on @-mentions which I plan to source for specifying auto-linking and @-mentioning:
* https://tantek.com/2023/011/t1/indieweb-evolving-at-mention
* https://tantek.com/2023/014/t4/domain-first-federated-atmention
* https://tantek.com/2023/018/t1/elevate-indieweb-above-silo
* https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo
* https://tantek.com/2023/109/t2/years-ago-first-federated-indieweb-thread
#autoLink #atDomain #atPath #atMention #atMentions #atat #atAtMention
I was one of a few remote participants in addition to ~18 in-person participants, the overwhelming majority of overall attendees, who demonstrated something at the end of IndieWebCamp Brighton 2024 day 2. See what everyone else made & demonstrated on Create Day:
* https://indieweb.org/2024/Brighton/Demos
This is post 13 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases
→ 🔮
Glossary:
Create Day
https://indieweb.org/Create_Day
IndieWebCamp Brighton 2024
https://indieweb.org/2024/Brighton
References:
¹ https://indieweb.org/IndieWebCamps/Attending#Day_Two
² https://indieweb.org/what_to_make_at_IndieWebCamp
³ https://indieweb.org/2024/Brighton/Schedule#Saturday
-
New this week: the #IndieWeb community deployed a major modern update to the design, usability, and cross-device support of the https://indieweb.org/ home page and wiki in general! In brief:
* Updated MediaWiki install, updated themes, better mobile device support
* New default theme: Vector (2022), the same as English Wikipedia
* Lots of CSS fixes for content, sidebars, etc.
* Home page content simplification and more pleasing design update
Lots more details on the 2024 homepage and design update project page:
* https://indieweb.org/2024/homepage
This was a community effort, with many people pitching in with major & minor contributions, spending weeks, days, hours, or a few minutes here and there helping out. From server work, to PHP coding, to HTML+CSS (re)coding, to testing variants of MediaWiki themes, browsers, and devices.
Huge thanks in particular to @PaulRobertLloyd.com for both driving this design update (e.g. said project page) and doing the heavy lifting of debugging, patching, and testing the latest MediaWiki Vector theme, documenting before & after screenshots, and @AaronParecki.com for all the server-side software updates, PHP/IndieAuth wrangling, and critical devops too.
Go try the new https://indieweb.org/ on any browser, on any device, and share your experience!
#IndieNews
This is post 11 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2024/046/t1/the-ephemeral-web
→ 🔮
-
A couple of days ago in an informal discussion in the #indieweb chat channel about how different people view #Mastodon, the #fediverse, or #Bluesky, and services like #Bridgy & #BridgyFed quite differently, I noted¹ that one big unspoken difference was how things on the web last over time, from the traditional persistent web, vs the newer and growing ephemeral web.
There is the publicly viewable #OpenWeb that many of us take for granted, meaning the web that is persistent, that lasts over time, and thanks to being #curlable, that the Internet Archive archives, and that a plurality of search engines see and index (robots.txt allowing). The HTML + CSS + media files declarative web.
Then there are the https APIs that return JSON "web", the thing that I’ve started calling the ephemeral web, the set of things that are here today, briefly, gone tomorrow. I’ve previously used the more provocative phrase js;dr (JavaScript required, Didn’t Read) for this #ephemeralWeb, yet like many things, it turns out there is a spectrum from ephemeral to persistent.
One popular example on that spectrum that’s closer to the ephemeral edge is anything on a Mastodon server running v4 (or later as of this writing) of the software. (I’m not bothering to discuss the examples of walled garden social media silos because I expect we will continue to see their demise² over time.)
For example, the Internet Archive version of the shutdown notice for the queer(.)af Mastodon server, is visibly blank:
https://web.archive.org/web/20240112165635/https://queer.af/@postmaster/111733741786950083
Note: only a single Internet Archive snapshot was made of that post.
However if you View Source, you can find the entirety of that #queerAF post duplicated across a couple of invisible-to-the-user meta tags inside the raw HTML:
"**TL;DR: Queer[.]AF will close on 2024-04-12** …"
[.] added to avoid linking to a dead domain.
Note: such meta tags in js;dr pages were part of the motivation to specify metaformats.
To be clear, the shutdown of queer(.)af was a tragedy and not the fault of the creators, administrators etc., but rather one of the unfortunate outcomes of using some ccTLDs, country-code top level domains, that risk sudden draconian rules, domain renewal price hikes, or other unpredictable risks due to the politics, turmoil, regime changes etc. of the countries that administrate such domains.
Nearly the entirety of every Mastodon server, every post, every reply, is ephemeral.
When a Mastodon server shuts down, all its posts disappear from the surface of the web, forever.
Perhaps internet archeologists of the future will discover such dead permalinks, check the Internet Archive, find apparent desolation, and a few of them will be curious enough to use View Source tools to unearth parts of those posts, unintentionally preserved inside ceremonial meta tags next to dead scripts disconnected from databases and an empty shell of a body.
All reply-contexts of and replies to such posts and conversations lost, like threads unraveled from an ancient tapestry, scattered to the winds.
If you’re reading this post in your Mastodon reader, on either the website of your Mastodon account, or in a proprietary native client application, you should be able to click through, perhaps on the date-time stamp displayed to you, to view the original post on my website, where it is served in relatively simple declarative HTML + CSS with a bit of progressive enhancement script.
Because I serve declarative content, my posts are both findable across a variety of services & search engines, and archived by the Internet Archive. Even if my site goes down, snapshots or archives will be viewable elsewhere, with nearly the same fidelity of viewing them directly on my site.
This design for longevity is both deliberate, and the default for which the web was designed. It’s also one of the explicit principles in the IndieWeb community.
If that resonates with you, if creating, writing, & building things that last matter to you, choose web tools, services, and software that support the persistence & longevity of your work.
#persistentWeb #longWeb #LongNow
This is post 10 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2024/035/t2/indiewebcamp-brighton-tickets-available
→ 🔮
Post glossary:
API (Application Programming Interface)
https://indieweb.org/API
Bluesky
https://indieweb.org/Bluesky
Bridgy
https://brid.gy/
Bridgy Fed
https://fed.brid.gy/
ccTLD (country-code top level domain)
https://indieweb.org/ccTLD
curlable
https://indieweb.org/curlable
declarative web
https://www.mozilla.org/en-US/about/webvision/full/#thedeclarativeweb
Internet Archive
https://archive.org/
js;dr (JavaScript required; Didn’t Read)
https://tantek.com/2015/069/t1/js-dr-javascript-required-dead
JSON
https://indieweb.org/JSON
longevity
https://indieweb.org/longevity
Mastodon
https://indieweb.org/Mastodon
metaformats
https://microformats.org/wiki/metaformats
permalink
https://indieweb.org/permalink
principles in the IndieWeb community
https://indieweb.org/principles
progressive enhancement
https://indieweb.org/progressive_enhancement
reply
https://indieweb.org/reply
reply-context
https://indieweb.org/reply-context
robots.txt
https://indieweb.org/robots_txt
social media
https://indieweb.org/social_media
silo
https://indieweb.org/silo
View Source
https://firefox-source-docs.mozilla.org/devtools-user/view_source/index.html
¹ https://chat.indieweb.org/2024-02-13#t1707845454695700
² https://indieweb.org/site-deaths
-
Twenty years and two days ago, @KevinMarks.com (@KevinMarks@xoxo.zone @KevinMarks) and I introduced #microformats in a conference presentation.
I wrote a long retrospective last year: https://tantek.com/2023/047/t1/nineteen-years-microformats
Since that post nearly a year ago, here are the top three updates & interesting developments in microformats:
1. Growing rel=me adoption for distributed verification (✅ in Mastodon etc.)
* Wikipedia: https://tantek.com/2023/139/t1/wikipedia-supports-indieweb-rel-me
* Threads: https://tantek.com/2023/234/t1/threads-supports-indieweb-rel-me
* omg.lol profile links by default: https://home.omg.lol/info/profile-items
2. A proposal to merge h-review into h-entry, since reviews are in practice always entries with a bit more information:
* https://github.com/microformats/h-entry/issues/32
3. #metaformats adoptions, implementations, and iteration
* There was growing practical interest in metaformats, so I updated the spec accordingly
* A half dozen implementations shipped: https://indieweb.org/metaformats#IndieWeb_Examples
* Active discussion for evolving metaformats to support more real world use-cases: https://github.com/microformats/metaformats/issues
Hard to believe it’s been 20 years of iterating and evolving microformats, to #microformats2, growing adoption as #IndieWeb building blocks, distributed verification (those green checkmarks) in #Mastodon and across the #fediverse, and implementing metaformats parsing to standardize parsing various meta tags for link previews into equivalent microformats2.
From last year’s activity, it’s clear there’s more use-cases, implementer interest, and community activity than ever. Looking forward to seeing what we can build in 2024.
Post Glossary
h-entry
https://microformats.org/wiki/h-entry
h-review
https://microformats.org/wiki/h-review
link-preview
https://indieweb.org/link-preview
metaformats
https://microformats.org/wiki/metaformats
microformats
https://microformats.org/wiki/
microformats2
https://microformats.org/wiki/microformats2
rel-me
https://microformats.org/wiki/rel-me
-
Twenty years and two days ago, @KevinMarks.com (@KevinMarks@xoxo.zone @KevinMarks) and I introduced #microformats in a conference presentation.
I wrote a long retrospective last year: https://tantek.com/2023/047/t1/nineteen-years-microformats
Since that update nearly a year ago, here are the top three interesting developments in microformats:
1. Growing rel=me adoption for distributed verification:
* Wikipedia: https://tantek.com/2023/139/t1/wikipedia-supports-indieweb-rel-me
* Threads: https://tantek.com/2023/234/t1/threads-supports-indieweb-rel-me
* omg.lol profile links by default: https://home.omg.lol/info/profile-items
2. A proposal to merge h-review into h-entry, since reviews are in practice always entries with a bit more information:
* https://github.com/microformats/h-entry/issues/32
3. #metaformats adoptions, implementations, and iteration
* There was growing practical interest in metaformats, so I updated the spec accordingly
* A half dozen implementations shipped: https://indieweb.org/metaformats#IndieWeb_Examples
* Active discussion for evolving metaformats to support more real world use-cases: https://github.com/microformats/metaformats/issues
Hard to believe it’s been 20 years of iterating and evolving microformats, to #microformats2, growing adoption as #IndieWeb building blocks, distributed verification (those green checkmarks) in #Mastodon and across the #fediverse, and implementing metaformats parsing to standardize parsing various meta tags for link previews into equivalent microformats2.
From last year’s activity, it’s clear there’s more use-cases, implementer interest, and community activity than ever. Looking forward to seeing what we can build in 2024.
Post Glossary
h-entry
https://microformats.org/wiki/h-entry
h-review
https://microformats.org/wiki/h-review
link-preview
https://indieweb.org/link-preview
metaformats
https://microformats.org/wiki/metaformats
microformats
https://microformats.org/wiki/
microformats2
https://microformats.org/wiki/microformats2
rel-me
https://microformats.org/wiki/rel-me
-
#Brighton #London and other #England & #Europe friends:
🎪 #IndieWebCamp Brighton tickets are available!
🎟 https://ti.to/indiewebcamp/brighton-2024
🗓 2024-03-09…10
🏢 The Skiff, Brighton, England
🌐 https://indieweb.org/2024/Brighton
Grab an in-person ticket (limited capacity) then optionally add yourself to the list of participants: https://indieweb.org/2024/Brighton#In_person
For more information, see organizer @paulrobertlloyd.com (@paulrobertlloyd@mastodon.social)’s post: https://paulrobertlloyd.com/2024/032/a1/indiewebcamp_brighton/
Also check out @ClearLeft.com (@clearleft@mastodon.social @clearleft)’s “Patterns Day” (https://patternsday.com/) in Brighton the Thursday (2024-03-07) beforehand!
Previously: https://tantek.com/2024/022/t1/indiewebcamp-brighton-planned
This is post 9 of #100PostsOfIndieWeb. #100Posts #IndieWeb
← https://tantek.com/2024/035/t1/greshams-law-developers-users-jargon
→ 🔮
-
Similar to @paulgraham.com (@paulg@mas.to @paulg)’s 2008 observation about trolls¹, there’s a sort of Gresham's Law of developers (vs users): developers are willing to use a forum with a lot of users in it, but users aren’t willing to use a forum with a lot of developer-speak.
Whether such forums are email lists, chat (IRC, #Matrix, #Slack, #Discord), or, well, online forums (#Reddit, #HackerNews), when discussions either start or shift into technical details, jargon, or acronyms, users (in a very broad sense) tend to stop participating, and sometimes leave, never to return.
Users in this context are anyone with a desire (or a preference) not to chat or even be bothered spending time reading about technical plumbing & #jargon, and see such discussions as a distraction at best, and more like noise to be avoided.
Paraphrasing Paul Graham again: once technical details, jargon, acronyms “take hold, it tends to become the dominant culture” and discourages users from showing up, discussing user-centric topics, or even staying in said forum.
The #IndieWeb community started in 2011 as a single #indiewebcamp IRC channel (no email list²) because it was tightly coupled to IndieWebCamp events, which were both highly technical and yet focused on actually making things work on your personal site that you need³, that you will use⁴ yourself. Conversations bridged real world use-cases and technical details.
It only took us five years after the first IndieWebCamp in Portland to recognize that the community had grown beyond the events, and had a clear need for a separate place for deep discussions of developer topics.
As part of renaming the community from IndieWebCamp to IndieWeb⁵, we created the #indieweb-dev (dev) channel for such technical topics like protocols, formats, tools, coding libraries, APIs, and any other acronyms or jargon.
The community did a good job of keeping technical topics in the dev channel, and encouraging new folks in the main #indieweb channel who started technical conversations to continue them in the dev channel.
Still, it was too easy for user-centric topics to veer into technical territory. It often felt more natural to continue a thread in the channel it started rather than break to another channel. There was also a need for regular community labor to nudge developer conversations to the developer chat channel.
We had already started documenting IndieWeb related jargon⁶ on the wiki and turned it into a MediaWiki Category so we could tag individual pages as jargon and have them automatically show-up in a list. Soon after, @aaronparecki.com (@aaronpk@aaronparecki.com) added a heuristic to the friendly channel bot Loqi to recognize when people started using jargon in the main IndieWeb chat channel and nudge⁷ them to the development channel.
Having Loqi do some of the gentle nudging has helped, though it‘s still quite easy for even the experienced folks in the community to get drawn into a developer conversation on main as it were.
We’ve documented both a summary and lengthier descriptions of channel purposes⁸ which help us remind each other, as well as provide a guide to newcomers.
Both experienced community members and newcomers share much of the user-centric focus of the IndieWeb, the IndieWeb being for everyone⁹, whether developer, hobbyist, or someone who wants an independent presence on the web without bothering with technical details. Whether some of us want to code or not, we all want to use our IndieWeb sites to express ourselves on the web, to use our sites instead of depending on social media silos. That shared purpose keeps us focused.
It takes a village: eternal community vigilance is the price of staying user-centric and welcoming to newcomers.
The ideas behind this post were originally shared in the IndieWeb meta chat channel.¹⁰
This is post 8 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2024/033/t1/earthquake-sanfrancisco-shifted
→ 🔮
Post glossary:
development channel (indieweb-dev)
https://indieweb.org/discuss#dev
Discord
https://indieweb.org/Discord
format
https://indieweb.org/format
Hacker News (HN)
https://indieweb.org/Hacker_News
IndieWeb
https://indieweb.org/IndieWeb
IndieWebCamp
https://indieweb.org/IndieWebCamp
IRC
https://indieweb.org/IRC
jargon
https://indieweb.org/jargon
Loqi
https://indieweb.org/Loqi
main IndieWeb chat channel (on main)
https://indieweb.org/discuss#indieweb
Matrix
https://indieweb.org/Matrix
meta chat channel
https://indieweb.org/discuss#meta
MediaWiki Category
https://www.mediawiki.org/wiki/Project:Categories
plumbing
https://indieweb.org/plumbing
protocol
https://indieweb.org/protocol
Reddit
https://indieweb.org/Reddit
tools
https://indieweb.org/tools
Slack
https://indieweb.org/Slack
social media silos
https://indieweb.org/silos
¹ https://www.paulgraham.com/trolls.html (2008 essay, HN still succumbed to trolling)
² https://indieweb.org/discuss#Email
³ https://indieweb.org/make_what_you_need
⁴ https://indieweb.org/use_what_you_make
⁵ https://indieweb.org/rename_to_IndieWeb
⁶ https://indieweb.org/jargon
⁷ https://indieweb.org/Category:jargon#Loqi_Nudge
⁸ https://indieweb.org/discuss#Chat_Channels_Purposes
⁹ https://tantek.com/2024/026/t3/indieweb-for-everyone-internet-of-people
¹⁰ https://chat.indieweb.org/meta/2024-01-22#t1705883690759800
-
Similar to @paulgraham.com (@paulg@mas.to @paulg)’s observation about trolls¹, there’s a sort of Gresham's Law of developers (vs users): developers are willing to use a forum with a lot of users in it, but users aren’t willing to use a forum with a lot of developer-speak.
Whether such forums are email lists, chat (IRC, #Matrix, #Slack, #Discord), or, well, online forums (#Reddit, #HackerNews), when discussions either start or shift into technical details, jargon, or acronyms, users (in a very broad sense) tend to stop participating, and sometimes leave, never to return.
Users in this context are anyone with a desire (or a preference) not to chat or even be bothered spending time reading about technical plumbing & #jargon, and see such discussions as a distraction at best, and more like noise to be avoided.
Paraphrasing Paul Graham again: once technical details, jargon, acronyms “take hold, it tends to become the dominant culture” and discourages users from showing up, discussing user-centric topics, or even staying in said forum.
The #IndieWeb community started in 2011 as a single IRC channel #indiewebcamp (no email list²) because it was tightly coupled to IndieWebCamp events, which were both highly technical and yet focused on actually making things work on your personal site that you need³, that you will use⁴ yourself. Conversations bridged real world use-cases and technical details.
It only took us five years after the first IndieWebCamp in Portland to recognize that the community had grown beyond the events, and had a clear need for a separate place for deep discussions of developer topics.
As part of renaming the community from IndieWebCamp to IndieWeb⁵, we created the #indieweb-dev (dev) channel for such technical topics like protocols, formats, tools, coding libraries, APIs, and any other acronyms or jargon.
The community did a good job of keeping technical topics in the dev channel, and encouraging new folks in the main #indieweb channel who started technical conversations to continue them in the dev channel.
Still, it was too easy for user-centric topics to veer into technical territory. It often felt more natural to continue such threads in the channel it started rather than break to another channel. It was also a constant bit of community labor to nudge developer conversations to the developer chat channel.
We had already started documenting IndieWeb related jargon⁶ on the wiki and turned it into a MediaWiki Category so we could tag individual pages as jargon and have them automatically show-up in a list. Soon after, @aaronparecki.com (@aaronpk@aaronparecki.com) added a heuristic to the friendly channel bot Loqi to recognize when people started using jargon in the main IndieWeb chat channel and nudge⁷ them to the development channel.
Having Loqi do some of the gentle nudging has helped, though it‘s still quite easy for even the experienced folks in the community to get drawn into a developer conversation on main as it were.
We’ve documented both a summary and lengthier descriptions of channel purposes⁸ which help us remind each other, as well as provide a guide to newcomers.
Both experienced community members and newcomers share much of the user-centric focus of the IndieWeb, the IndieWeb being for everyone⁹, whether developer, hobbyist, or someone who wants an independent presence on the web without bothering with technical details. Whether some of us want to code or not, we all want to use our IndieWeb sites to express ourselves on the web, to use our sites instead of depending on social media silos. That shared purpose keeps us focused.
It takes a community to keep a community healthy and welcoming to newcomers. Eternal community vigilance is the price of being user-centric and welcoming to newcomers.
The ideas behind this post were originally shared in the IndieWeb meta chat channel.¹⁰
This is post 8 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2024/033/t1/earthquake-sanfrancisco-shifted
→ 🔮
Post glossary:
development channel (indieweb-dev)
https://indieweb.org/discuss#dev
format
https://indieweb.org/format
IndieWeb
https://indieweb.org/IndieWeb
IndieWebCamp
https://indieweb.org/IndieWebCamp
jargon
https://indieweb.org/jargon
Loqi
https://indieweb.org/Loqi
main IndieWeb chat channel (on main)
https://indieweb.org/discuss#indieweb
meta chat channel
https://indieweb.org/discuss#meta
MediaWiki Category
https://www.mediawiki.org/wiki/Project:Categories
plumbing
https://indieweb.org/plumbing
protocol
https://indieweb.org/protocol
tools
https://indieweb.org/tools
social media silos
https://indieweb.org/silos
¹ https://www.paulgraham.com/trolls.html
² https://indieweb.org/discuss#Email
³ https://indieweb.org/make_what_you_need
⁴ https://indieweb.org/use_what_you_make
⁵ https://indieweb.org/rename_to_IndieWeb
⁶ https://indieweb.org/jargon
⁷ https://indieweb.org/Category:jargon#Loqi_Nudge
⁸ https://indieweb.org/discuss#Chat_Channels_Purposes
⁹ https://tantek.com/2024/026/t3/indieweb-for-everyone-internet-of-people
¹⁰ https://chat.indieweb.org/meta/2024-01-22#t1705883690759800
-
I felt the #earthquake here in #SanFrancisco. A single quick sharp jolt with rapid decay, duration less than 2s, meaning it was relatively nearby and small in magnitude
I was about to say, perhaps #earthquakes are the last use-case for #Twitter because yes I reflexively checked it and did see posts about it from folks, including a few friends.
Then I checked https://indieweb.social/tags/earthquake and it has plenty of recent #fediverse posts about the earthquake, several @sfba.social.
Feels like something big has shifted.
The #federated #IndieWeb has replaced another #socialMedia silo use-case.
This is post 7 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2024/027/t1/indieweb-ideals-systems-swappable
→ 🔮
Post glossary:
silo
https://indieweb.org/silo
social media
https://indieweb.org/social_media
use-case
https://indieweb.org/use_case
-
For the #IndieWeb ideals of independence from intermediaries, not requiring corporate platforms or other organizational intermediaries¹, the best systems we have still depend on organizations. However they are all swappable, at will, by the individual:
1. domain names, depend on registrars, which you can switch
2. web hosts, depend on hosting providers, which you can switch
3. internet access, depends on internet service providers, which you can switch
4. web browsing, depends on browsers, which you can switch
5. personal devices, that have choice of web browser and internet access, which you can switch, upgrade, and use multiples of simultaneously
When you can migrate from one provider to another, one device to another, without disruption, without breaking your people-to-people connections, the providers and devices serve you, instead of gatekeeping you.
This freedom to swap, freedom to choose, depends on practical #interoperability across multiple implementations, multiple services. Open standards are the means to encouraging, testing, and verifying this user-feature interoperability across implementations and services.
This is post 6 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2024/026/t3/indieweb-for-everyone-internet-of-people
→ 🔮
Post glossary:
domain name
https://indieweb.org/personal-domain
interoperability
https://www.w3.org/wiki/Interoperable
web host
https://indieweb.org/web_host
¹ https://tantek.com/2024/026/t3/indieweb-for-everyone-internet-of-people