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

Enhancement: Support for native feed: URL to subscribe #43

Open
vincode-io opened this Issue Mar 25, 2019 · 17 comments

Comments

Projects
None yet
4 participants
@vincode-io
Copy link

vincode-io commented Mar 25, 2019

Today feedBase allows for one click subscription to various web based RSS readers via configuration in the Settings. I tried to put in "feed:" for my Reader URL setting. My reader (NetNewsWire) failed to import the URL because the URL was encoded for web use.

Steps to recreate:

  1. Install native RSS Reader (I used NetNewsWire 5)
  2. Change feedBase Reader URL setting to "feed:"
  3. Click a feed to subscribe to it.
  4. Respond affirmatively to browser request to open native RSS Reader
  5. RSS Reader responded by displaying URL encoded feed name
  6. RSS Reader refused to process invalid URL

Maybe feedBase could detect when the "feed:" protocol was being used and not do URL encoding. There could even be an option to use a native RSS Reader in the Settings so that users don't have to know that the "feed:" protocol can be used to open native apps.

@scripting

This comment has been minimized.

Copy link
Owner

scripting commented Mar 25, 2019

Very interesting. Can you give me an example of a URL that NetNewsWire correctly processes.

@vincode-io

This comment has been minimized.

Copy link
Author

vincode-io commented Mar 25, 2019

Here ya go: feed:http://scripting.com/rss.xml

(It doesn't look like Github auto linking works with this. You'll have to cut and paste it into a browser location bar to make it work.)

@scripting

This comment has been minimized.

Copy link
Owner

scripting commented Mar 25, 2019

Just posted on Scripting News:

I've been peripherally aware that some browsers and operating systems support the idea of a feed: prefix for web addresses. However I don't know the history, where the idea originated, or how widely it is supported, and what are its intended semantics? When the user clicks on the link on a Mac, what's supposed to happen?

@scripting

This comment has been minimized.

Copy link
Owner

scripting commented Mar 25, 2019

BTW, I have such a URL on scripting.com right now, and when I click it, nothing happens. I assume that's because either:

  1. I made a mistake in specifying the address.

  2. I don't have an installed app that's interested in this protocol.

Dave

@scripting

This comment has been minimized.

Copy link
Owner

scripting commented Mar 25, 2019

BTW, it's not clear to me why you want to click a link in feedBase to subscribe in a native app.

The whole idea of feedBase is to manage your subscriptions. You get very little benefit from creating a static subscription that doesn't come from your OPML file.

Maybe the idea of your product is that you don't want to wait for apps to support subscribing to OPML subscription lists. I'm mainly interested in getting them to implement the liberating feature, not doing a slow siloish approach to subscriptions.

In other words feedBase users will want the powerful connection, not the make-do connection.

@vincode-io

This comment has been minimized.

Copy link
Author

vincode-io commented Mar 25, 2019

I just think you would want to be able to subscribe in a native RSS Reader the same way that you can subscribe to a web RSS Reader today.

I totally agree that getting RSS Readers to support OPML subscriptions is the right way to go. I don't think that having feedBase support native RSS Readers as well as web ones discourages that in any way.

@scripting

This comment has been minimized.

Copy link
Owner

scripting commented Mar 25, 2019

There's a misunderstanding about the purpose of the link for "reading a feed" in feedBase. It's there because if you try to view XML in the browser, it mangles it horribly. Users of feedBase need to be able to read the XML as it is in the file.

The default value is this:

http://xmlviewer.scripting.com/?url=http%3A%2F%2Fscripting.com%2Frss.xml

It's not for subscribing to the feed. I realize the wording might lead you to believe that's what it's there for. Just want to be clear that it's not a matter of letting you do something in one environment that I won't let you do in another.

There's also the problem of what the feed: thing is all about? I can't find any docs on it. Where does it come from? Where is it supported? What is it supposed to do?

I don't just throw features into products without understanding what's going on..

@vincode-io

This comment has been minimized.

Copy link
Author

vincode-io commented Mar 25, 2019

I had thought that the configuration option “Reader URL” was added in response to this issue.
#30 That’s what got me confused. If you aren’t supposed to be using that feature for RSS Reader subscriptions, then we can close this ticket.

The feed: protocol works the same as the mailto: protocol. When you request the operating system to open a URL with that protocol, it opens the correct application and passes the URL to it.

