[HN Gopher] Zenreader: A 4.7 Inches E-Ink RSS Reader Powered by ...
       ___________________________________________________________________
        
       Zenreader: A 4.7 Inches E-Ink RSS Reader Powered by ESP32
        
       Author : ca98am79
       Score  : 229 points
       Date   : 2021-04-19 17:48 UTC (5 hours ago)
        
 (HTM) web link (www.tnhh.net)
 (TXT) w3m dump (www.tnhh.net)
        
       | pinusc wrote:
       | A while ago I made Morning Digest [1] with a similar use case: to
       | read the news on my eReader, and do so prettily. The end result
       | is a daily epub "newspaper", auto-delivered to my device.
       | 
       | It's essentially a complicated script that I run on a server
       | every 24 hours to fetch news from rss lists, and compile them on
       | a (very long!) epub or pdf, complete with index and good
       | typography. It even gets around a few paywalls thanks to a couple
       | tricks, and the output is complete articles with reasonable/good
       | output quality.
       | 
       | I then have a script on my kobo to fetch the daily digest every
       | morning when I open it. On a kindle you could just have a script
       | email the result to it.
       | 
       | Overall I'm really happy with it, it's the perfect solution to
       | read the news for me.
       | 
       | [1]: https://github.com/pinusc/morning-digest
        
         | robterrell wrote:
         | Checking it out and I think you're missing a requirement:
         | readability-lxml maybe?
        
       | AdmiralAsshat wrote:
       | I gave up on the idea of RSS on an e-reader because RSS is
       | _garbage_ on the vast majority of websites these days. Most of
       | those that support it will only show you the headline and maybe
       | the first paragraph before including a link to the full article.
       | So you 're then still opening the article in a web browser to
       | view it--which then sends you back to the well-known
       | "Experimental web browser on Kindle/Kobo/other e-Ink reader is
       | crap" problem). There were only a handful of sites where I could
       | do meaningful article reading within the RSS reader itself, and
       | one of them (ArsTechnica) required paying a yearly membership fee
       | for the personalized full-article RSS feed.
       | 
       | It's far less convenient, but just running the articles through
       | Pocket makes for a superior reading experience (particularly on
       | the Kobo), since Pocket will extract and display only the
       | readable text, and avoid the nightmare that is trying to display
       | your average webpage on an e-Ink reader browser.
        
       | totetsu wrote:
       | Koreader which can be installed on many devices (with some
       | coercion) can download news feeds.
       | https://github.com/koreader/koreader/wiki/News-downloader
       | 
       | Calibre can also download them and output them to e-pub and push
       | them to your device.
        
       | bobajeff wrote:
       | This reminds me of 68k.news.
       | 
       | Which already has inspired me to think about doing something
       | similar only for the whole web. I think I could scale it down to
       | be usable on a smart watch too.
        
       | cptrp2101 wrote:
       | These are really cool. As someone who mostly writes code for web,
       | this seems like a fun way to learn a new stack.
        
         | ficklepickle wrote:
         | Absolutely! I'm also a web person and I got into embedded as a
         | hobby using ESP8266 w/ the Arduino IDE (The ESP32 is a newer,
         | better ESP8266).
         | 
         | I cannot recommend it enough. I've built some neat stuff, like
         | this device[0] for triggering my door buzzer over the web.
         | 
         | [0] - https://jeremypoole.ca/posts/put-your-door-on-the-
         | internet/
        
       | vongomben wrote:
       | Cool! One thing I love from kobo is the pocket integration that
       | makes the asynchronous online reading much simpler
        
       | ladyanita22 wrote:
       | I've got to say I love the Constantia font, but is it open
       | source? Won't you have problems with it?
        
         | jimmies wrote:
         | I was testing different fonts on my personal device. The font
         | was not shared in the source code release.
        
       | dstaley wrote:
       | I have one of these M5Paper devices, and it's quite nice! I
       | quickly ran into issues drawing nice UIs, so my app actually runs
       | server-side and sends back a PNG that the M5 simply renders to
       | the screen. Is it the fastest thing in the world? Absolutely not,
       | but it makes a great ambient display that's only refreshed every
       | few minutes.
        
       | andrewstuart2 wrote:
       | > I'm not making the server code available now, because it is
       | messy and runs on duck-tape now.
       | 
       | I feel like this is an unfortunately common take. "If it's not
       | widely used, or pretty, or innovative, it's not worth sharing."
       | Chances are I've seen more duct tape on production code than
       | whatever simple hacks you've done to make the server work.
       | 
       | If it works and it's not going to leak your personal data or
       | credentials, just share it. Anybody who's judging you by the
       | state of your repos clearly doesn't understand that coding is
       | iterative and happens better in the open, and is probably safe to
       | ignore. Even if you never get a single star or MR, it's now out
       | there to at least be something people can learn from. And really,
       | all you've done is increase the chances that you might learn from
       | somebody else, or help somebody else out.
        
         | throwaway19419 wrote:
         | > Anybody who's judging you by the state of your repos clearly
         | doesn't understand that coding is iterative and happens better
         | in the open, and is probably safe to ignore
         | 
         | Counterpoint: I applied for a job a few months ago which
         | required a coding sample. I listed a link to a project of mine
         | on GitHub. Rather than commenting on that project, they instead
         | found another repo under the same account -- an open source
         | project I started 6 years ago, but had not returned to since --
         | and told me they weren't happy with the quality of the code
         | they saw represented there, which killed my application.
         | 
         | I was annoyed. That wasn't a project I had looked at in some
         | time, and I don't feel it represents my best work. It was just
         | a proof of concept that I hoped to later refine. But it cost me
         | an employment opportunity.
         | 
         | I deleted the public repo.
        
         | mlyle wrote:
         | At the same time, there's been plenty of things that I've held
         | off sharing for a week or two, for a chance to clean things up,
         | and this isn't a crazy thing to do.
        
         | comeonseriously wrote:
         | The only people who care what the code looks like are the
         | people who are jealous they can't do this and want to shit on
         | someone else's project. Honest, no serious coder gives a shit
         | what the code looks like. Only loudmouthed trolls do.
        
         | jbarberu wrote:
         | I was messing around with the BMW iBus a while back and found a
         | few repos with complete garbage code that was super useful for
         | getting an idea of what the protocol looked like. Of course I
         | didn't end up sharing mine, but ended up selling that car
         | before getting beyond "wow it works!" :(
        
           | ghostbrainalpha wrote:
           | What did you want to do with the iBus ?
        
         | boatsie wrote:
         | As someone who wants to try his code, this is easy to say. But
         | more often than not, hacks and imperfections in the code will
         | be pointed to and laughed at. Companies interviewing him might
         | think less of him, etc. They will get angry with him if he
         | doesn't fix bugs they find. And do we really expect the
         | community to be appreciative of what he's done? Open source
         | developers talk about how they maybe make $100 in donations for
         | libraries that millions of people use.
         | 
         | It's easy to tell someone to share something without
         | understanding there's usually more harm than good.
        
           | andrewstuart2 wrote:
           | I think I write decent code. But I haven't always. And I've
           | at least always tried to put everything I can up on my public
           | GitHub, and even when my employer has been cool with it, just
           | tossing generic non-competitive code (not core to the
           | business) up on GitHub as well. My experience has been the
           | opposite of what you say. I've never had a single person mock
           | me, I've only ever really learned things from
           | comments/issues, gotten value add from PRs, or been
           | encouraged to see that people like/use my code. It's been one
           | of the single greatest sources of learning in my career.
           | 
           | Quite honestly, the employers who are out there that would
           | look at code I've put out there, see a bug, and pass up my
           | resume, are the kind of employers I would almost certainly be
           | just wasting time with if I was to work there. So in that
           | sense it probably only does me good too; I get to spend my
           | time at companies that understand the journey, understand
           | differences of opinion and design, and don't expect perfect
           | code that 100% matches their style guide every time.
           | 
           | The reason I write code is not at all exclusively to make
           | money. And the code I use daily is free and open source by
           | probably a factor of 10:1. So I like to give back where I
           | can. I'm not looking to make a buck, but I'm also obviously
           | gonna put my GitHub on my resume because I'd much rather be
           | matched to employers who can observe my approach and
           | appreciate it enough to bring me to the interview stage.
        
         | jimmies wrote:
         | Author here. I was actually somewhat worried that someone gonna
         | get to my Pi that has some other stuff running on it, because I
         | am absolutely not doing any security and sandboxing on this
         | nodejs server...
         | 
         | But I guess you made a good point, here you go :) Welcome to
         | the wonderful world of random code copy-and-pasted from
         | Stackoverflow!
         | 
         | https://gist.github.com/htruong/692b1bca7b94db20051b601c89a4...
        
           | mixcocam wrote:
           | What you built is super cool. If I would like to hack on an
           | m5paper myself what ressources would you recommend that I
           | start with to kick off a small project?
        
             | jimmies wrote:
             | I read the M5paper Factory Test app [1] and it has tons of
             | interesting details.
             | 
             | m5stack has several other example applications in their
             | repo, but I learned a lot from reading their source code in
             | the test app. Their code is quite sane and organized. You
             | just need to be tolerant to their spelling from time to
             | time, I figure English is not their first language (just
             | like me).
             | 
             | 1: https://github.com/m5stack/M5Paper_FactoryTest
        
           | opan wrote:
           | Could you add a LICENSE file?
        
             | jimmies wrote:
             | I have edited the code on the link above and added the
             | license text.
        
           | cpach wrote:
           | https://github.com/mozilla/readability
           | 
           | I had no idea that Readability.js was available as a
           | standalone library. That's awesome!
        
           | bakatubas wrote:
           | I found a vulnerability!
           | 
           | ...
           | 
           | Just kidding. :)
        
           | ebfe1 wrote:
           | Thanks for sharing the code mate. May i also suggest adding a
           | token/password if you want to reduce attack surface. Also
           | from a quick glance, this looks like it is vulnerable to ssrf
           | style attack. This type of service is often vulnerable to it
           | given the nature of it is fetching url on user's behalf. I
           | would suggest either isolate it, have a whitelist of domains
           | that you trust or having iptables to deny internal access.
           | 
           | Nice work regardless!
        
           | MR4D wrote:
           | Kudos to you!
           | 
           | We need more people to take this approach for things they
           | want to share. It makes for a better community.
        
             | HowardStark wrote:
             | Super glad to see that OP posted the code! :)
             | 
             | We as a community also need to do a better job of embracing
             | unpolished projects and emphasizing a "don't be bashful"
             | approach. I've seen far too many hobbiest projects posted
             | here where the comments have nitpicked them apart in a
             | derogatory, non-constructive way.
        
       | thisisastopsign wrote:
       | Does anybody have an idea how much this ESP32/M5Paper setup cost
       | the author? Buying individual components ; not bulk
        
         | m_eiman wrote:
         | There's also Inkplate: https://inkplate.io/
        
         | wiremine wrote:
         | I found this link which says $85.
         | 
         | https://shop.m5stack.com/products/m5paper-esp32-development-...
        
           | tyingq wrote:
           | Very similar, but without the case, $37.45:
           | https://www.tindie.com/products/ttgo/lilygo-t5-47-inch-e-
           | pap...
        
         | Rebelgecko wrote:
         | Was there a big run of 4.7 inch eink screens recently? Lilygo
         | has a similar set of products: 4.7" screen powered by ESP32
         | with different battery connectors, touch screen overlay, and a
         | few case options (some of which are basically just repurposed
         | phone bodies). Theirs comes out to ~$50 if you get touch + a
         | case
        
       | dredmorbius wrote:
       | There are numerous e-ink devices that support browsers, typically
       | running Android, though Kobo is straight-up Linux. Mind that a
       | DIY option would likely be far superior from a privacy /
       | antisurveillance perspective.
       | 
       | I picked up an Onyx BOOX a couple of months ago. The stock
       | browser is a slightly modified (and slightly crippled) Chromium
       | fork. Via F-Droid, I've installed Fennec Fox (mobile Firefox),
       | and other browsers are available.
       | 
       | There are some benefits, and compromises, to e-ink displays.
       | Pixels are cheap, paints are expensive, persistence is free,
       | colour is unavailable (well, on grayscale devices, there are now
       | full-colour e-ink displays at not-unreasonable prices).
       | 
       | My biggest persistent gripes are:
       | 
       | - Scrolling on e-ink really is _not_ how you want to navigate,
       | pagination is much preferred. Neither browsers nor most other
       | apps support paginated navigation.
       | 
       | - The assumption that I'm using a palm-sized full-colour emissive
       | display, rather than a monitor-sized, greyscale, reflective one,
       | means that most "mobile-optimised" apps and websites are highly
       | frustrating.
       | 
       | I've inquired in a few places (including HN) about what app
       | design guidelines / practices exist for e-ink. Apparently there
       | are none. This is disheartening.
        
         | II2II wrote:
         | > I've inquired in a few places (including HN) about what app
         | design guidelines / practices exist for e-ink. Apparently there
         | are none. This is disheartening.
         | 
         | That probably has a lot to do with the intended audience of
         | e-ink. The most consumer facing application are e-readers, a
         | market that is served by a handful of companies. Most of the
         | remaining applications are commercial.
         | 
         | With respect to guidance, you may want to check out the
         | Mobileread forums. There are a few people who develop software
         | for e-readers there. Notably in the section for Kobo, and
         | likely for other e-readers as well. There are also some open
         | source projects that you can look into. KOReader and Plato come
         | to mind. I also recall a mention of _an_ e-ink guideline in a
         | video by Ralph S Bacon on YouTube, so there is something out
         | there. (Apparently colour e-ink displays should be refreshed at
         | a regular, albeit long, interval in order to maintain image
         | quality.) I realize that most of these source are for palm-
         | sized, or smaller, screens but at least they will understand
         | the physical properties of e-ink.
        
       | carlob wrote:
       | Everybody loves to complain about the kindle browser, but the one
       | on the kobo is actually decent...
        
       | clint wrote:
       | There are a lot of services (I think Amazon may even maintain a
       | Chrome extension for this) that can take a web page and run it
       | thru a "readability" service and then deliver it to your Amazon
       | Kindle's email address which will add it to your library.
       | 
       | Its a pretty decent way to read a good chunk of the content you
       | find online.
        
         | k1m wrote:
         | Yes, I work on one such service here:
         | https://www.fivefilters.org/push-to-kindle/
        
       | nubela wrote:
       | You know what will be nice? Having pocket app run on this.
        
         | input_sh wrote:
         | Kobo devices come with built-in Pocket support.
         | 
         | Not a great Pocket support (for example: no highlights), but
         | reading experience is fine.
        
       | devindotcom wrote:
       | Kobo readers have Pocket built in. Would be nice to have straight
       | RSS too but I send long reads to my reader all the time.
       | 
       | reMarkable has a Chrome extention to send stuff to its devices,
       | though it's a bit less seamless.
        
         | input_sh wrote:
         | KOReader is fairly straightforward to install on a Kobo and it
         | supports RSS: https://github.com/koreader/koreader/wiki/News-
         | downloader
         | 
         | You don't even have to say goodbye to original firmware, you
         | can just restart into original. Its interface leaves a lot to
         | be desired though.
        
           | pinusc wrote:
           | I'd say KOreader interface is not pretty, but it gets the job
           | done quite well--and certainly with a lot more features &
           | customization than stock.
        
             | input_sh wrote:
             | > but it gets the job done quite well
             | 
             | I don't know, I often find myself having to click random
             | things to find the feature I'm looking for, even having to
             | fall back to DDG a couple of times because I cannot find
             | what I'm looking for.
        
         | dredmorbius wrote:
         | Is that the Android Pocket app?
         | 
         | I'm finding that ... exceedingly poorly suited to e-ink
         | devices, on top of existing Pocket annoyances.
         | 
         | For latter, see:
         | https://old.reddit.com/r/dredmorbius/comments/5x2sfx/pocket_...
         | 
         | Of the listed issues, only find-in-page has been addressed.
         | 
         | It's still not possible to cross-reference articles by tag
         | within the app (this does work on the Web client), nor are tags
         | readily searchable or editable (again, the Web app does
         | somewhat better).
         | 
         | On e-ink, where pixels are cheap but paints are expensive,
         | Pocket suffers greatly from:
         | 
         | - Not providing a persistent scrollbar to indicate position-
         | within-article.
         | 
         | - Not offering pagination as a default, persistent, _fixed-
         | render-for-document_ option. That is, documents are paginated,
         | the pagination is set from the start of the document, _not_
         | whatever arbitrary point pagination was  "flipped" on.
         | 
         | - Access to document annotation features from within the
         | paginated view.
         | 
         | - Ability to add tags directly from selected document text
         | (with an option to edit).
         | 
         | There are other gripes, but Pocket remains immensely
         | frustrating to use in practice, and the more you use it, the
         | worse it gets.
        
           | devindotcom wrote:
           | No, it's a custom thing.
        
         | dleslie wrote:
         | Most of my Kobo time is spent viewing Pocket articles.
         | 
         | I save links to Pocket during the day, and in my down time I
         | read them on my Kobo.
        
       | GloriousKoji wrote:
       | > The idea is to transform XML RSS to JSON and transform any
       | article URL to plaintext by a nodejs script via an HTTP API SaaS
       | or whatever you call it.
       | 
       | So not really an RSS reader.
        
         | croshan wrote:
         | So critical. So some parsing is done off the device due to
         | performance constraints. You'll need internet access anyway to
         | pull down the RSS feeds, and a middleman Lambda/CF worker won't
         | add much latency. I think it's a perfectly acceptable tradeoff.
        
         | input_sh wrote:
         | I actually prefer this approach. Basically go around websites
         | not serving full articles via RSS by parsing them via
         | Readability or mercury-parser or whatever.
         | 
         | Can't back it up, but I'm pretty sure some online RSS services
         | use the same trick. Makes for a better UX than "click here to
         | read the full story".
        
       | sdlion wrote:
       | There are available eInk with a DSI interface and Linux drivers?
       | It shouldn't be that hard to build a DIY eInk slim tablet with a
       | PiZero or for some, with a CM4.
        
       | MrJagil wrote:
       | Plenty of E-ink news on HN lately. There's an active discord
       | hacking away if you're interested: https://discord.gg/DTXpkCRu
        
       | yosito wrote:
       | I've been using an Onyx Boox Note with inoreader for a few
       | months, and it's not super polished, but it's a great device if
       | you're interested in an e-ink RSS reader!
       | 
       | It runs de-googled Android out of the box, so it can run most
       | apps. Some of my other favorite apps to use on it are it's
       | integrated ebook reader with pen support and integrated machine
       | translators, F-Droid, Firefox, Nextcloud to sync my ebook
       | collection with Calibre, and Materialistic for reading HN.
       | 
       | I've also got Twidere for Twitter, Frost for Facebook, Instagram,
       | Telegram, Messenger and Goodreads on it, but I'm trying to wean
       | myself off of those platforms.
        
         | criddell wrote:
         | I've read that Onyx isn't living up to the terms of the GPL by
         | refusing to make their source code available:
         | 
         | https://news.ycombinator.com/item?id=23735962
        
           | yosito wrote:
           | Oh yeah, I definitely wouldn't say that Onyx is a super
           | trustworthy company. Nor is the OS super secure or
           | trustworthy. A fully open source OS would be better, and the
           | bootloader is unlocked, so if I had the time I could try to
           | install a better OS. But right now most of my hacking energy
           | is focused on my getting my Nextcloud system fully setup. I
           | see the actual devices themselves as interchangeable.
        
       | mattkevan wrote:
       | That looks cool!
       | 
       | Just had the thought that it could be used as a handheld Gemini
       | Protocol reader. Gemini (or Gopher) being lightweight and text-
       | only could fit really well.
        
       ___________________________________________________________________
       (page generated 2021-04-19 23:00 UTC)