# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 39
# self = https://watcher.sour.is/conv/2fkr5fq
@prologic damn, your reply got me an idea...

What if you can use a thread as discussion externally?

I was actually searching for something similar around for myself for curiosity.

Think of it like a widget similar to Disqus.

You can embed a discussion on your site like a comment system.

It might even help spread the use of twtxt with people who don't know of it.
@justamoment We _can_ do this fairly easily once we add microPub support to yarnd and IndieAuth (we already implement a provider), we're 1.3rd the way there 😅
@justamoment We _can_ do this fairly easily once we add microPub support to yarnd and IndieAuth (we already implement a provider), we're 1.3rd the way there 😅
Yarn.social pods (_running yarnd_) also support Web Mentions too btw... In theory (even now) it _is_ possibly to modify the code to accept inbound Web Mentions -- Though I've never seen it used in practise 😢 Anyway we support a lot of IndieWeb features 👌
Yarn.social pods (_running yarnd_) also support Web Mentions too btw... In theory (even now) it _is_ possibly to modify the code to accept inbound Web Mentions -- Though I've never seen it used in practise 😢 Anyway we support a lot of IndieWeb features 👌
@prologic I see, what I imagined was simply reading a thread embedded in a page, especially on a static site.

I'm not too aligned on the whole IndieWeb features, I'll have to check it out deeper. 😲
@justamoment We _can_ do a lot if we implement microPub + IndieAuth.
@justamoment We _can_ do a lot if we implement microPub + IndieAuth.
@prologic I'll look into those! 😎
@justamoment I kinda had the same idea for using a twtxt file for incoming comment on a blog and the people could follow that feed to see the comment.

A way to implement it would be like I did at http://algorave.dk/bbs where everyone can comment if they know know the password
@justamoment Your idea of embedding something on a website intrigues me. I know how we _can_ do it, but there just hasn't been enough of a demand to built it (yet). Basically (if I may):

- [ ] Add microPub API to yarnd
- [x] Add IndieAuth support (provider) to yarnd

