[HN Gopher] Show HN: Artemis, a Calm Web Reader
___________________________________________________________________
Show HN: Artemis, a Calm Web Reader
Earlier this year, I made a web reader that only showed a list of
post titles, author domains, and links. The reader only updated
once per day, so I wouldn't feel compelled to keep checking for new
posts. I have been using the tool, which I called Artemis, for
several months. Every morning, I looked forward to my "morning
paper" of blogs I love reading. There are no notifications, read
vs. unread states, counts of posts, etc. Only the last seven days
of posts are available. The colour scheme is changeable. Dark mode
is supported. All popular feed formats are supported. There is no
reading interface to read blog posts; rather, the links take you to
the authors' websites. Many of my favourite bloggers put a lot of
effort into the design of their blogs and like to change things up;
I wanted an experience that embraced that. The reader is now
available for anyone to use (with invite code "hn").
Author : zerojames
Score : 181 points
Date : 2024-12-20 15:28 UTC (7 hours ago)
(HTM) web link (artemis.jamesg.blog)
(TXT) w3m dump (artemis.jamesg.blog)
| aurea wrote:
| I have been thinking of creating a similar app; however I wanted
| to do a "Sunday paper". This look nice and I like the minimalist
| design, but I would prefer to have solution that I can self-host.
| exprez135 wrote:
| The tool actually is open source, so you could self-host it if
| you wish. MIT license, in Python. The repository [1] is linked
| in the blog post the author wrote about the project [2].
|
| [1]: https://github.com/capjamesg/web-reader
|
| [2]: https://jamesg.blog/2024/11/30/designing-a-calm-web-
| reader/
| zerojames wrote:
| The open source version is a bit different from the hosted
| one: the open source code involves running the polling
| script, then building a static site (which is how I run the
| site for several months as a single-user project).
|
| I am planning to move the polling changes upstream soon and
| then figure out a plan for open sourcing the full project.
| mmahemoff wrote:
| What's a good place to discover high-quality RSS feeds these
| days?
| freetonik wrote:
| I'm curating a collection here https://minifeed.net/blogs/
| dqv wrote:
| Aw dang, looks like I can't subscribe to it in my feed
| reader. Still, this is a great collection. Thanks for sharing
| freetonik wrote:
| Do you mean to subscribe to the whole collection, one RSS
| feed for all the blogs in my list? I mean, I guess I can
| build that feature, but it's gonna be quite a firehose.
| onli wrote:
| Not sure what parent meant, but the right way should be
| an opml file with the feeds, which the feed reader then
| can import. But maybe you are offering that already?
| freetonik wrote:
| Ah, sorry, that makes perfect sense. Not yet, but I plan
| to implement this soon.
| freetonik wrote:
| Here, I quickly put together an OPML generator:
| https://minifeed.net/blogs/opml.xml
| dqv wrote:
| Whoa, you did not have to do that! Thank you so much :)
| charles_f wrote:
| I'm just picking the rss for the links I like on hn
| quinto_quarto wrote:
| i made a directory of indie creators from across the web here,
| which i'm not sure what to do with: https://fanzine.world/
|
| I believe you can RSS most of them. certainly all the
| substacks.
| nelsonfigueroa wrote:
| I added one of the random RSS feeds from
| https://indieblog.page/rss. I've discovered cool blogs this way
| that I now subscribe to directly.
| freetonik wrote:
| That's a very cool idea!
| CharlesW wrote:
| One tip: Every Substack has a feed, which is a nice alternative
| to having everything dropped in your email in-box. You just
| append "/feed" to the end of a newsletter URL, e.g.
| https://simonw.substack.com/feed.
| freetonik wrote:
| I wonder if Substack would at some point remove or at least
| cripple this feature. Right now it seems the full-content RSS
| is served.
| marginalia_nu wrote:
| I've been doing adjacent work for my search engine[1], and
| found substack to annoyingly be one of the sites that employ
| bot mitigation for its RSS endpoints. If you fetch at a very
| low rate it works fine, but for these types of bulk
| retrieval.
|
| Substack is also a bit of a pain to integrate with because
| they have zero useful contact information and direct all
| inquiries to a chatbot that is beyond useless, makes it so
| you have to guess how they want you to interact with their
| servers since there is nobody to answer questions.
|
| [1] Preview of my take of the idea:
| https://mastodon.social/@marginalia/113670235590972416
| rixed wrote:
| Create a reader like Artemis and wait for people to upload
| their own bookmarks?
| aharris6 wrote:
| I am working on a site, which is very pre-beta at this point,
| that works to help solve this problem using bluesky's "starter
| pack" model. Basically sharing curated lists of good follows.
| Give it a look at https://feed.computer if that seems
| interesting!
| hombre_fatal wrote:
| Heh, that was my question too once I signed up.
|
| I think OP's project is a nice place to potentially have some
| default feeds. Both for purposes but also because it's nice to
| see some interesting content once you sign up. Maybe even just
| major news items.
| xnx wrote:
| I love the idea of a simple, digest-style, mode. Might make some
| version of this for Instagram. There's nothing so important on
| Instagram that it can't wait for the next day.
| venusenvy47 wrote:
| Can you recommend a tool that could check an Instagram feed
| once a day for the current photos? I found a command line tool,
| but it tries to download the whole account, rather than just
| the daily updates.
|
| https://instaloader.github.io/
| xnx wrote:
| That's exactly the tool I would use. There are options you
| can use to configure what posts are downloaded:
|
| https://instaloader.github.io/cli-options.html#which-
| posts-t...
|
| https://instaloader.github.io/basic-usage.html#filter-posts
| venusenvy47 wrote:
| Actually, I made a mistake. That tool I haven't got working
| yet because of the necessary authentication. I've been
| using this one without auth, but it downloads everything.
|
| https://github.com/mikf/gallery-dl
| kenrick95 wrote:
| I tried to import the OPML file exported by
| https://wordpress.com/read/subscriptions but it says "Failed to
| parse OPML."
|
| Edit: just managed to find the support email. I'll send you the
| OPML file through it~
| zerojames wrote:
| Thank you for the email. The OPML import is a bit of a newer
| feature so it hasn't had as much testing. I'll take a look to
| see what's going on and get back to you.
| zerojames wrote:
| Apologies for the inconvenience. A fix has been deployed.
| conroydave wrote:
| this is why HN is the best
| borg16 wrote:
| thanks. I pay for miniflux through pikapods that I can now get
| rid of, thanks to your free and alternative offering.
| rakoo wrote:
| For reference, and not implying it's better or worse than your
| work OP, I've pleasantly used Fraidycat (https://fraidyc.at/) in
| the past. It's a webextension, so completely local, and also
| incorporates the idea of having a "calmer" experience: no
| infinite list of links to check, different update rates, ...
|
| I love your philosophy page, OP !
| (https://jamesg.blog/2024/11/30/designing-a-calm-web-reader/)
| zerojames wrote:
| Thank you! I think how something is made, and the decisions
| that got it to where it is, is just as important as the thing
| itself.
|
| One of the delightful things about the web is we can all bring
| our own ideas and designs to problems.
|
| I haven't written about this yet, but one thing on my mind is
| the importance of good import/export features. With good
| import/export features, we can all move around and try
| different softwares to see which ones we like!
| rakoo wrote:
| Indeed, import/export is one of the most important design
| point centering control back to the user, and even better is
| abstracted storage of data: if I had a single OPML file
| accessible from everywhere (with auth, of course) and all
| tools took the universally accessible path, I could change
| feeds in one tool and automatically see the result in another
| without fussing out import/export buttons and procedures.
| nahimn wrote:
| HN hug of death - "Internal Server Error"
| dewey wrote:
| This would be interesting as a project using the Miniflux API
| (https://github.com/miniflux/v2). That way it would already use
| my existing feeds and I don't have a separate "reading tool".
| imiric wrote:
| This looks great! Congrats on shipping.
|
| Have you considered open sourcing it? I would rather self-host
| something like this.
| exprez135 wrote:
| It is actually open source, though I'm not sure if it's linked
| directly on the site. (It is linked in his blog post.) The
| repository: https://github.com/capjamesg/web-reader
| imiric wrote:
| Ah, thanks, I missed it.
| kayge wrote:
| Looks like it's already open source:
| https://github.com/capjamesg/web-reader
| carlosjobim wrote:
| Why does every show HN post attract beggars?
| alexpadula wrote:
| Awesome!
| asb wrote:
| I think this is a really interesting area. I wrote a command line
| took for web reading with some similar motivations. In my case,
| you queue up the articles to read the next day.
|
| https://muxup.com/pwr
| zerojames wrote:
| Nice!
|
| P.S. I love the colour choices and the colour stripe
| interactions on your website. So cool!
| butz wrote:
| Isn't updating once a day a bit too rare for content heavy
| websites, like HN? I use online RSS reader just to keep up with
| all updates when I am not online. With updates once a day I'd
| probably be using desktop RSS reader app.
| butz wrote:
| Technical question: how are you dealing with feeds blocked by
| cloudflare protection or captchas?
| zerojames wrote:
| Good question. I haven't found this to be an issue yet, perhaps
| because of the infrequency with which resources are accessed.
|
| With that said, I can't guarantee this is not an issue. There
| are a few feeds that return errors that I need to investigate.
___________________________________________________________________
(page generated 2024-12-20 23:00 UTC)