
Show HN: HNBuddy – A fast and elegant HN client for iOS - tsucres
http://www.hnbuddy.io
======
Watabou
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

~~~
tsucres
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
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](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.

------
sirsuki
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](https://en.wikipedia.org/wiki/Caesar_cipher)

Well played @tsucres. Well played.

~~~
nathell
The square brackets in your tr invocation are unnecessary.

~~~
c256
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
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...](https://itunes.apple.com/us/app/hacker-news-
zero/id764890985?mt=8)

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

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

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

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

~~~
tsucres
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!

~~~
book_mentioned
> _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](https://news.ycombinator.com/item?id=11399893)

------
Zaheer
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
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?

~~~
tsucres
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
As a native speaker, I believe I see "synced" more, but "synched" is still
understandable.

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

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

------
vthallam
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
I currently use the web app and phone app from
[http://hn.premii.com/](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.

~~~
tsucres
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](https://github.com/tsucres/SwiftyMercuryReady)

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

------
lobster_johnson
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](https://i.imgur.com/cEPrInb.png)) vs
MiniHack ([https://i.imgur.com/ED4YXte.png](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](https://itunes.apple.com/us/app/minihack/id631108846?mt=8)

~~~
tsucres
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](https://github.com/tsucres/SwiftyComments)

~~~
lobster_johnson
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](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.

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

~~~
lobster_johnson
That's the user who posted the story.

------
timdorr
There's a typo on the App Store listing screenshot: "Never _loose_ the news
you liked." Should be _lose_.

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

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

~~~
timmonsjg
Never stated which is correct or not.

------
mark212
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
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
How come you're not charging for this?

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

~~~
tsucres
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
It's very quick! Already uninstalled my old app, as it would try to reload
every link while on the subway.

------
book_mentioned
Any comment on commitment to maintenance?

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

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

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

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

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

~~~
tsucres
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](https://github.com/tsucres/HNScraper)

~~~
willyyr
I'm using the one from [http://hn.premii.com/](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
The cat convinced me.

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

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

------
th33ngineer
Looks great! Will try this soon.

Spelling correction: “Never _lose_ the news you like”

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

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

------
toomuchtodo
This is really well done.

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

------
adityar
Spelling - developer

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

