Podcastindex-org / podcast-namespace

A wholistic rss namespace for podcasting
Creative Commons Zero v1.0 Universal
381 stars 115 forks source link

References for "fast-follow" technique #633

Open fulldecent opened 5 months ago

fulldecent commented 5 months ago

In https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#guid-enabled-fast-follow-share-links a technique is specified for embedding a URN (the GUID) inside a URL, such that the URN can be recognized and extracted across applications.

Is this technique referenced from anywhere else or is this original research? I'd like to document the reference if it is available.

jamescridland commented 5 months ago

It's an original idea, I was one of the authors.

I don't believe it is currently implemented by anyone, and I do wonder if it's worth removing from the spec as a result.

keunes commented 5 months ago

I still love the idea and would find it cool to see it implemented in AntennaPod one day.

theDanielJLewis commented 5 months ago

I, too, still love the idea and would like to see it also support an episode GUID so you could tap a link in episode notes within your podcast app and it would take you directly to another episode of another podcast.

fulldecent commented 5 months ago

I also saw this technique implemented in this publication:

GS1 Digital Link Standard: URI Syntax (part of GS1 Digital Link)

It is a very important standard coming into effect for all consumer packaged good. Basically everything you buy will have that.

See section 61.

jamescridland commented 5 months ago

I also saw this technique implemented in this publication: GS1 Digital Link Standard: URI Syntax (part of GS1 Digital Link)

Thank you, that was an interesting read. The way that this has been constructed to use any domain, but to be coded in such a way that a GS1-aware app can extract additional data, is very similar. Interestingly, they've used query attributes rather than a fragment identifier approach (the bit after the #).

Using a fragment identifier means that webservers will never see the fragment; just a JavaScript-enabled browser. This may be a wrong approach: GS1's approach, using query attributes, mean that webservers can also see the additional data being transmitted and may be able to use that in some way. However, we can't guarantee that every website will deal with a ?_fastfollow=(x) attribute, and it might mess up pagerank and analytics.

fulldecent commented 5 months ago

You're welcome. Yes, I think the fragment approach is right for the requirements here. GS1 specifies a is-a relationship and here we are specifying a is-kind-of relationship. Fragments seems more semantic.

theDanielJLewis commented 5 months ago

Queries in a URL also usually bypass webserver caching.

jamescridland commented 5 months ago

Queries in a URL also usually bypass webserver caching.

Not always the case; that's up to the website cache. As one example, https://podnews.net/podcast/i6ay and https://podnews.net/podcast/i6ay?status=iamabanana will always grab the same cached copy. (But, that's not the case in https://podnews.net/classifieds where the cache performs very differently).

theDanielJLewis commented 5 months ago

Not always the case …

Thus why I said, "usually." It's even referred to as "cache-busting" to add a random URL parameter. (I usually go for ?blah=1.)