Hacker News new | comments | show | ask | jobs | submit login
Show HN: HNBuddy – A fast and elegant HN client for iOS (hnbuddy.io)
127 points by tsucres 10 months ago | hide | past | web | favorite | 67 comments

I've been using MiniHack as my HN app, and while it has its issues (most frustratingly, the popup that notifies me that I've just upvoted/downvoted a comment), it's the most feature rich HN client I've seen yet, so it's a bit hard for me to switch to this just yet.

That said, I tried it out and here's my feedback for HNbuddy:

- This looks really nice, and loads comments super fast for me!

- An iPad version of HNBuddy would be nice. I'd be willing to pay for that, maybe as an IAP?

- Support for commenting, new posts, currently it's more of a "reader", which may be the intention, not sure.

- No ability to downvote? I can downvote in MiniHack and the regular website but not in HNBuddy

- A lighter Darker theme

Thank you for your long feedback!

I focused on the "passive" usage of HN for this first version.

I'll add the downvote feature (along with the post/comment submission feature) in the next major update.

I've long been very frustrated by the search for a “perfect” HackerNews client for iOS (this is a thread I posted here a while ago asking for suggestions https://news.ycombinator.com/item?id=15838104 ).

I really like HNBuddy. It cannot become my main client until there's a dedicated iPad version and until it allows me to comment, but I really like it and look forward to watching your improvements.

Thanks for bringing this.

Maybe leave the passive mode with an enable/disable option in settings somewhere so that a user can continue passively until duty calls :)

Second on iPad support. Depending on how the project's storyboard is set up it might not be too much effort to support iPad.

For the curious, The J. Caesar quote "L xvh wklv dss hyhubgdb, dqg L oryh lw!" can be decoded with the following command:

echo 'L xvh wklv dss hyhubgdb, dqg L oryh lw!' | tr '[D-ZA-Cd-za-c]' '[A-Za-z]'


Well played @tsucres. Well played.

The square brackets in your tr invocation are unnecessary.

Doesn’t that depend on wether you’re using a GNU tr or a BSD variant? I feel like the brackets were necessary back in the day.

Does this download/preload all comments? This is one feature I can't find anywhere except for HN Zero[0].

When HN Zero loads the list of stories, it pulls all comment threads down too. That way I can read the comments when I'm in the subway.

HN Zero is great but it's a bit dated at this point and lacks some other features that I've learned to live without (no copy/paste from comments, no sharing of links, no iPhone X support).

In any case, I'll try this out. Congrats on shipping!

[0]: https://itunes.apple.com/us/app/hacker-news-zero/id764890985...

Why is there no internet in the subway in NYC? I always found that annoying.

Almost all subway stations have cell towers now, which works great, but the reception in the tunnels between stations is non-existent.

Exactly. Therefore switching comment threads while in the tunnels doesn't work with other HN clients.

Maybe this is just old, ingrained behavior of mine but I like to load up a bunch of threads before the train arrives and then read while underway.

Also, trying to fetch new comments at a station that happens to not get LTE usually fails and leaves me reading-material-less.

Maybe I should bring a book.

Unfortunately, it doesn't.

But I'm adding this on my list of potential new features for next versions!

If that happens consider me a paying customer!

Nice one. A few feedbacks:

1. Nice touch open sourcing the credential handling code. Obviously there is no way for an end user to actually verify that the code posted is indeed what ships but it adds to your credibility. I wish more apps would extend that small effort!

2. The mobile landing page is better than most “serious business” app mobile landing pages. I would totally hire you to do just that for my apps if my budget was more than $0.

3. Is there a way to comment from within the app?

4. Maybe add active to the filter drop down in addition to show, ask, and jobs? HN has some hidden filters like “active” which are very useful.

1. Btw, I'm counting on/hoping for other devs to review this part of the code and make it more trustworthy. I don't think I can do anything more to guarantee that's the actual shipped code?

2. Thanks a lot

3. Not yet. I'm planning on implementing that in an upcoming version

4. I'm going to look into that!

Thank you very much for your feedback!

>I don't think I can do anything more to guarantee that's the actual shipped code?

Not without way too much work (which would never satisfy everyone).

Reproducible Signal builds for Android | https://news.ycombinator.com/item?id=11399893

Nicely done! Few notes:

1. Please have an option to turn off the reader function. I'd like to go straight to the URL rather than a parsed reader.

2. Main page is a little bit busy. Would recommend playing with the font size / weight. The first thing most people do is skim through the headlines, having kearning / a higher weight of font would help with that.

3. I find it odd that the url / time posted is above the title. Would be nice the match the main HN page and place that below the title. Just changes the mental model slightly enough to be annoying.

