✏️ 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 Kevin Marks (@kevinmarks@indieweb.social) 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, whether 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
https://tantek.com/2024/246/t1/adventures-indieweb-activitypub-bridgy-fed

Nice #IndieWebCamp discussion session with Kevin Marks (@kevinmarks@indieweb.social @kevinmarks@xoxo.zone @kevinmarks) on the topic of auto-linking¹.

I’ve implemented an auto_link function² that handles quite a few use-cases of URLs (with or without http: or https:), @-name @-domain @-domain/path @-@-handles, hashtags(#), and footnotes(^).

Much of it is based on what I’ve seen work (or implemented) on sites and software, and some of it is based on logically extending how people are using text punctuation across various services.

It may be time for me to write-up an auto-link specification based on the algorithms I’ve come up with, implemented, and am using live on my site. All the algorithms work fully offline (none of them require querying a site for more info, whether well-known or otherwise), so they can be used in offline-first authoring/writing clients.

I have identified three logical chunks of auto-linking functionality, each of which has different constraints and potential needs for local to the linking context information (like hashtags need a default tagspace). Each would be a good section for a new specification. Each is used by this very post.

* URLs, @-s, and @-@-s
* # hashtags
* ^ footnotes

#IndieWeb #autoLink #hashtag #hashtags #footnote #footnotes

Previously, previously, previously:

* https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases
* https://tantek.com/2023/100/t1/auto-linked-hashtags-federated
* https://tantek.com/2023/043/t1/footnotes-unicode-links
* https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo


References:

¹ https://indieweb.org/autolink
² https://github.com/tantek/cassis/blob/main/cassis.js


This is post 18 of #100PostsOfIndieWeb. #100Posts

https://tantek.com/2024/238/t1/indiewebcamp-portland
https://tantek.com/2024/242/t1/indiewebcamp-portland

New blog post 📰

Maybe I’m just bored and need a break from social networks and touch grass before winter gets here. 🤷‍♂️

#blog #smallweb #indieweb

https://basic.bearblog.dev/the-thing-about-social-networks/

Verify whether two lists contain identical entries:

https://rm-o.dev/til/list-diff/

#bash #blog #diff #indieweb #til

Front end study hall

#blog #2024 #frontend #indieweb
blog.mat.tl/2024/08/27/front-end-study-hall/

Firefox on iOS approximately a month in (in which Matt casually returns to blogging)

#free-software #2018 #browser #firefox #indieweb #ios #webkit
blog.mat.tl/2018/10/16/firefox-on-ios-approximately-a-month-in/

I really like personal homepages and have quite a list of them bookmarked. I'll post one every week unless I fall behind this schedule. 😉 So here's Cool Personal Homepages #CPH Vol. 22: Patrick Jordan https://www.ariel.com.au/patrick/

#SmallWeb #indieweb #smolweb #PersonalSites #homepage

Took a week and a half to try to tie together the thoughtful threads of thinky thoughts that @darius @molly0xfff @kissane and @edyong209 wove through the last #xoxofest During that time, I discovered a parallel conversation about the #smallweb #indieweb #cozyweb what-do-we-call-it-now was happening across many good and new-to-me blogs. Zeitgeist! Did my best to capture it all here: https://www.mmmx.cloud/after-xoxo

By way of introduction: I'm Phil Nelson, I have been creating independent and corporate things on the internet for over 20 years including founding GameWikis (sold to Wikia), helping to launch $1M+ campaigns for Structure Sensor and OpenCV AI Kit, hosting the weekly OpenCV Live streaming show, running the indie vintage media site RetroStrange (home of RetroStrange TV!), and gaming blog SetSideB. My blog is https://extrafuture.com #indieweb #gaming #introduction #streaming

A new post in which I talk about meeting Chris Farley's sister.

A Chance Encounter: https://krueger.ink/a-chance-encounter/

#IndieWeb #Blog

@ananas Pierwszy raz słyszę to określenie #indieweb i bardzo mi się podoba

So nice to see random websites support Webmentions!

#IndieWeb

@pluszysta Też mam od dłuższego czasu chęci dołożyć cegiełkę do budowy #indieweb ale pewnie nigdy się nie zdecyduję na konkretne oprogramowanie :blobcatroll:

Czekam na pierwszy wpis! :ablobcatwobfast:

About

 
Tip: use the W3C Link Checker and fix any errors before federating with Bridgy Fed.

https://validator.w3.org/checklink

If you are using Bridgy Fed to federate your posts from your personal site, I highly recommend you first run the W3C Link Checker on a post, and verify there are no “red” errors (or fix any you find), before pinging Bridgy Fed to federate the post.

The reason is that if your post contains broken links, especially broken https: links as part of an @-mention, a weird set of timeout interactions will occur between #BridgyFed and #Mastodon that will cause any Mastodon instances following your posts to drop your federated posts as if they had not been received.

Further, those instances will also ignore any UPDATES to that post.

More discussion here:
* https://chat.indieweb.org/dev/2024-09-04#t1725421768496000
More bug details here:
* https://github.com/snarfed/bridgy-fed/issues/884#issuecomment-2327861883

#IndieWeb #federate #fediverse #interoperability

This is post 22 of #100PostsOfIndieWeb. #100Posts

https://tantek.com/2024/246/t1/adventures-indieweb-activitypub-bridgy-fed
→ 🔮
#BridgyFed #Mastodon #IndieWeb #federate #fediverse #interoperability #100PostsOfIndieWeb #100Posts

Tip: use the W3C Link Checker and fix any errors before federating with Bridgy Fed.

https://validator.w3.org/checklink

If you are using Bridgy Fed to federate your posts from your personal site, I highly recommend you first run the W3C Link Checker on a post, and verify there are no “red” errors (or fix any you find), before pinging Bridgy Fed to federate the post.

The reason is that if your post contains broken links, especially broken https: links as part of an @-mention, a weird set of timeout interactions will occur between #BridgyFed and #Mastodon that will cause any Mastodon instances following your posts to drop your federated posts as if they had not been received.

Further, those instances will also ignore any UPDATES to that post.

More discussion here:
* https://chat.indieweb.org/dev/2024-09-04#t1725421768496000
More bug details here:
* https://github.com/snarfed/bridgy-fed/issues/884#issuecomment-2327861883

#IndieWeb #federate #fediverse #interoperability

This is post 22 of #100PostsOfIndieWeb. #100Posts

https://tantek.com/2024/246/t1/adventures-indieweb-activitypub-bridgy-fed
→ 🔮

@thisismissem@hachyderm.io we’ve tracked the bug down to one or more problems stemming from having a link in a post to an https: URL that fails to resolve or times out, in the context of an @-mention.

Bridgy Fed is attempting to fetch it and times out. When a #fediverse instance fetches the AS2 version of a post, and Bridgy Fed attempts to fetch that post’s links to construct the AS2 for the post, Bridgy Fed times out, which then likely times out the original AS2 request, so #Mastodon instances never get the requested AS2 post.

There are multiple possible problems:
* content authoring errors (including bad links, links going bad)
* Bridgy Fed attempting to retrieve every link in a post in order to construct the AS2 for a post, possibly with too long timeouts, so the overall AS2 construction takes too long
* Mastodon timing out when requesting the AS2 for a post, then giving up and never trying again (e.g. even when it receives an UPDATE for the post)

More discussion here:
* https://chat.indieweb.org/dev/2024-09-04#t1725421768496000
More details here:
* https://github.com/snarfed/bridgy-fed/issues/884#issuecomment-2327861883

#BridgyFed #atMention #ActivityStreams2
#fediverse #Mastodon #BridgyFed #atMention #ActivityStreams2

Two interesting quotes from a video that stuck with me and got me thinking.

https://dominikhofer.me/you-and-your-smartphone

#indieweb #lifeadvice #learning