
Show HN: ReadHNLater – A HN PWA with a “Read It Later” Feature - brapifra
https://github.com/brapifra/readhnlater-pwa
======
brapifra
Thank you for the support guys! I've updated the PWA and you can now access
the comments and ASK HN items!

------
brapifra
As I couldn't find any HackerNews PWA which allowed me to save items for
reading them later, I decided to create my own. I'm aware that it has some
flaws (Comments & Ask HN items are not working right now), but I'll add more
features if people are interested.

Tech stack: React.js, styled-components, redux, redux-offline and HN Firebase
API

------
lettergram
Hacker News already has a similar feature..

You can just up vote a submission (or click favorite), then go to your user
profile and view it later.

This could just integrate into that BTW.

~~~
kitsunesoba
If you’re running Safari, right-click link → Add to Reading List. It’s site
agnostic, syncs across devices, and you can even have Safari fetch and cache
your reading list for offline access.

~~~
exikyut
I wonder how solid that caching feature is, and whether it works for eg a JS-
powered PWA that's fully client-side rendered.

------
kitsunesoba
Looks good, but it seems to be missing a home screen icon. On my iPhone it
uses a screenshot for its icon.

A dark theme option might be nice.

------
snek
Would be nice if the `more` button replaced the existing stuff instead of
adding to the bottom.

~~~
brapifra
Yeah I agree, but as far as I know, we can't paginate any firebase request.
That means that this feature is not possible unless we load the first 60
entries and show only the 30-60 ones, which is kind of a useless solution :(

------
therein
On Firefox, I am unable to access the comments. Clicking on the comments link
results in nothing happening.

~~~
respawnzero
Yep I also run into this issue.

~~~
brapifra
I've updated the PWA and now you can access the comments!

------
rasz
isnt that what browser Tabs are for?

~~~
exikyut
They most definitely...

 _sound of mechanical HDD churning_

...are, and I'll catch up on...

 _disk I /O LED is on solid_

...all of them when...

 _" Tabs Unresponsive" window briefly flashes opens for 343rd time today, then
disappears after one second_

...my computer's a little more...

 _everything I 've just blindly typed finally appears in the textarea, all at
once (oh hey no typos!)_

...responsive, and I can smoothly...

 _renderer stalls again and I return to blindly typing_

...use my computer to actually read through and close everything.

\--

I have a MASSIVE MASSIVE HUMONGOUS SO INCREDIBLY ANNOYING problem with modern
tabbed browsing: tabs are processes. This reeks of 1970s-era software design.

This disasterous model makes switching between large numbers of open tabs
impossible unless you have an industrial-workstation-class machine. You know,
>=24 cores, >=64GB RAM.

...Coincidentally (or perhaps not), the kind of machine Chrome is developed
on. :/

I only have 8GB RAM, and, as I noted before, a mechanical HDD which is not
especially fast.

I have upwards of fifty screenshots of my load average skating around the
30-40 mark, solely because of Chrome swapping.

I've also had Chrome swap to disk (HDD LED on solid) for seven hours straight.

\--

For the past couple of years I've used The Great Suspender to help me try to
manage open tabs. I've slowly reached the conclusion that using it has largely
been extremely destructive to my sanity and quality of life. The above
scenarios are happening because of TGS.

This is because TGS allows me to open a truly stupendous number of tabs -
about 800-1200 (yup!) - and because of how Chrome's process model works, all
these tabs get bound to one renderer process, so they all only need the
overhead of the one process instead of like say 30 host processes, and the net
total memory usage is only around ~1.5-2GB or so.

Sounds impressive... until you learn that this ~2GB blob of uselessness
_cannot_ be swapped to disk - in the sense that Chrome (for whatever inane
reason...) needs to constantly chat with the process over IPC, which works by
twiddling bits in the process' shared memory allocation, and then the process
does even more twiddling as a result of the IPC.

From this point, either two things happen.

\- Let's say I'm doing a large pile of research/work and opening new tabs at a
furious rate. TGS suspends tabs after half an hour, so I can pile up a large
bunch of unsuspended tabs. At some point the RAM used by the unsuspended tabs
will exhaust my RAM and I'll begin swapping to disk.

\- The other possibility is that I keep the number of un-suspended tabs fairly
low, so 99% of them are suspended. This will allow me to eke ever closer to
the 1200 tab mark, at which point the suspended-tab host process will actually
be using close to 3-4GB RAM, leaving comparatively little RAM for the OS, the
browser, other services, and (oh hey) the unsuspended tabs I have open.

In either of these situations, the exact moment I hit certain watermark,
system performance and responsiveness unravels at a remarkable rate, it
becomes utterly impossible to even use the computer (as I noted before about
high system load), and I have to get the number of tabs down to about 200
before everything rights itself.

At this point my only viable practical option is to use something like Session
Buddy to dump all the tabs I have open to disk, and then batch-close all of
them, regardless of whatever was open.

:(

To answer your question - honestly, and fairly - no, tabs are NOT a viable
read-later mechanism.

\--

Obviously I don't have all the time in the world to simply sit on HN all day -
or, at the very least, the physical attention span to focus on reading.

Some extremely successful experimental medication has helped me to be able to
think several orders of magnitude more clearly than I could ~15 years ago, so
in the interests of being as relevant as possible to the workplace when I'm
finally able to look for work, I'm doing my level best to catch up and absorb
as much information as I can while I have the time.

I open HN, scroll through the frontpage, open about 30 more tabs, and... oops,
now I have 30 things to read. They're genuinely interesting! I carefully
evaluate each headline as I'm middle-clicking to filter out what I don't think
I'll benefit from reading (in the long-term).

I don't want to close unread tabs. In a lot of cases what I find on here has
helped me connect dots in incredibly helpful/relevant ways, clear up
misconceptions I've had for years, or shown me how to articulate something
I've been tripping over for longer than I can remember.

So, it's not really a case of prioritization: I'm trying to information-
download as much as I can. In the interests of viability I'm only clicking on
things that I am genuinely interested in.

Over 10 years ago I was diagnosed with high-functioning autism (I'd say mid-
to-high-functioning myself), and this meant my worldview was very
narrow/shallow - in the sense that "only X, Y and Z are interesting", and
everything else was evaluated within those scopes, for better or (often)
worse. My brain's been freed from that bondage - I can now evaluate things on
their own terms - so as far as absorbing information goes, my interests are
now [able to be!] "basically everything"!

But this presents a great problem, because I'm still working on my ADD, so I
physically can't sit still for long enough to _actually read the articles_.

Perhaps you see the dilemma: a "read later" list would just be another
interpretation of a "18,932" over an email icon. I actually have approximately
20k bookmarks, so this is literally the case.

\--

I'm not sure why I wrote all of this. The bit about TGS was easily a rant. I
think the last section is perhaps a plea for help. I've had "rewrite all the
extensions you use into a single helper tool that integrates everything
together" on my todo list for about two years, but I still haven't started it
because I've absolutely no idea where to start. Perhaps someone will read this
and have some objectivity on the above that I most definitely don't, in which
case I would highly appreciate your advice.

~~~
gcatalfamo
Install The Great Suspender chrome plugin. Turns your life around.

~~~
vageli
> Install The Great Suspender chrome plugin. Turns your life around.

The parent already tried TGS or, _The Great Suspender_. Their whole post was
about how TGS failed them.