Once we have these two pieces in place (we're half-way there already) we can embed a little widget on websites that lets any visitor to your site login to the pod you choose to use, we'd create them an account on the fly, and then they can use the widget to make comments.

Does any of this make sense?
@justamoment Your idea of embedding something on a website intrigues me. I know how we _can_ do it, but there just hasn't been enough of a demand to built it (yet). Basically (if I may):

- [ ] Add microPub API to yarnd
- [x] Add IndieAuth support (provider) to yarnd

Once we have these two pieces in place (we're half-way there already) we can embed a little widget on websites that lets any visitor to your site login to the pod you choose to use, we'd create them an account on the fly, and then they can use the widget to make comments.

Does any of this make sense?
@prologic Mine was just a simple idea, nothing more, your analysis of the process is just perfect, I haven't really thought about it that deep, if it's possible it would be amazing.

Just a note from me, I love working statically in general (no servers, no databases, no worries) so my motto is to rely on a external services to handle the moving parts or to push the dynamic parts to the code, like how Netlify CMS does it. It might help further analysis. 🥸

@darch A BBS is nice but I don't know how to handle that on a public site, does it use an invite system?

The twtxt concept always amazed me, so many possibilities. Even in such a small scale it can really handle something like Twitter does with just plain txt files, I can't wrap my head around it yet. 😲
@justamoment if you can guess the password you are in. Not very secure, but maybe it does not need to be
@darch Adding exponential back-off helps with this 👌
@darch Adding exponential back-off helps with this 👌
@darch it might be fine in some cases but it might be accessible to spam bots too I think? 🤔

Maybe an approval system to cover it, but it seems too much in my opinion.
Meanwhile I ended up putting together a Proof of concept for the widget I mentioned.

Here the repo https://git.mills.io/justamoment/yarn-conv-widget
Published without the link, here again: https://git.mills.io/justamoment/yarn-conv-widget

Live demo: https://sunetraalex.gitlab.io/yarn-conv-widget/

Note: you might want to try with a proxy since CORS is not enabled, like I did in the screenshot below.

a preview
@justamoment Oh wow! 😳
@justamoment Oh wow! 😳
Interesting. What about yarnd's tendency to make posts disappear after some time?
Interesting. What about yarnd's tendency to make posts disappear after a time?
@mckinley Good point 👌
@mckinley Good point 👌
@mckinley I didn't thought too much about it.

Personally I think that if a discussion is alive posts will be there, I don't really mind if an old post/page lose its comments.

A solution might be a pod with an option to store twts forever?
@mckinley does it happen? 😮 Didn't know
@eaplmx yeah, the posts goes but the txt stay.

Am I right @prologic?
@justamoment @eaplmx Yes that's right. And this behaviour is configurable. The defaults are pretty good, 150 Twts per feed or 10 days (whichever is reached first) before they're archived. The only _real_ reason we can't display older posts in a thread/yarn is because the archive doesn't have an index. We _can_ fix that. For example this twt https://twtxt.net/twt/o6dsrga was from ~2 years ago now but is still accessible, just none of the replies are 😅~
@justamoment @eaplmx Yes that's right. And this behaviour is configurable. The defaults are pretty good, 150 Twts per feed or 10 days (whichever is reached first) before they're archived. The only _real_ reason we can't display older posts in a thread/yarn is because the archive doesn't have an index. We _can_ fix that. For example this twt https://twtxt.net/twt/o6dsrga was from ~2 years ago now but is still accessible, just none of the replies are 😅~
@prologic for me not seeing a couple of old twts is no big deal, but if more people would like it that feature then we can consider a way to fix it.
@justamoment I'm actually working on it now 😅 -- But philosophically I've always _believe_ (and still do) two things:

- We really don't care about old content so much or what people said in the past
- We really should get away from the notion of "oh buy you said blah blah"

Elaborating on my 2nd opinion, it is dangerous to make it easy to pull up what someone said or had an opinion on in the past. What if they have since changed their mind? What if they no longer believe in what they once said? What if it was something stupid and nefarious person(s) can/will hold that "post" accountable to them?

The _reason_ yarnd does this sort of thing in the first place is two-fold:

- It's an optimization and keeps Pods limited in "scale" (by design)
- It's a feature my old man talked to me about that I also believe in (see above).
@justamoment I'm actually working on it now 😅 -- But philosophically I've always _believe_ (and still do) two things:

- We really don't care about old content so much or what people said in the past
- We really should get away from the notion of "oh buy you said blah blah"

Elaborating on my 2nd opinion, it is dangerous to make it easy to pull up what someone said or had an opinion on in the past. What if they have since changed their mind? What if they no longer believe in what they once said? What if it was something stupid and nefarious person(s) can/will hold that "post" accountable to them?

The _reason_ yarnd does this sort of thing in the first place is two-fold:

- It's an optimization and keeps Pods limited in "scale" (by design)
- It's a feature my old man talked to me about that I also believe in (see above).
@prologic that exactly my logic in why I don't care.

As time progresses people opinions and everything else does too, even I could find one of my own old posts disappointing and then think: "Why did I say that?"

What can be done instead could be something like, "This is a good post! I wanna pin it for storage manually".

Like when someone gives a better alternative to a problem in a comment but, even there, if it's this good of a comment I would take care to grab it and update my own content to share it with everyone even with who might or might not read the comments.

After all, the only comments that tend to be remembered, from what I've seen, are the bad ones. 🫣
@justamoment This is already possible thanks to "Bookmarks". If you bookmark a twt, you always have access to it. There is a built-in feature of the interface. But you _could_ also use your Browser's own bookmarking facilities too.
@justamoment This is already possible thanks to "Bookmarks". If you bookmark a twt, you always have access to it. There is a built-in feature of the interface. But you _could_ also use your Browser's own bookmarking facilities too.
@prologic yes, I know about the bookmarks and I use them too, what I meant is a way to store important bits in the context of a comment system, as the related content owner while thinking of people who might read the content and ignore any comments regardless of the posts age.
@justamoment Ahh I see 👌 -- Let's see what happens after I finish building an indexable and searchable archive 🤞
@justamoment Ahh I see 👌 -- Let's see what happens after I finish building an indexable and searchable archive 🤞