[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)