Show HN: Ember, a native iOS Hacker News reader I built around accessibility

github.com

103 points by sylwester 4 days ago

I read HN on my phone every day and never really settled on a reader, so I wrote my own and finally tidied it up enough to put out there.

It's plain SwiftUI with no third-party dependencies. A few things I spent the most time on:

Comments are parsed and drawn as native text instead of being dumped into a web view. Links, italics, quotes and code blocks behave like the rest of the OS, text selection works, and threads collapse instantly. The whole comment tree comes back from the Algolia API in a single request, which felt a lot nicer than walking the Firebase API node by node.

Accessibility. Nothing depends on color on its own, so points, read state and selection all carry a shape or an icon too. VoiceOver reads each story as one coherent element with proper actions, Dynamic Type and Reduce Motion are respected, and there's a color-blind mode. The first-run setup actually looks at your device's accessibility settings, switches on the matching options, and tells you what it changed instead of making you hunt for them.

Then the usual things you'd expect: Top/New/Best/Ask/Show/Jobs, search, saved stories, read tracking, an in-app reader, light and dark, and a handful of accent colors.

It only talks to the public HN APIs, there's no account and nothing is tracked. Source and screenshots are in the repo.

I'd most like feedback on the comment rendering and the accessibility choices, since those were the parts I cared about getting right. Happy to answer anything about how it's put together.

charrondev 4 days ago

I love to see an open source implementation.

I’ve been using [Octal](https://apps.apple.com/us/app/octal-for-hacker-news/id130888...) for a while now but it’s not open source.

Would you be opposed to a pull request adding login/posting support? I think the way it works in Octal is webview for login, snatching the cookies out of the webview, then using the same posting endpoints as the website with the cookie.

cadamsdotcom 4 days ago

Looks great!

It seems you’re nervous about getting permission to show what you made to the world from Apple.

May I suggest you encourage people who want to use the app to get their own subscription and build and install it themselves, or consider AltStore/SideStore. Or go via TestFlight with your own monetization built in.

No one should need permission to ship from a trillion dollar company.

  • UqWBcuFx6NV4r 4 days ago

    This is a long bow to draw just for an excuse to get on your soapbox about Apple, especially talking to someone who has definitely heard it all before and has definitely formed their own view on this particular topic (and doesn’t need proselytising from you).

    • cadamsdotcom 4 days ago

      Only offering ideas, people are free to ignore them.

      You never know - OP might not have thought of these options.

    • krageon 3 days ago

      I thought it was interesting to read. It had some information I didn't have before.

newdee 4 days ago

Looks great, do you plan on publishing to the AppStore?

  • sylwester 4 days ago

    If it is possible and Apple accepts the app.

gavinmckenzie 4 days ago

Well done. As a colour blind person (and iOS developer) I am thrilled anytime an app doesn’t rely on colour cues alone. I’ve used Hack and Octal but I am going to give your app a try.

shelled 4 days ago

HN is quite nice inside a desktop browser, but mobile browsers are a different story altogether. But even there, it fares slightly better than old.reddit.com. So looks like I should dust off that xcode.

  • Cider9986 4 days ago

    I disagree it works great in Vanadium.

msephton 3 days ago

@sylwester is the repo run by a bot? or is it you? I'm OK with either, it's just issues are being marked as "help wanted" even though they are done in PRs waiting to be merged. It seems the replies in the threads ignore all user comments? What's going on?

And I've completed your big "login" feature request, it is done, just waiting for the PRs to be merged so I can make a nice clean rebase and tidy PR for you to review. But if small PRs aren't being merged I'm reluctant to file a larger one.

ofcrpls 4 days ago

I've been using Octal on iOS and https://github.com/IronsideXXVI/Hacker-News on Mac that was showcased here 4 months ago.

Got to give you kudos for the Accessibility enablement though - while some of it is baked-in support, it’s worth appreciating your work in whittling down whatever else can be supported.

Here is a comparison for the two on Mac, if you're interested. https://gq6o9uxicyzuw8es6qxe78bnml9wc3re.pastehtml.dev/#core

  • wittjeff 3 days ago

    I'm curious if you used a particular tool for this comparison or a LLM. I ask because (layered irony) I'm making a general tool for multi-dimensional item comparisons, using Claude to build the tool (but not the comparisons, not that I mind).

    • ofcrpls 3 days ago

      I had my personal notes comparing Octal and Ironside, then I had claude go through both the repos.

msephton 3 days ago

I'm posting this from a test feature I'm working on for your app: HN login, comments, replies, edit, etc.

I've also filed some smaller PRs.

ios-contractor 4 days ago

Looks great. Does it support pinch zoom like webpage hn does

  • UqWBcuFx6NV4r 4 days ago

    Needing to resort to pinch and zoom for everything is an indicator of bad accessibility. HN “supporting” pinch and zoom is more like… HN not being responsive and/or being good about dynamic text size.

    • ios-contractor 2 days ago

      pinch and zoom doesn't really have to do with hn. All webpages support pinch and zoom. iOS-wide text enlargement isn't always a solution

lemming 4 days ago

One thing that would be useful in the readme is instructions on how to install the built app on a phone, for those of us who don’t do iOS development.

kamyarg 4 days ago

Could not find the appstore link, is it published there?

roger_ 4 days ago

Any chance of HN getting angry about this, à la Reddit?

  • rkagerer 4 days ago

    Ok. I don't need or want this.

    Doesn't mean others can't find it useful. e.g. I bet some portion of users would appreciate Dark mode without resorting to CSS tweaks. /rant

    • altairprime 4 days ago

      (Perhaps they meant as in Is This At Risk of the Apollo Apocalypse rather than as in behaving more like Reddit?)

  • UqWBcuFx6NV4r 4 days ago

    * HN reader apps have existed forever.

    * There is a public API.

    ^ The incentives for “getting angry” aren’t there, like they were for Reddit.

    Think critically.

ethanhq 3 days ago

The information comes from HN; would there be a risk of copyright infringement if the product were listed on the App Store?

Calgaryp 3 days ago

Just starred it on github ;) Looks very good !

pi-victor 4 days ago

i've been using hackfeed, it does the job.

make this available on testflight, this looks great, would love to daily drive it.

+1 for the accessibility features, great job!

_dharmik_ 4 days ago

Are you planning to release Android version as well ?

  • sylwester 3 days ago

    I will check if it is possible to build for Android.