Hi everyone, hereās a little introduction of my twtxt client (still WIP).
The client Iām developing is a single tenant project that runs entirely in the browser (it might use an optional backend).
Itās entirely based on native web-components and vanilla JS, it is designed to act closer to a toolkit than a full-fledged client, allowing users to āDIYā their own interface with pure html or plain javascript functions.
Users can also build their own engines by including a global javascript object that implement the defined internal API (TBD).
Iām planning to build a system that is easy enough to build and use with any skill level, using only pure html (with a homebrew minimal template engine) or via plain JS (Iāll be also providing some pre-made templates too).
Everything can be self-hosted on any static hosting provider, this allows to spread twtxt within communities like Neocities and similarly hosted websites (basically any Indieweb/Smallweb/Digital garden website and any of the common GitHub/Lab/Berg/lify Pages).
It will be probably named something like TxtCraft or craf.txt but Iām not really sure yet⦠š¤ (Maybe some suggestions could help)
Iām still in the experimental phase, so thereās no decent source-code to share yet, but it will soon enough!
I like the cleaness and indiewebness of using just domains for handles/shorthands similar to blusky, but the situations with more users on the same domain and that people in the fediverse (threads too?) are already familiar with the syntax speaks for webfinger. And since we already got support for webfinger in both yarnd and timeline it makes sense to stick with it.
@eapl.me@eapl.me here are my replies (somewhat similar to Lyseās and Jamesā)
Metadata in twts: Key=value is too complicated for non-hackers and hard to write by hand. So if there is a need then we should just use #NSFS or the alt-text file in markdown image syntax

