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.
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.
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.
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 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.
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’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.
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
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.
> Don't post generated text or AI-edited text. HN is for conversation between humans.