Show HN: Ember, a native iOS Hacker News reader I built around accessibility
github.comI 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.
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.
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.
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.
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).
Only offering ideas, people are free to ignore them.
You never know - OP might not have thought of these options.
I thought it was interesting to read. It had some information I didn't have before.
Looks great, do you plan on publishing to the AppStore?
If it is possible and Apple accepts the app.
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.
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.
I disagree it works great in Vanadium.
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
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).
I had my personal notes comparing Octal and Ironside, then I had claude go through both the repos.
Just starred it on github ;) Looks very good !
The information comes from HN; would there be a risk of copyright infringement if the product were listed on the App Store?
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.
Could not find the appstore link, is it published there?
Looks great. Does it support pinch zoom like webpage hn does
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.
Any chance of HN getting angry about this, à la Reddit?
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
(Perhaps they meant as in Is This At Risk of the Apollo Apocalypse rather than as in behaving more like Reddit?)
* 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.
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!
Are you planning to release Android version as well ?
I will check if it is possible to build for Android.