if something is NSFWIDs besides datetime. When you edit a twt then you should preserve the datetime if location-based addressing should have any advantages over content-based addressing. If you change the timestamp the its a new post. Just like any other blog cms.
Caching, Yes all good ideas, but that is more a task for the clients not the serving of the twtxt.txt files.
Discovery: User-agent for discovery can become better. Iām working on a wrapper script in PHP, so you donāt need to go to Apaches log-files to see who fetches your feed. But for other Gemini and gopher you need to relay on something else. That could be using my webmentions for twtxt suggestion, or simply defining an email metadata field for letting a person know you follow their feed. Interesting read about why WebMetions might be a bad idea. Twtxt being much simple that a full featured IndieWeb sites, then a lot of the concerns does not apply here. But thatās the issue with any open inbox. This is hard to solve without some form of (centralized or community) spam moderation.
Support more protocols besides http/s. Yes why not, if we can make clients that merge or diffident between the same feed server by multiples URLs
Languages: If the need is big then make a separate feed. I donāt mind seeing stuff in other langues as it is low. You got translating tool if you need to know whats going on. And again when there is a need for easier switching between posting to several feeds, then itās about building clients with a UI that makes it easy. No something that should takes up space in the format/protocol.
Emojis: Iām not sure what this is about. Do you want to use emojis as avatar in CLI clients or it just about rendering emojis?
Seems Hallway link in https://indieweb.org/twtxt is broken and redirects to main page. Is it abandoned?
More:
Subject: The [tag URI scheme](https://en.wikipedia.org/wiki/Tag_URI_scheme) looks interesting. I like that it human read- and writable. And since we already got the timestamp in the twtxt.txt it would be
somewhat trivial to parse. But there are still the issue with what the name/id should be... Maybe it doesn't have to bee that stick? Instead of using `tag:` as the prefix/protocol, it would more it clear
what we are talking about by using `in-reply-to:` (https://indieweb.org/in-reply-to) or `replyto:` similar to `mailto:` 1. `(reply:sorenpeter@darch.dk,2024-09-15T12:06:27Z)' 2.
`(in-reply-to:darch.dk/twtxt.txt,2024-09-15T12:06:27Z)' 2. `(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)' I know it's longer that 7-11 characters, but it's self-explaining when looking at the
twtxt.txt in the raw, and the cases above can all be caught with this regex: `\([\w-]*reply[\w-]*\:` Is this something that would work?
Subject: The [tag URI scheme](https://en.wikipedia.org/wiki/Tag_URI_scheme) looks interesting. I like that it human read- and writable. And since we already got the timestamp in the twtxt.txt it would be
somewhat trivial to parse. But there are still the issue with what the name/id should be... Maybe it doesn't have to bee that stick? Instead of using `tag:` as the prefix/protocol, it would more it clear
what we are talking about by using `in-reply-to:` (https://indieweb.org/in-reply-to) or `replyto:` similar to `mailto:` 1. `(reply:sorenpeter@darch.dk,2024-09-15T12:06:27Z)` 2.
`(in-reply-to:darch.dk/twtxt.txt,2024-09-15T12:06:27Z)` 3. `(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)` I know it's longer that 7-11 characters, but it's self-explaining when looking at the
twtxt.txt in the raw, and the cases above can all be caught with this regex: `\([\w-]*reply[\w-]*\:` Is this something that would work?
Notice the difference? Soren edited, and broke everything.
The tag URI scheme looks interesting. I like that it human read- and writable. And since we already got the timestamp in the twtxt.txt it would be somewhat trivial to parse. But there are still the issue with what the name/id should be⦠Maybe it doesnāt have to bee that stick?
Instead of using tag:
as the prefix/protocol, it would more it clear what we are talking about by using in-reply-to:
(https://indieweb.org/in-reply-to) or replyto:
similar to mailto:
(reply:sorenpeter@darch.dk,2024-09-15T12:06:27Z)
(in-reply-to:darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
I know itās longer that 7-11 characters, but itās self-explaining when looking at the twtxt.txt in the raw, and the cases above can all be caught with this regex: \([\w-]*reply[\w-]*\:
Is this something that would work?
On my blog: Spinning(?) the Indie Web https://john.colagioia.net/blog/2024/04/03/indieweb-4.html #blog #indieweb #programming #techtips
On my blog: Deeper in the Indie Web https://john.colagioia.net/blog/2024/03/20/indieweb-2.html #blog #indieweb #programming #techtips
On my blog: Trying on the Indie Web, Part 1 https://john.colagioia.net/blog/2024/03/13/indieweb-1.html #blog #indieweb #programming #techtips
@bender@twtxt.net I donāt mind the character limit. If I hit it and I still have more to say, itās a good reminder that I should probably write a note instead. I like to POSSE anything that might have value outside of the current conversation.
In case you didnāt notice, I deleted my Twitter and Keybase accounts. Going full indieweb.
CloudFest Hackathon: WordPress and the IndieWeb ?~L~X https://notiz.blog/b/63b
Yes @prologic@twtxt.net, I will be cross-posting to twtxt.net, following the POSSE principle https://indieweb.org/POSSE . #vjdyupq
Yes @prologic@twtxt.net, I will be cross-posting to twtxt.net, following the POSSE principle https://indieweb.org/POSSE . #vjdyupq
WP Meetup Stuttgart ā IndieWeb und WordPress ?~L~X https://notiz.blog/a/5ej
Figuring out the IndieWeb and making my main website compatible
IndieWeb - A Primer | Not Someobody Elseās Problem - Mine. By Abhas Abhinav ā https://abhas.io/indieweb-primer/
That Twitter admin hack shows how important it is to own our own online content and even our own platforms for posting on the Web. Want to learn more? Make yourself a cup of your favorite drink and have a look at https://indieweb.org/Getting_Started
Added clients and articles sections and added domgoergenās twtxt.txt to https://indieweb.org/twtxt
Looking at text-first design: https://indieweb.org/text-first_design
@kas@enotty.dk The IndieWeb.org twtxt article is only a stub - me copy-pasting content from other sites - could use some more sections - @t himself found it an interesting concept
Created an Indieweb.org wiki article about twtxt - help expand it please - https://indieweb.org/twtxt
@davebucklin@davebucklin.com Welcome to the IndieWeb! Thanks also for introducing me to #twtxt. Gophering this for sure.
SemPress war das erste WordPress Theme (September 2002), das Microformats 2 unterstützte und somit voll IndieWeb-kompatibel war. Seit ein paar Monaten/Jahren gibt es zwar weitere Themes die MF2 unterstützen, aber SemPress ist seit fast 7 Jahren (Dezember 2002) immer noch das einzige, das über WordPress.org installierbar (ist das ein Wort?) ist. Prateek Saxena arbeitet gerade [ā¦] ?~L~X https://notiz.blog/t/57W
State of the IndieWeb (2019) ?~L~X https://notiz.blog/a/55c
POSSE - IndieWeb https://indieweb.org/POSSE
Ein IndieWeb Podcast ?~L~X https://notiz.blog/a/4UW
IndieWeb im @DKultur/@DKultur/ ?~L~X https://notiz.blog/t/3ov
IndieWeb ā Die Daten sind wir! ?~L~X https://notiz.blog/b/3ns
Amber Case über Privacy und das IndieWeb ?~L~X https://notiz.blog/a/24m
Felix Schwenzel über IndieWeb und reclaim social media ?~L~X https://notiz.blog/t/1xo
The #indieweb as a minimum viable social web ecosystem Schöner Artikel von Ben Werd über das IndieWeb und Idno! ?~L~X https://notiz.blog/t/1W6
My Webmention plugin for #WordPress should be kind of stable now⦠Time to ping the #IndieWeb #Conversations from @eschnou, @Barnaby Walters, @Ben Werdmuller, @Tom Morris, @Will Norris, and @Aaron Parecki. ā¦and some ?~L~X https://notiz.blog/t/1TB
The rise of the IndieWeb ?~L~X https://notiz.blog/b/1Pu
WordPress and IndieWeb-Comments ?~L~X https://notiz.blog/t/1R0