alcinnz / Odysseus

Bridging the elementary OS and Web user experiences
https://odysseus.adrian.geek.nz
GNU General Public License v3.0
47 stars 12 forks source link

Support webfeeds #81

Closed alcinnz closed 5 years ago

alcinnz commented 6 years ago

Since elementary already has great feedreader applications, this basically just involves negotiating a great application-programming and user interface between our applications.

On my end, I'm thinking of having a togglable RSS icon on the right-handside of the addressbar for relevent pages.

alcinnz commented 6 years ago

Depends on #82

alcinnz commented 6 years ago

Hey, @nathandyer and @Allen-B1, I'd love to discuss how to improve the experience around adding a feed in your applications!

Please respond with a suggestion tools with which to discuss the technical (and UX) details for this.

P.S. I love your work!

alcinnz commented 6 years ago

Haven't heard back from them on this yet, but I have surveyed the feedreader situation for elementary.

For News, I've seen @Allen-B1 try resurrecting his project and get it building again on Houston. I wish him luck, it's the app I want. While it's quite bare-bones now (to the level that Odysseus can, and should [more on that later], incorporate it's current features), it'll only take adding a bit of persistance to make for an ideal feadreader for those who don't follow too many sites.

As for @jangernert 's FeedReader, it's being actively developed but has declined to release to the AppCenter for Loki due to dependency issues. Fingers crossed for a Juno release, it looks great for those with larger bookmark collections.

And then ofcourse @needle-and-thread 's Vocal has been a great podcast application for a longtime, but another app like the above two is needed for more general webfeeds.


So I'll give Allen-B1 some time to see if he successfully resurrects News, and then make another push to get everyone I've mentioned here to agree on a best and low-coupling way for us to integrate. If not, I might try filling the gap for the short-term - but given Odysseus will be my focus I don't think I'd do a good job.

At the same time I will improve Odysseus's rendering for webfeeds simply to handle more noncommital readings of those feeds and to stop them any in-page links to webfeeds from looking as technical as they do now (currently webfeeds are rendered as collapsible XML trees). Reading Vocal's and News' code that shouldn't be too hard, and I could do with the practice as the metasearch standards I want to implement are based on Atom.

alcinnz commented 6 years ago

For rendering the feeds and their entries I'd use a layout based on:

[linked] logo icon title                 published; updated
subtitle -- by, et al [ add tooltip] *copyright*; from; via
links | categories

content/summary
alcinnz commented 6 years ago

I just asked the Fediverse for input, and have summarized the conversation thusly:

To summarize the conversation so far:

  • It's important to allow for the experimentation of feedreader UIs and standards support. As such they should be loosely coupled as separate apps, for which I'll need an IPC protocol.
  • There's web-based feed readers that should be supported too.
  • My feed preview should support cookies and webauth, and be based loosely on NewsBlur.
  • Ofcourse we want Fediverse integration here.
  • More sites should support RSS, especially YouTube.

Later a few more points/corrections came up:

alcinnz commented 6 years ago

More Updates

I think I'll draft a standard in a separate repo for communicating well to feed readers.

alcinnz commented 6 years ago

I just finished drafting a previewer template for webfeeds, with a driver to trigger them. However to make it run they'll require some extensions to Prosody, namely |base, |lookup, |cat, |slugify, & |uniqsort as well as a way to get a filetype for a MIMEtype, a {% include tag %}, a way to get the ContentType from a {% fetch %}'d response, and to split the path by $ so the latter half is exclusively for the template identified by the first half.

alcinnz commented 5 years ago

It would still be nice to support webfeed discovery for YouTube, but otherwise I think I can call this done.

Would anyone be keen to implement this logic?