Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discovery #3

Open
ghost opened this issue Feb 5, 2016 · 33 comments
Open

Discovery #3

ghost opened this issue Feb 5, 2016 · 33 comments

Comments

@ghost
Copy link

ghost commented Feb 5, 2016

A way to discover people you might want to follow would be cool.

Maybe by exposing a list of followers-of-followers?

@Benaiah
Copy link

Benaiah commented Feb 6, 2016

I really think there should be a metadata block either at the top of twtxt.txt or in another file. You could expose things like preferred username (so you could allow custom nicks for each client and still have @-replies work), a list of people you're following, etc.

@welandtb
Copy link
Contributor

welandtb commented Feb 6, 2016

IMHO, there are two major aspects here -- discovery as in "who else is using this" (i.e. what other addresses can I "query"?) and discovery as in "network discovery/user identification", as Benaiah describes above.

The former could probably be done with a simple directory in the beginning, which can be propagated via a blockhain-ish thing if keeping an up-to-date list that's available to everyone is important. In order to not have it ruin everything @Benaiah mentioned (custom nicks for each clients and so on), metadata has to be kept (and served) by each user. By the way, if you look at it from just the right angle, this is what finger was doing, in a highly rudimentary manner.

Implementation-wise, I guess a set of utils that allow maintaining and sharing/syncing the directory among a group of people would be interesting, maybe? The metadata at the top of the file could contain a listing of the groups in whose directories the user is subscribed (i.e. thus acknowledging that (s)he is a part of that "network"), which would help in discovery, too.

I'm just throwing ideas here, I just read about this on HN and one thing led to another... I can try to put them in a more organized form if you'd like. Maybe after I set twtxt up myself, so that I don't speak from theory only, that's usually not a recipe for good things. Ew.

@DracoBlue
Copy link
Contributor

Having something like:

<meta name="twtxt" value="https://example.org">

in the website to state, that this profile has a twtxt file, would be good, too.

If you add something like #6 and sending a message with @example.org is automatically resolved with this meta tag, following new peoples by seeing them in tweets by other people should be easy.

@DracoBlue
Copy link
Contributor

See als #28 about mentions

@kitchen
Copy link
Contributor

kitchen commented Feb 7, 2016

throwing this out there: discover twtxt urls by email address using dns:

kitchen@kitchen.io -> kitchen._twtxt.kitchen.io TXT http://bucket.kitchen.io/twtxt.txt

I feel like there should be an extra layer between "kitchen" and "_twtxt.kitchen.io" though, but I'm not sure exactly what.

Then I could do something like: twtxt follow kitchen@kitchen.io and it would Just Work™

@kseistrup
Copy link

@kitchen it's a pity NAPTR records are so uncommon, or you could do, e.g.:

somebody.example.com.  3600  IN  NAPTR  100 100 "u"  "E2U+twtxt:Personal"  "!^.*$!https://example.com/twtxt.txt!" .

corresponding to the twtxt file for somebody@example.com.

@kitchen
Copy link
Contributor

kitchen commented Feb 9, 2016

I feel like NAPTR is the semantically correct RR type here, but my stomach
just can't take that record format :P

On Tue, Feb 9, 2016 at 12:43 PM, Klaus Alexander Seistrup <
notifications@github.com> wrote:

@kitchen https://github.com/kitchen it's a pity NAPTR records are so
uncommon, or you could do, e.g.:

somebody.example.com. 3600 IN NAPTR 100 100 "u" "E2U+twtxt:Personal" "!^.*$!https://example.com/twtxt.txt!" .

corresponding to the twtxt file for somebody@example.com.


Reply to this email directly or view it on GitHub
#3 (comment).

@kseistrup
Copy link

@kitchen it's the semantically korrekt RR type, that's right, and the format is just awful. So perhaps we should just be thankful that not all DNS providers support this exotic RR type.

@kseistrup
Copy link