Definitely fast and elegant. I like it very much! I thought at first, that it didn't show comment threads with indents, I almost missed the "X replies" label. I like it the way it is, however.

Just two things:

1. In the "Lists"-tab, it says "synched". I'm not a native speaker, but I guess that should be "synced"?

2. Maybe I just missed it, but: Is there any way to submit a comment from within the app?

1. I guess? I'm not a native speaker either. I maybe just made up a new abbreviation for "synchronised"?

2. Not currently. I'm planning on adding this in the next few weeks

Thank you for your feedback! I'm glad you like it!

As a native speaker, I believe I see "synced" more, but "synched" is still understandable.

Thank you for this it looks promising. Just a couple minor constructive criticism points that are personally keeping me on minihack.

1: I need the ability to swipe back from anywhere on the screen, i’m unable to reach all the way to the left edge most of the time.

2: The ability to up the density of posts/comments on the page. I really like seeing as much content as possible without a ton of dead space and scrolling.

1. What kind of gesture would allow that?

2. That doesn't seem complicated to add! Seeing the feedbacks here really gets me motivated to improve the app, so I'll try to add this in an upcoming version.

Thank you!

You normally get it for free if you're using a UINavigationController, see interactivePopGestureRecognizer.

I've never touched it beyond letting the default one work, but it's probably done using UIScreenEdgePanGestureRecognizer. If there's another gesture being grabbed by the active view (like scrolling) you might need to tell your UIGestureRecognizerDelegate to allow the gestures simultaneously.

EDIT - Oh I see, parent comment doesn't like the system standard of swiping from the edge of the screen. So that'd be a regular pan gesture recognizer, and probably trickier to do at the same time as scroll view.

I'd be hesitant to take that suggestion, since it means you'd never be able to use a "swipe right" gesture on the individual list items, like what you see in Mail for marking a message as read/unread.

Here's another feature suggestion, shamelessly lifted from the Apollo reddit client. Long press on the navigation bar to toggle between light and dark theme.

I'd also point out that your "sliders" icon for the settings tab is rather unconventional on iOS. Users will expect a gear icon to represent settings.

Most reddit/HN clients I've seen implement it with a long swipe from the left of the screen.

1 would be how you go back when you are browsing google chrome.

10/10 for the landing page. your landing page to appstore conversion rate would be to the roof I guess. As other folks were asking, commenting and posting would complete the experience.

I currently use the web app and phone app from http://hn.premii.com/ I just installed HNBuddy, It's equally good. I'll use it for few days before I decide to switch.

What I will miss from Premii app if/when I switch.

By default, Loads article in Text(pocket/readibility) mode instead of actual web page. 90% of the links I click are articles (save for the Show HN )

Integration with pocket to save articles for offline reading.

Ability to choose Navigation position. I place it at the top so i don't see it when scrolling up and reading stuff down/below

Another feature that's missing on all the apps I tried, Ability to share(to pocket) without actually opening/loading the article. As an example, An article PaulG, I want to instantly share/save without actually loading it in the app.

I had planned to integrate Pocket.. I don't know why I forgot about it.

Note though that:

1. There's a built in "reader" equivalent to pocket/readability. I actually open-sourced this module [1]. It uses MercuryApi (the successor of Readability) [2]

2. it's possible to bookmark articles: this action saves them even for offline reading (you have to open/load the articles at least once though).

Concerning your last idea, I find it difficult to integrate it in the current UI without overwhelming it. Maybe if I add an option (as it was suggested in another comment) to choose between a "detailed" and a "dense" list, then I'll think to this feature.

Anyway, thank you for your detailed feedback!

[1] https://github.com/tsucres/SwiftyMercuryReady

[2] https://mercury.postlight.com/web-parser/

Looks pretty good! This could be a competitor to MiniHack [1], the Hacker News client I'm using right now.

Unfortunately, I just can't read discussions that are collapsed by default. Way too much clicking — some threads have hundreds of comments, often deeply nested.

I also think you could spend some time on colour and font choices. It's faded and hard to read, with almost nothing prominent. HNBuddy (https://i.imgur.com/cEPrInb.png) vs MiniHack (https://i.imgur.com/ED4YXte.png). I'd like the title font to be more legible, and the number of comments should be much more prominent. I often decide whether to read a story and/or thread based on the number of comments.

I do like that there's a way to get to the comments after clicking on a story. MiniHack doesn't have this.

Offline, opportunistic fetching and caching of comments would be good. Like the sibling poster, I read HN on the subway, where there's spotty cell service.

As an aside, since you're not charging for this app, perhaps it would be a good idea to make the code open source? I've been through multiple HN clients, and they all tend to stagnate over time. Putting the code on Github and accepting PRs would help avoid this.

[1] https://itunes.apple.com/us/app/minihack/id631108846?mt=8

