Okay, so I started reading this and got excited to see what this was all about. I've been wanting a web browser that can turn the "regular web" (as much as possible) into something more like an e-book that happens to have hyperlinks.
Essentially, imagine Reader Mode, but all the time.
But this is... something else? I tried scrolling to the bottom and as soon as I click on the scroll bar, I get a pop-up showing a bunch of gestures and can no longer scroll. Pressing the back button does nothing. Closing the tab asks me if I want to discard my unsaved changes?!
So I'm guessing this is some CSS/JS to make a regular site _behave_ something like an e-reader? Which may be fine as far as it goes, I just don't think it's a good idea to hijack the scroll
I want this too! I discovered a really esotieric way to get this: https://duncanlock.net/blog/2024/01/04/super-fast-reader-mod... - but it would be really nice if there was just a way to switch reader mode on permenantly in modern browsers. Apparently Safari can do that, but afaik no other browsers support it.
I really wish browsers were more modular - if the rendering engine and network fetching were easily separable - and you could insert your own steps into that pipeline, you could do all sorts of neat stuff. If I could insert some code of my own in between the fetch and the render, that would be ideal - strip out all ads and malware, optionally remove all scripts or css, run it through readability, etc...
Many of the recent feedback I've received, especially from the E Ink community, suggests developing this project into a browser plugin. I anticipate future development will likely involve both a front-end module and a browser plugin approach. While my time is limited, I will do my best to explore and implement this.
> if the rendering engine and network fetching were easily separable - and you could insert your own steps into that pipeline, you could do all sorts of neat stuff.
Can’t that be done relatively easily with https://mitmproxy.org/?
Heh, I know I'm late to the party here - but I actually separate the rendering and network in BrowserBox by running the browser on a remote server and the interface is just a web app on your device.
Doubly relevant to eInk mode as soon be releasing a text-mode browser which has a verys imilar goal: make the web less noisy, and easier to focus on.
We try that by putting the web in the terminal. Technically it's similar to how the CloudFlare/S2 remote browser works in that we take rendering instructions from the remote browser and display in your terminal, except instead of rendering everything from the browser engine, we only render the post-layout text boxes! To do this you need to apply a secondary layout pass account for overlaps due to monospace font sizes, and scaling to terminal dimensions.
That's why I'm thinking that people interested in eInk mode might care about this browser too, a quick demo of which is here: https://youtu.be/Xmt6j-nfc7E
If you'd like to be among the first to test it out when ready please add your name / email to this list: https://tally.so/r/wbzYzo
Interesting... I may have to give that a shot in the near future.
That's great. A browser extension is a more proactive approach for E Ink users.
> Essentially, imagine Reader Mode, but all the time.
You can tell Safari to use Reader Mode by default on all websites.
On iOS 18: Settings > Apps > Safari > Reader > All Websites.
On macOS 15: Safari > Settings… > Websites > Reader > When visiting other websites.
The advantages of this:
- Every website has the same accessible layout
- Blocks advertisements
- Blocks popups and auto playing videos
- Blocks cookie banners
- Blocks newsletter signup modals
- Blocks sticky headers and all distractions
- Auto dark/light mode on all websites
- Choose your preferred colour theme, font, font size and margins and it applies to all websites
- Images are presented neatly
- Inline videos are presented neatly
- Space bar to scroll down, shift+space bar to scroll up
- J/K to scroll between HTML elements (usually next paragraph)
- Can be disabled on a per-domain basis for when it's not suitable
The downsides:
- There are no downsides
I've tried Reader Mode, but Safari's Reader Mode doesn't properly display JavaScript elements, such as my footNote popups, and some YouTube videos also fail to load correctly. Additionally, embedded Google Maps within this article don't appear accurately, and many website layouts get distorted. Furthermore, current Reader Modes on major browsers predominantly rely on scrolling, which isn't ideal for E Ink. These shortcomings are pain for E Ink users and this is why I'm advocating for this alternative mode.
I completely agree. When it comes to eInk, then classic reader mode scrolling is an inconvenience. But compared to normal browsing, it is great. As for distorting website layouts, that is usually a bonus. Reader mode + standardized website navigation layout would be the golden solution.
space and shift space always work, but I didn't know about j/k, thanks!
While looking for a typeface for my terminal, I happened upon the Braille Institute's website (https://www.brailleinstitute.org/) which exemplifies more or less what you're describing. It is an aesthetically-pleasing site, with low visual and cognitive loads.
Granted, that is an example of a site and not a browser, but I would love it if a browser could magically transform websites to look like the Braille Institute's, where visual and cognitive accessibility are first-class citizens in the UX.
Do you happen to know how the Braille website's style is called? The high contrast, button shadows with big offsets. I've seen it in several places now and would like to use it myself
Probably not it, but it reminds me of some websites that have been described as "brutalist". See: https://web.archive.org/web/20250404083913/https://brutalist...
There may be good ideas in here, particularly for the e-reader users, but it's a terribly unfriendly web site from a mouse / keyboard. Having no (apparent) way to escape eInk mode is really not a great user experience.
And I, too, fell into the eInk mode by clicking on the scrollbar. Very odd design decisions there.
I couldn't figure out how to go "up" in pages. Pressing "Home" didn't do anything. So a lot of web browser / mouse / keyboard functionality is thrown out in that mode, which shouldn't be necessary to still be a good e-reader mode.
There's an e-ink optimised Android app, Einkbro, which I've been using for several years now. It's mentioned in TFA, for what it's worth.
One of Einkbro's highly underappreciated features is "save page as ePub". This provides the "web as ebook" experience you're looking for.
But it gets better: You can save multiple pages to a single ePub, where the additional pages are appended to the end of the document. This provides a book (or multiple books) which can follow a theme: a set of pages on a topic, a time-oriented collection of pages, etc.
The UI/UX isn't as seamless as reading online, but the end result is really good.
Note that an ePub document is a compressed archive of HTML documents. You can pull apart the ePub to edit it: re-order contents, re-title them, edit the underlying documents themselves, etc., using shell tools. On an Android device itself directly if you've installed Termux. A bluetooth keyboard helps immensely here.
I've been raving about this feature for years now, see: <https://toot.cat/@dredmorbius/107958709435468728>.
I had a similar idea to use the ibtegrated browser in my ebook.. maybe is useful to someone else https://ebookmode.dropdatabase.es/
This is wonderful! Why don't you get together with the author of the article and make a killer project?
Actually, EinkBro's Reader mode is using Mozilla's readability.js. I've actually been using EinkBro for over four years. One of the main reasons I want to develop Eink Mode is to achieve true pagination, where text and images aren't cut off at the edge of the screen. EinkBro's approach involves scrolling a fixed distance by tapping page turn zones on the screen (just like pressing the space bar when using a desktop) , and it removes the scrolling animation using "jumping" by a 'scrollHeight' amount. However, this still has the issue of potential content cutoff.
Eink Mode + Ebook Mode = A fully functional web browser for Kindles, which is the most popular eInk device by a large margin.
If you combine these two projects, then you will have a great eInk experience for any kind of eInk device, and not much need for a browser plugin.
This sounds great! Maybe we can cooperate and try to make it happen.
Clicking on the scroll bar will enter this mode is actually a bug and thank you for your report and I have fixed it. The back navigation popup is a temporary measure to protect against losing the highlights and notes due to accidental back navigation presses. (Some E Ink devices support side swipe gestures from the edge of the screen to return to the previous website.) which I guess is more frustrating. Once this module is connected to backend script and database, allowing for real-time saving of your highlights and notes to your account, this preventive measure can be removed.
I have actually written a shitty & dumb version of exactly this, that works quite well (but not tested much). Might share a link here in the comments if i find time to publish.
Actually it's not a bad idea. Scrolling is impossible on epaper screens.
I wish apple would enter the eink device market. Would be a piece of cake for them and easy new revenue for the company if they even get it half right IMO
I find comments like this strange and tbh a bit worrying too; instead of wishing for technology to get better, it's wishing for a specific company's revenue to improve.
I hope they do not enter the eink device market. Eink in general is unfortunately already suffering from the stranglehold of one giant which has locked innovation away due to its proprietary implementations. Having two will not make the situation better, only worse.
Several alternate eink devices are doing quite well against the Kindle. it’s true that Amazon dominates, but devices like the Kobo and others are still innovating and developing new devices, at least partly because they’re less locked-down than Kindle’s.
Apple is the only hope to get a quality device for the mass consumer segment. Others have tried and they have died, like Lenovo.
When I browsed away by typing another site name in the address bar i got the 'your information may not be saved' firefox popup twice. Didn't see any forms...
Thank you for bringing this issue to my attention. I will try to modify it to automatically detect if the user has used highlighting or handwriting features, and only then will this prompt appear.
I find the wording ambiguous, but this:
> Eink mode is not a closed-file format reader but rather a form of responsive web design (RWD) integrated into the website itself.
suggests to me that it's a display mode you have to enable in the CSS design of the site, like "print" layout. I.e. this particular version is not software you can use on any site, it has to be baked into the site.
Yes it is, he has instructions here on how to enable it on your site: https://github.com/jack101311/Eink-Module
Now the quest is to make this something that the user instead enables on her device for all sites.
This is something I've been wanting for a while. You could probably build an extension to accomplish that. One hard challenge would be extracting content and then displaying it in a way that retains its semantics across the web, including navigation, sidebars, etc. Another would be form handling.
How about an extension that does it -after- the browser has implemented reader view? Then all that is already taken care of.
As far as I can tell, none of the built-in reader modes seem to handle basic things like global navigation or pages that aren't laid out as articles. Even worse, many pages that appear to be articles to the eye won't render in reader modes. There's a lot of work to be done yet.
Thank you for your feedback. I do plan to turn this into a browser plugin.
That would be absolutely awesome.
If you're not already considering it, the Readability.js module might make this more straightforward:
<https://github.com/mozilla/readability>
(I think. I've looked into this but not applied it directly myself yet.)
Thank you for your suggestion. I may look into the implementation of how it fetches the main article of the document.
If it can get rid of any kind of pop-up (newsletter, GDPR, intercom, install the app to keep reading, click here to read the full article) interruptions, I want it ...
These interruptions are especially annoying on e-ink.