One way of increasing discoverability could be to include twtxt.txt URL and @username in the HTTP User-Agentstring, e.g.:

twtxt/1.2.3 (+https://example.com/twtxt.txt; @somebody)

This way at least people who have access to their webserver logs can see who are fetching their twtxt.txt file.

@timofurrer
Copy link
Contributor

@kseistrup This does not yet solve the whole problem, but I really like this idea!

If no one disagree with this - I'll implement it.

@DracoBlue
Copy link
Contributor

👍 this way people could see in the logs who is following them ;)

Am Donnerstag, 11. Februar 2016 schrieb Timo Furrer :

@kseistrup https://github.com/kseistrup This does not yet solve the
whole problem, but I really like this idea!

If no one disagree with this - I'll implement it.


Reply to this email directly or view it on GitHub
#3 (comment).

http://dracoblue.net

@DracoBlue
Copy link
Contributor

But use something like @<username https://example.org> to match with the
@mentions syntax.

Am Donnerstag, 11. Februar 2016 schrieb Jan Schütze :

👍 this way people could see in the logs who is following them ;)

Am Donnerstag, 11. Februar 2016 schrieb Timo Furrer :

@kseistrup https://github.com/kseistrup This does not yet solve the
whole problem, but I really like this idea!

If no one disagree with this - I'll implement it.


Reply to this email directly or view it on GitHub
#3 (comment).

http://dracoblue.net

http://dracoblue.net

@timofurrer
Copy link
Contributor

@DracoBlue I think if we implement it we should stick to the User Agent Format - Which is like @kseistrup proposed.

@DracoBlue
Copy link
Contributor

@timofurrer ok! good point!

@buckket
Copy link
Owner

buckket commented Feb 11, 2016

@kseistrup Had the exact same idea of including twtxt nick and URL in the user-agent string. I’ll open a new issue for this one! 👍

@reednj
Copy link

reednj commented Feb 11, 2016

yeah, I like this idea - I will implement it for the twtxt directory agent

@Xe
Copy link

Xe commented Feb 11, 2016

And added to twtxtlist as well.

@reednj
Copy link

reednj commented Feb 11, 2016

Can you start a user agent string with a URL like that? 😐

On Thursday, 11 February 2016, Christine Dodrill notifications@github.com
wrote:

And added to twtxtlist
https://git.xeserv.us/xena/twtxtlist/commit/69b3680361d3e5f1c61c7d84c672c348f7220800
as well.


Reply to this email directly or view it on GitHub
#3 (comment).

@jomo
Copy link

jomo commented Feb 11, 2016

@reednj doesn't seem like it:

User-Agent:

The User-Agent request-header field contains information about the user agent originating the request. This is for statistical purposes, the tracing of protocol violations, and automated recognition of user agents for the sake of tailoring responses to avoid particular user agent limitations. Although it is not required, user agents should include this field with requests. The field can contain multiple product tokens (Section 3.7) and comments identifying the agent and any subproducts which form a significant part of the user agent. By convention, the product tokens are listed in order of their significance for identifying the application.

Product Tokens:

Product tokens are used to allow communicating applications to identify themselves via a simple product token, with an optional slash and version designator. Most fields using product tokens also allow subproducts which form a significant part of the application to be listed, separated by whitespace. By convention, the products are listed in order of their significance for identifying the application.

Product tokens should be short and to the point -- use of them for advertizing or other non-essential information is explicitly forbidden. Although any token character may appear in a product- version, this token should only be used for a version identifier (i.e., successive versions of the same product should only differ in the product-version portion of the product value).

User-Agent      = "User-Agent" ":" 1*( product | comment )
product         = token ["/" product-version]
product-version = token

How about (ab)using the Referer header instead?

@jomo
Copy link

jomo commented Feb 11, 2016

Actually, the comment part of the User-Agent allows it:

