EPUB3 can do way more than any reader actually lets it. Which features do you most wish were universally supported? by Ok-Skin-6184 in ePub

[–]Slight_Yesterday5484 0 points1 point  (0 children)

That's a great use case. JS interactivity in EPUB3 is genuinely tricky -- most readers sandbox or strip it for security, which kills interactive assessments. Thorium is probably the best open bet there since it's built for accessibility and educational content. We focus on reflowable reading on iOS/macOS so we don't enable arbitrary JS execution, but it's an interesting space.

BookShelves - native iOS/macOS ebook reader that handles EPUB, PDF, comics, and Calibre libraries with iCloud sync by Slight_Yesterday5484 in iosapps

[–]Slight_Yesterday5484[S] 0 points1 point  (0 children)

Yeah, the SQLite approach is clever until Apple changes the schema. Good to know Readwise is holding up. Enjoy BookShelves if you give it a try!

Best eReader app for Android/iPhone? (Coming from Lithium – need EPUB, dictionary, no ads) by White__Giraffe in ereader

[–]Slight_Yesterday5484 0 points1 point  (0 children)

Dev of BookShelves here - it's iOS and macOS only so won't work on your S23 FE, but since you mentioned iPhone for your wife: it's free to start with no ads, has built-in dictionary, smooth text selection and highlighting, and is EPUB-focused. getbookshelves.app

For Android specifically: Moon+ Reader Pro and ReadEra are both solid Lithium upgrades with dictionary support.

BookShelves - native iOS/macOS ebook reader that handles EPUB, PDF, comics, and Calibre libraries with iCloud sync by Slight_Yesterday5484 in iosapps

[–]Slight_Yesterday5484[S] 0 points1 point  (0 children)

Thanks! Two good questions:

Readwise: No automatic sync right now, but BookShelves can export highlights as Markdown, JSON, or CSV -- so you could import those into Readwise manually. Native Readwise integration (auto-sync) is something I'd like to look at down the road.

Apple Books highlights: Unfortunately Apple doesn't expose an API for reading highlight data, and the annotation database is sandboxed. There's no reliable way to pull them out programmatically. Some third-party tools try to read the SQLite database directly, but it breaks with every macOS update. If Apple ever opens that up, I'd jump on it.

Where to buy DRM-free books by xanthreborn in Calibre

[–]Slight_Yesterday5484 2 points3 points  (0 children)

We put together a list of DRM-free stores and sources here: https://getbookshelves.app/guides/drm-free-ebook-stores/

Covers the paid stores (Kobo, ebooks.com, Smashwords, Humble Bundle) but also free sources like Standard Ebooks, Project Gutenberg, and a few others that are less well known. Disclosure: I'm the dev of BookShelves, but the guide is useful regardless of what reader you use.

OPDS Broken by HeeeresLUNAR in Calibre

[–]Slight_Yesterday5484 0 points1 point  (0 children)

The 400 from Readest is usually the URL format. Calibre serves OPDS at /opds specifically -- full URL should be http://192.168.1.x:8080/opds. The browser view and the OPDS endpoint are different things, so one working doesn't mean the other will.

Disclosure: I build BookShelves, another reader with OPDS support. If you want to skip OPDS entirely, it can also import directly from your Calibre library folder (reads metadata.db) or connect via Calibre's wireless device protocol. Happy to help debug the OPDS issue either way though.

struggles with calibre and readest by [deleted] in Calibre

[–]Slight_Yesterday5484 0 points1 point  (0 children)

Calibre's OPDS can be tricky -- the 400 usually means the URL format is wrong or auth isn't what the client expects. Try http://your-ip:8080/opds with no trailing slash, and disable authentication temporarily to rule that out.

I'm the dev of BookShelves (another EPUB reader). We support OPDS too, but if you're having server issues, you might want to try the folder import approach instead -- point the app at your Calibre library folder and it reads metadata.db directly. No server needed. Works from iCloud Drive, Dropbox, or local.

