Settings

Theme

Show HN: HNBuddy – A fast and elegant HN client for iOS

hnbuddy.io

127 points by tsucres 8 years ago · 69 comments

Reader

Watabou 8 years ago

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

  • tsucresOP 8 years ago

    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.

    • qubex 8 years ago

      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.

    • balladeer 8 years ago

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

  • drak0n1c 8 years ago

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

sirsuki 8 years ago

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]'

https://en.wikipedia.org/wiki/Caesar_cipher

Well played @tsucres. Well played.

  • nathell 8 years ago

    The square brackets in your tr invocation are unnecessary.

    • c256 8 years ago

      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.

pmilla1606 8 years ago

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...

  • stenl 8 years ago

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

    • lobster_johnson 8 years ago

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

      • pmilla1606 8 years ago

        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.

  • tsucresOP 8 years ago

    Unfortunately, it doesn't.

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

ryandrake 8 years ago

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.

  • tsucresOP 8 years ago

    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!

Zaheer 8 years ago

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.

tnova 8 years ago

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?

  • tsucresOP 8 years ago

    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!

    • yojex 8 years ago

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

bleomycin 8 years ago

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.

  • tsucresOP 8 years ago

    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!

    • wlesieutre 8 years ago

      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.

    • mynameisvlad 8 years ago

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

    • dummyvariable 8 years ago

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

vthallam 8 years ago

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.

kalyanganjam 8 years ago

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.

  • tsucresOP 8 years ago

    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/

lobster_johnson 8 years ago

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

  • tsucresOP 8 years ago

    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

    • lobster_johnson 8 years ago

      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.

timdorr 8 years ago

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

  • timmonsjg 8 years ago

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

mark212 8 years ago

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.

cynix 8 years ago

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.

rocky1138 8 years ago

How come you're not charging for this?

  • tsucresOP 8 years ago

    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.

miles 8 years ago

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).

  • tsucresOP 8 years ago

    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!

zng00 8 years ago

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

book_mentioned 8 years ago

Any comment on commitment to maintenance?

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

  • pavlov 8 years ago

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

  • tsucresOP 8 years ago

    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.

    • book_mentioned 8 years ago

      Awesome!

      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.

hultner 8 years ago

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

  • tsucresOP 8 years ago

    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 :)

willyyr 8 years ago

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.

  • tsucresOP 8 years ago

    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

    • willyyr 8 years ago

      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 :)

ratsimihah 8 years ago

The cat convinced me.

stanislavb 8 years ago

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

collyw 8 years ago

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

th33ngineer 8 years ago

Looks great! Will try this soon.

Spelling correction: “Never lose the news you like”

collyw 8 years ago

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

toomuchtodo 8 years ago

This is really well done.

dandigangi 8 years ago

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

adityar 8 years ago

Spelling - developer

  • tsucresOP 8 years ago

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

  • rotred 8 years ago

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

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

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection