Skip to content

Reader 0.1.0: a Shelf, Catalogues and Contents

Choose a tag to compare

@yarosz yarosz released this 30 Sep 00:12
· 17 commits to main since this release
v0.1.0
e3c8164

Reader's first release: a DRM-free EPUB reader for the Light Phone III. Light builds and signs Tools from a public commit, so this release is the tagged commit. There is no APK here; a Light-signed build will follow when Light's developer portal opens.

Reading

  • EPUB reading set in Literata, with tap or volume-key page turns (N1, before PRs; key-up handled in #23).
  • A 480 dpi type scale with five font sizes (A− and A+). Your place survives every change (#6, #9).
  • Pages avoid ending inside a hyphenated word or on a heading, unless that would leave a Page under 70% full. After a size change, a Page starts on a whole word when that's within a few lines, and stays in its Chapter (#6, #30).
  • Each Page is laid out from your place: on the LP3, laying out the first Page takes about 110 ms and a font change about 120 ms, under 200 ms when your place sits at a layout seam (P90, Pride and Prejudice's longest chapter; not counting reading the EPUB itself, which can take seconds for a long Book) (#7, #8, #9).
  • The top line names the Chapter. The footer shows the minutes left in it, learned from how fast you read while Reader is open; skimming doesn't count (#24, #29).
  • Contents lists every Chapter, marks where you are, jumps to one, and leads back to the Shelf (#22, #26, #27).
  • An end page follows the last Page of the text and marks the Book finished. A Book's back matter (Gutenberg's license, colophons) comes after it, reached through Contents (#24, #25, #32).
  • Text in divs and tables reaches the Page, and so do a Book's dedications, epigraphs and forewords (#32).

Books and where they come from

  • The Shelf: Books you're reading first, most recent on top, then ones you haven't opened, then finished ones. A Book you're reading shows its percent. Edit removes a Book (#16, #24).
  • Project Gutenberg and Standard Ebooks' new releases are built in. Add any public OPDS (Atom) Catalogue at an https address. Browse, search, "More", and download straight to the Shelf (#15, #19).
  • A Book downloaded from a Catalogue can be downloaded again if its file goes missing (#16).
  • "Read" on a Book's page opens it over the Shelf (#28).
  • Failures say what went wrong: an address that doesn't exist, no connection, a copy-protected Book (refused), a file that isn't an EPUB (#15, #19, #31).
  • Your places, font size and Shelf live in one file on the phone, replaced atomically with a backup, so a relaunch lands on the same Page (#14).
  • https only. Every request's User-Agent names Reader and its version, and nothing about you or the phone (#15, #35).
  • No accounts, no tracking. Reader goes online only to fetch a Catalogue or download a Book.
  • By design: EPUB only, no covers, and no page numbers (your place and the minutes left stand in for them).

Not yet

  • Catalogues that need a username and password ("Sign-in isn't supported yet").
  • Downloads in the background: a download runs only while Reader is running.
  • Next release: hideable reading controls, an About screen, and a smaller font size.

For developers

  • CI: a GitHub Actions build plus local signoffs on the emulator and a Light Phone III (#1, #13, #18). Releases build from the committed serverPackage (#4).
  • The glossary (CONTEXT.md), ADRs and domain passes (#17, #20, #21, #33, #34); docs and screenshots (#2, #5, #36, #37).