scripting / feedBase

A project to get feeds into a base.
MIT License
33 stars 3 forks source link

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

Open vincode-io opened 5 years ago

vincode-io commented 5 years ago

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 commented 5 years ago

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

vincode-io commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

I had thought that the configuration option “Reader URL” was added in response to this issue.
https://github.com/scripting/feedBase/issues/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 commented 5 years ago

I'm open to people perverting features intended for one purpose for another. But adding new features based on that, I have to understand the goal, and support it. Not saying no, but I want to think about it.

Keep the ideas coming...

scripting commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

Wow. Great research @karlcow