To answer your questions: I don’t know where it comes from. It predates me. It is supported by operating systems. I think on macOS it defaults to the News app, but it can be changed to whatever RSS Reader you are using. It is supposed to open the selected RSS Reader and pass it the URL.

@scripting

This comment has been minimized.

Copy link
Owner

scripting commented Mar 25, 2019

@scripting

This comment has been minimized.

Copy link
Owner

scripting commented Mar 26, 2019

I made a change to the Misc panel on the Settings dialog to make it clearer what the setting is used for.

The change is explained in the changenotes file.

@scripting

This comment has been minimized.

Copy link
Owner

scripting commented Mar 26, 2019

OK, I'm thinking about the feature request you've made. Here's what I have so far.

  1. When the user clicks on a feed: link, I'm supposed to construct a feed: URL followed by the unencoded URL of the feed the user wants to subscribe to. The OS then routes it to a desktop app that has somehow registered its interest in this notification.

  2. So maybe what happens in feedBase is this. There's a new boolean setting that says that you want feedBase to open a feed: url every time the user subscribes to a feed in feedBase.

  3. I think that's what's really going on here. I already have a UI mechanism for subscribing to a feed. The desktop app just wants to hook into that flow.

@vincode-io

This comment has been minimized.

Copy link
Author

vincode-io commented Mar 26, 2019

Won't that mess up any feed readers that are subscribed to the OPML file?

Since my enhancement request was predicated on a misunderstanding of how the view xml feature worked, I don't know that this is a valid request anymore. I'm ok if we just want to close this issue.

@scripting

This comment has been minimized.

Copy link
Owner

scripting commented Mar 26, 2019

I'm just trying to understand what you were going for in the initial request. Re messing up feed readers that are subscribed to the OPML file, who knows. There aren't any at this time. ;-)

@jsavin

This comment has been minimized.

Copy link

jsavin commented Mar 26, 2019

It looks like Inoreader might support OPML subscriptions (still). They announced it in a blog post from 2014, but I'm not an Inoreader user and haven't looked to see if it's still there or not:
https://blog.inoreader.com/2014/05/opml-subscriptions.html

@scripting

This comment has been minimized.

Copy link
Owner

scripting commented Mar 26, 2019

I wonder if anyone here uses Inoreader and can test this.

You can get the OPML link to anyone's list on feedbase.io by clicking the XML icon on the page you're looking at.

For example, this is the OPML file for the hotlist (the top 100 feeds).

http://opml.feedbase.io/hotlist.opml

Here's the list of feeds I follow on feedBase.

http://feedbase.io/?username=davewiner

Click the XML icon to get my OPML file.

http://opml.feedbase.io/davewiner/main.opml

feedBase is all about OPML files, in and out.

It's almost a zen-like product imho. ;-)

@karlcow

This comment has been minimized.

Copy link

karlcow commented Mar 27, 2019

About feed as a scheme.
In Chrome source code, the blame shows that it is part of the initial commit. So probably imported from WebKit source code.
https://cs.chromium.org/chromium/src/content/browser/child_process_security_policy_unittest.cc?l=213&rcl=909ba03ad5aa2f03ec5627098dddd9e0b1a027e5
https://cs.chromium.org/chromium/src/content/browser/child_process_security_policy_impl.cc?l=513&rcl=3d9c96466169f78fe9d9148790fd56390de17cce

Capture d’écran 2019-03-27 à 08 51 29

So it's considered safe… but does it do anything? I wonder if it's here only for clients built upon Chromium and WebKit.

Here https://trac.webkit.org/changeset/132550/webkit
a workaround was removed for feed. The workaround was put in the first place because of scrolling issues in the past for feed scheme urls.
https://bugs.webkit.org/show_bug.cgi?id=100442

RFC Origin http://web.archive.org/web/20080501001346/http://www.25hoursaday.com/draft-obasanjo-feed-URI-scheme-02.html
http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=b365b126-8a18-47bd-8d6e-1dc512f77786

Brent Simmons about it
http://web.archive.org/web/20051103004011/http://inessential.com/?comments=1&postid=3019

see also
http://web.archive.org/web/20050205013717/http://www.apple.com/macosx/tiger/safari.html
which was the previous attempt about news for Apple.

but all of this to say that it doesn't seem to do anything. Or I have not found yet.

Firefox. feed: protocol has been removed in December 2017
https://bugzilla.mozilla.org/show_bug.cgi?id=1420622

@vincode-io

This comment has been minimized.

Copy link
Author

vincode-io commented Mar 27, 2019

Wow. Great research @karlcow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.