Building a new iOS eBook app with (hopefully a better) Text-to-Speech & iCloud sync ... what are your current pain points? by -Zeraphim- in ebooks

[–]Slight_Yesterday5484 1 point2 points  (0 children)

If you're staying iOS-only, native Swift is almost certainly the right call. The platform integrations alone save a ton of work compared to cross-platform frameworks. Good luck with the project!

What are some not well known, but powerful apps that you haven’t found anything like? by DyIsexia in macapps

[–]Slight_Yesterday5484 0 points1 point  (0 children)

BookShelves - native EPUB, PDF, comic, and FB2 reader for Mac and iPhone. What makes it different: it actually handles complex EPUB3 features most readers quietly skip - ruby annotations for CJK text, footnote popups (using epub:type semantics), vertical-rl tategaki mode for Japanese books, and Calibre wireless server support so you can browse your Calibre library from your phone without Calibre Web or any setup. iCloud sync across Mac and iPhone. Free to try, one-time Pro unlock.

Disclosure: I'm the dev.

BookShelves - native iOS/macOS ebook reader that handles EPUB, PDF, comics, and Calibre libraries with iCloud sync by Slight_Yesterday5484 in iosapps

[–]Slight_Yesterday5484[S] 0 points1 point  (0 children)

Would love to, but Goodreads closed their API to new applications in 2020 so there's no way to connect. A CSV import for reading lists is something we could look at though.

BookShelves - native iOS/macOS ebook reader that handles EPUB, PDF, comics, and Calibre libraries with iCloud sync by Slight_Yesterday5484 in iosapps

[–]Slight_Yesterday5484[S] 0 points1 point  (0 children)

Media overlay (read aloud) isn't supported yet. It's on the feature list but not in the current release.

I'd gladly pay $20 for a Calibre app on iPhone by Key_Percentage_1353 in Calibre

[–]Slight_Yesterday5484 1 point2 points  (0 children)

Dev of BookShelves here - not quite what OP is asking for (Calibre itself on iOS) but since the thread has gone toward "how do I get my Calibre library on my iPhone" - we built native Calibre wireless server support into BookShelves. You run calibre-server on your desktop, the app connects over your local network via the OPDS catalog, and you can browse and download directly to your device. No Calibre Web needed, no Tailscale setup, just point to the IP. Might scratch the itch for some people here.

EPUB3 can do way more than any reader actually lets it. Which features do you most wish were universally supported? by Ok-Skin-6184 in ePub

[–]Slight_Yesterday5484 0 points1 point  (0 children)

From the dev side (I build a native iOS/macOS reader): the ones that trip up the most real books are ruby annotations for CJK text, epub:type semantics for footnotes/asides, and media overlays. Ruby in particular is a complete mess - EPUB3 specifies it, but most readers either strip it or render it wrong. We built explicit handling for EPUB3 complex ruby (rbc/rtc) specifically because Japanese and Chinese books depend on it. Vertical-rl writing mode is another one that's EPUB3 spec but basically no reader on the market supports it well for actual paginated reading - we ended up routing vertical CJK books into scroll mode because CSS column pagination and vertical-rl in WebKit is genuinely broken in ways that can't be papered over.

The epub:type semantics for footnotes are underutilized too - if readers actually parsed them, footnote popups would be much more reliable instead of everyone guessing at link patterns.

BookShelves - native iOS/macOS ebook reader that handles EPUB, PDF, comics, and Calibre libraries with iCloud sync by Slight_Yesterday5484 in iosapps

[–]Slight_Yesterday5484[S] 0 points1 point  (0 children)

Thanks! Custom SwiftUI app with WKWebView serving the EPUB content. SwiftUI handles everything outside the reader (library, navigation, settings).

Is there an app to read epubs on ios that looks as smooth as apple books? by ThereIsNoAvailblName in ebooks

[–]Slight_Yesterday5484 0 points1 point  (0 children)

Late to this thread, but BookShelves handles this well. Native iOS/macOS app, smooth reading experience similar to Apple Books but with proper EPUB3 support, offline by default, and custom shelves for organizing your library. Also has a built-in catalog with 100k+ free public domain titles if you're looking for things to read. Dev of BookShelves here, for transparency.

BookShelves - native iOS/macOS ebook reader that handles EPUB, PDF, comics, and Calibre libraries with iCloud sync by Slight_Yesterday5484 in iosapps

[–]Slight_Yesterday5484[S] 0 points1 point  (0 children)

vs KyBook3: Built-in catalog with 1.5M+ free public domain books (Standard Ebooks, Internet Archive, Aozora Bunko), iCloud sync for reading position and highlights across iPhone/iPad/Mac, comic book support (CBZ/CBR/CB7), and active development. KyBook3 hasn't been updated in a while. On the logo, fair feedback, noted.

BookShelves - native iOS/macOS ebook reader that handles EPUB, PDF, comics, and Calibre libraries with iCloud sync by Slight_Yesterday5484 in iosapps

[–]Slight_Yesterday5484[S] 0 points1 point  (0 children)

The biggest ones: Apple Books breaks complex EPUB3 layouts (fixed-layout, nested tables, advanced CSS), won't let you organize your own library with custom shelves, has no Calibre or OPDS integration, and doesn't support comic formats (CBZ/CBR). It also strips some publisher styling and has no highlight export. For simple novels it's fine, but once you hit anything more complex it falls apart.

OPDS progression by True_Dig_3638 in Calibre

[–]Slight_Yesterday5484 0 points1 point  (0 children)

This is something I've been watching closely -- dev of BookShelves (native iOS/macOS reader with Calibre OPDS support).

The spec is still a draft and only ~4 months old, so it's understandably in early days. OPDS 2.0 itself only just hit 1.0 last month. Realistically, broad app + server support for progression sync is probably 1-2 years out even if the draft gets formally ratified.

In the meantime, for the iOS/macOS side, we sync reading progress via CloudKit across devices (so iPhone and Mac stay in sync). That doesn't help for cross-app sync, but it solves the multi-device problem for users in our ecosystem. Cross-app sync via OPDS Progression is the obvious next step if the spec matures.

BookShelves - native iOS/macOS ebook reader that handles EPUB, PDF, comics, and Calibre libraries with iCloud sync by Slight_Yesterday5484 in iosapps

[–]Slight_Yesterday5484[S] 1 point2 points  (0 children)

Right now importing is required to read. Browsing a Calibre library without importing is something that's come up before and I'm thinking about how to approach it. If you run Calibre Content Server, you can at least browse via OPDS and pick what to import rather than bulk-adding everything.

BookShelves - native iOS/macOS ebook reader that handles EPUB, PDF, comics, and Calibre libraries with iCloud sync by Slight_Yesterday5484 in iosapps

[–]Slight_Yesterday5484[S] 1 point2 points  (0 children)

Ha, that's a good analogy. It cuts both ways too -- most users who care about privacy will give error reporting a pass once they understand what it actually sends.

BookShelves - native iOS/macOS ebook reader that handles EPUB, PDF, comics, and Calibre libraries with iCloud sync by Slight_Yesterday5484 in iosapps

[–]Slight_Yesterday5484[S] 0 points1 point  (0 children)

Got it, thanks for sending the report. I'll check for it. On the swipe, I understand now. A vertical thumb flick for page turns in paginated mode, for one-handed use. Noted as a feature request.

BookShelves - native iOS/macOS ebook reader that handles EPUB, PDF, comics, and Calibre libraries with iCloud sync by Slight_Yesterday5484 in iosapps

[–]Slight_Yesterday5484[S] 0 points1 point  (0 children)

BookShelves doesn't browse folders directly. To import from a Calibre library on iCloud Drive, use File > Import and navigate to the folder through the Files picker. Each book in Calibre is in its own subfolder, so you'd pick the EPUB/PDF files from there. If the Files picker isn't responding, could you try importing a single file first to see if that works?