I already planned on adding an option to expand all the comments by default. I recently updated the commenting module [1] to easily allow this. So it will most certainly be shipped with the next update!

Concerning your last thought, I want to keep all the rights on the source code (at least for now, and as long as I'll have the time and the motivation to maintain it), so I won't release it. However, note that several of the components that I used for this project are open source and PRs are welcome on their GitHub pages.

I took note of everything else you said! Thank you for your constructive feedback!

[1] https://github.com/tsucres/SwiftyComments

Thanks! Here's a super quick mockup of a style I think would be more legible (Helvetica, since my Mac doesn't have San Francisco): https://i.imgur.com/IvERHL7.png

Less real estate used for timestamp, use dedicated colours for comment and upvote counts, and a larger font and thicker weight for the headline.

I hope you change your mind about opening the code.

I'm assuming 'uptown' is a typo in your mockup?

That's the user who posted the story.

There's a typo on the App Store listing screenshot: "Never loose the news you liked." Should be lose.

Judging by this and the word 'customisable', I'd wager the author is outside the US where these spellings are a bit common.

Thank you for correcting me. I'm indeed not a native english speaker.

Inside the US, "loose" as a typo of "lose" is common too, but inside or outside it's still wrong.

Never stated which is correct or not.

The feature I use most is "hide." Because most of the news stories aren't interesting to me, and it really bugs me that it's not in the same position on the second line. Would love to have it be flush left on that line so I can consistently tap/click it or a swipe in an iOS app.

Text on the login screen is cut off: "Your credentials are used exclusively to connect you to your HN account and aren't s".

Also does HN support OAuth or something? I'd feel more comfortable if I didn't have to enter my password directly in the app.

How come you're not charging for this?

I really enjoyed building this and I'd rather share that with everyone than turn it into a business. I may turn it into a donationware in the future if it gets attention and takes time to maintain.

Thanks for crafting and sharing this. On a 6s Plus running iOS 11, the login window text stops suddenly, despite there being plenty of room on the screen:

"Your credentials are used exclusively to connect you to your HN account and aren't s"

Also, would be nice to have a way to share HN links rather than just the article links (as the HN comments are often more interesting than the articles).

I'm going to look into this asap. And I'm taking note of your suggestion!

You're making me thinking I should probably setup a bug reporting system for long term maintenance. Thank you!

It's very quick! Already uninstalled my old app, as it would try to reload every link while on the subway.

Any comment on commitment to maintenance?

Many HN clients are dead or abandoned; I'll circle back in a year.

How much are you willing to pay for that Service-Level Agreement?

I'll be sure to let you know next year!

I quite enjoyed developing the app and I'm pretty pleased with the result. So I'd love to keep maintaining it, especially if it gets some attention.

I also plan to add support for comment and post submissions. I hope I'll have the time to do so in the next few weeks.


Most of the HN apps still work even if abandoned -- it's the UI framework demo websites (HN UX re-skin seems to be right after the TODO app demo) that have all disappeared. Also the audio ones, but there haven't been many of those.

Have you considered making an iPad version? Just tried it out on mine and it wasn’t pretty.

I didn't even try it actually since I don't own an iPad. But seeing all the comments here, I'm now thinking about it :)

Looks nice! Have been using another client till now. One question though. Why do I have to enter my credentials directly in the app? The app I'm using now uses kind of an OAuth flow which makes me feel better somehow.

I don't know what app you're talking about, but I find the fact that it uses OAuth disturbing: in my knowledge, HN doesn't officially support OAuth. So your app must interact with a third party endpoint. (I may be wrong here, it's just speculation). In any cases, it doesn't seem more trustworthy than typing your credential "directly in the app".

HNBuddy interacts with the HN website through a web scraper that is open source [1]. Though, as discussed in another comment, I can't really give you any proof that the code of this scraper is the actual code built in the app.

Anyway, if you don't trust me, you can still use the app as a simple reader :)

[1] https://github.com/tsucres/HNScraper

I'm using the one from http://hn.premii.com/ and when logging in it takes me to the HN website login page. As I said it kind of looks like an OAuth flow but probably isn't :)

The cat convinced me.

I'm downloading this just because of the kitten :)

Can't someone just make an updated stylesheet rather than needing to make a whole app to make HN readable on mobile?

Looks great! Will try this soon.

Spelling correction: “Never lose the news you like”

Thank you for your correction! I'll update this shortly.

Can't someone just add a style sheet that works well with mobile?

This is really well done.

Pretty cool... although it will be hard to tear me away from Panda.

Spelling - developer

I'm really sorry about that. I'm not a native speaker. Every correction is really appreciated though!

There seems to be several spelling errors. I glanced over the page and also found these:

formated - formatted loose - lose (in the bottom images)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact