johnfactotum / foliate

Read e-books in style
https://johnfactotum.github.io/foliate/
GNU General Public License v3.0
5.29k stars 259 forks source link

Add more OPDS catalogs to default selection #448

Open digitalethics opened 4 years ago

digitalethics commented 4 years ago

OpenEdition offers an OPDS service. It would be great to make this OPDS catalog available by default to improve ebook discovery for all.

digitalethics commented 4 years ago

Linking to #253 for @bertob

danielweck commented 4 years ago

For what it's worth, here is a list of "test" and production-grade OPDS feeds: https://github.com/readium/r2-streamer-js/blob/develop/docs/opds.md#a-selection-of-public-opds-feeds

digitalethics commented 4 years ago

For what it's worth, here is a list of "test" and production-grade OPDS feeds: https://github.com/readium/r2-streamer-js/blob/develop/docs/opds.md#a-selection-of-public-opds-feeds

That's a fantastic selection! I think it would be great to maintain a joint database between the Foliate and Thorium reader communities.

danielweck commented 4 years ago

Some of the feeds listed there are a bit ... mhmm, how can I say ... "dodgy"? :) But great for testing edge-cases, because there are numerous border problems like invalid HTTP content types, incorrect HTML/text information inside the feeds, invalid metadata, broken links, and other HTTP error status codes, etc.

johnfactotum commented 4 years ago

Yeah, the number of high quality OPDS implementations isn't really that high.

It might be a good idea to host the list of catalogs in a separate repo. That way one can update the list of curated catalogs without making a new release. Then,

digitalethics commented 4 years ago

It might be a good idea to host the list of catalogs in a separate repo. That way one can update the list of curated catalogs without making a new release.

This is definitely more efficient.

  • it wouldn't add any catalogs by default; instead it would just show the empty placeholder

  • when adding a catalog, there would be an option to browse and select from the list of curated catalogs

The current implementation with a selection of default catalogues makes ebook discovery quite easy as you already see them before clicking anywhere. Would it be possible to display a list of curated catalogues from an independent repo in a similar way?

johnfactotum commented 4 years ago

The current implementation with a selection of default catalogues makes ebook discovery quite easy as you already see them before clicking anywhere.

Yeah, but I think there should be some kind of initial "intro to OPDS" welcome message, with a button to add curated catalogs.

In any case, the curated list should be made available in the "add catalog" dialog or a separate dialog. Currently once you've edited the catalogs in any way, there's no way to recover the default catalogs unless you delete catalog.json in the data dir.

digitalethics commented 4 years ago

For experienced OPDS users who already have their own list and don't want the default list, they can more easily get to their preferred catalogs without dealing with the default ones

Ideally, there should also be a link within Foliate to encourage anyone who already has OPDS lists to contribute to the public OPDS repo (the idea is to make this "future" repo more discoverable from within Foliate) as this would increase ebook discovery for all.

I know that not all Foliate users will have a GitHub account. How difficult would it be to implement some kind of OPDS submission mechanism from within Foliate? A user clicks "Suggest OPDS source to fellow Foliate users" or something similar, and a bot would then automatically create an issue on this repo without Foliate users having the need to know about this repo and having to sign up for it on GitHub. More technically oriented users can of course contribute via pull requests or raise issues.

To increase the testing surface for Foliate, the same could be implemented for reporting Foliate issues from within Foliate. A lot of issues, especially from non-technical users, will go unnoticed as many users won't bother or don't have the capability to work with GitHub. In fact, they may never have heard of GitHub. The way they use Foliate, however, matters and their opinions should be heard.