A fork of https://github.com/crosspoint-reader/crosspoint-reader
1# Project Vision & Scope: CrossPoint Reader
2
3The goal of CrossPoint Reader is to create an efficient, open-source reading experience for the Xteink X4. We believe a
4dedicated e-reader should do one thing exceptionally well: **facilitate focused reading.**
5
6## 1. Core Mission
7
8To provide a lightweight, high-performance firmware that maximizes the potential of the X4, prioritizing legibility and
9usability over "swiss-army-knife" functionality.
10
11## 2. Scope
12
13### In-Scope
14
15*These are features that directly improve the primary purpose of the device.*
16
17* **User Experience:** E.g. User-friendly interfaces, and interactions, both inside the reader and navigating the
18 firmware. This includes things like button mapping, book loading, and book navigation like bookmarks.
19* **Document Rendering:** E.g. Support for rendering documents (primarily EPUB) and improvements to the rendering
20 engine.
21* **Format Optimization:** E.g. Efficiently parsing EPUB (CSS/Images) and other documents within the device's
22 capabilities.
23* **Typography & Legibility:** E.g. Custom font support, hyphenation engines, and adjustable line spacing.
24* **E-Ink Driver Refinement:** E.g. Reducing full-screen flashes (ghosting management) and improving general rendering.
25* **Library Management:** E.g. Simple, intuitive ways to organize and navigate a collection of books.
26* **Local Transfer:** E.g. Simple, "pull" based book loading via a basic web-server or public and widely-used standards.
27* **Language Support:** E.g. Support for multiple languages both in the reader and in the interfaces.
28* **Reference Tools:** E.g. Local dictionary lookup. Providing quick, offline definitions to enhance comprehension
29 without breaking focus.
30* **Clock Display (device dependent):**
31
32| Device | Scope |
33| -- | -- |
34| X3 | The X3 uses a dedicated DS3231 RTC, which maintains accurate time across sleep cycles and can be treated as a reliable wall clock. |
35| X4 | The X4 relies on the ESP32-C3's internal RTC, which drifts significantly during deep sleep. NTP sync could correct this, with an appropriate user experience around connecting to the internet on wake or on demand. This causes some tension with the **Active Connectivity** section below, so please open a discussion about this UX if it's a feature you would find useful. |
36
37### Out-of-Scope
38
39*These items are rejected because they compromise the device's stability or mission.*
40
41* **Interactive Apps:** No Notepads, Calculators, or Games. This is a reader, not a PDA.
42* **Active Connectivity:** No RSS readers, News aggregators, or Web browsers. Background Wi-Fi tasks drain the battery
43 and complicate the single-core CPU's execution.
44* **Media Playback:** No Audio players or Audio-books.
45* **Complex Annotation:** No typed out notes. These features are better suited for devices with better input
46 capabilities and more powerful chips.
47
48### In-scope — Technically Unsupported
49
50*These features align with CrossPoint's goals but are impractical on the current hardware or produce poor UX.*
51
52* **PDF Rendering:** PDFs are fixed-layout documents, so rendering them requires displaying pages as images rather than reflowable text — resulting in constant panning and zooming that makes for a poor reading experience on e-ink.
53
54## 3. Idea Evaluation
55
56While I appreciate the desire to add new and exciting features to CrossPoint Reader, CrossPoint Reader is designed to be
57a lightweight, reliable, and performant e-reader. Things which distract or compromise the device's core mission will not
58be accepted. As a guiding question, consider if your idea improve the "core reading experience" for the average user,
59and, critically, not distract from that reading experience.
60
61> **Note to Contributors:** If you are unsure if your idea fits the scope, please open a **Discussion** before you start
62> coding!