Comments may be included in some HTTP header fields by surrounding the comment text with parentheses. Comments are only allowed in fields containing "comment" as part of their field value definition. In all other fields, parentheses are considered part of the field value.

comment        = "(" *( ctext | comment ) ")"
ctext          = <any TEXT excluding "(" and ")">

Edit: To be clear, starting a UA with a URI is not allowed, but you can place it in the comment part:

twtxt list/version (+https://twtxtlist.cf; +https://xena.greedo.xeserv.us/files/xena.txt; @xena)

@DracoBlue
Copy link
Contributor

Please let's discuss this at this ticket: #63

@buckket
Copy link
Owner

buckket commented Feb 13, 2016

Using DNS, and the NAPTR record in particular, to point to twtxt files seems like a really cool idea. :neckbeard: Maybe we can/should(?) include support for that even if not many will use that feature.

@kseistrup
Copy link

There is nothing that prevents a twt'er from announcing their stream in a NAPTR record, and I'm all for the idea (although my own DNS provider doesn't support that record type). But how will consumers discover the email address of said twtxt user (save for running their entire address books through a NAPTR lookup)? That said, I believe that the NAPTR and User-Agent methods are my best suggestions for discoverability. Perhaps a cup of coffee will help — I'll be back on this later.

@quite
Copy link
Contributor

quite commented Feb 13, 2016

NAPTR is cool idea, but as you say, the email address then would have to be discovered first. And very many people use email services that don't support this at all. (gmail anyone?)

@quite
Copy link
Contributor

quite commented Feb 13, 2016

But ok, since we're talking people who are self hosting a txtfile, perhaps a higher amount actually use "alternative" email providers, or even run their own...

@kseistrup
Copy link

@quite, good point!

A cup of ☕ later I am thinking if /humans.txt could be a place to put information about a twtxt stream. Another possibility is to put a <link/> element in one's homepage, e.g.:

<link rel="alternate" type="text/plain; charset=utf-8" title="Here's my twtxt stream" href="https://example.com/twtxt.txt" hreflang="en"/>

@kseistrup
Copy link

Just a side note: as an experiment I put my twtxt URLs in the /humans.txt file on my website and I decided to use the mention format:

  TwTxt (English): @<kas https://enotty.dk/twtxt.txt>
  TwTxt (dansk): @<kasdk https://enotty.dk/kasdk.txt>

Guess what: I just found out that Google is now looking for

  https://enotty.dk/kasdk.txt%3E.

so that was not a success (I wonder where it got the final dot from, though). Now I have changed the lines in /humans.txt to

  TwTxt (English): @kas https://enotty.dk/twtxt.txt
  TwTxt (dansk): @kasdk https://enotty.dk/kasdk.txt

@timofurrer
Copy link
Contributor

Can we make all letters lower case?

@kseistrup
Copy link

@timofurrer, of couse. /humans.txt is a free-form file meant for human consumption.

@DracoBlue
Copy link
Contributor

Yep. But it's not meant for bots, is it? http://humanstxt.org/

@kseistrup
Copy link

@DracoBlue correct.

@DracoBlue
Copy link
Contributor

I like the:

<link rel="alternate" type="text/plain; charset=utf-8" title="Here's my twtxt stream" href="https://example.com/twtxt.txt" hreflang="en"/>

version! Maybe a registered media type would make detection easier:

<link rel="alternate" type="text/twtxt; charset=utf-8" title="Here's my twtxt stream" href="https://example.com/twtxt.txt" hreflang="en"/>

PS: In this case one would have to register text/twtxt at http://www.iana.org/cgi-bin/mediatypes.pl

@ghost
Copy link
Author

ghost commented Oct 18, 2016

I don't mean to be rude but I for one strongly believe that twtxt isn't a social network like Facebook. I believe twtxt is meant to be for activists, hackers (mentioned in the project description). SO if we include this Recommendations or "People you may know" I think it would compromise the project.

No offense to anyone but that is what I truly felt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests