

Show HN: the iPhone version of News/YC, a Hacker News reader - bennyg
https://github.com/bennyguitar/News-YC---iPhone

======
thekingshorses
I wanted to see daily and weekly top 10 stories and also ask/show hn stories.
So I wrote a HTML5 webapp that works on all browsers including ios/android.

<http://premii.com/hn/>

There are still few bugs that i need to fix.

~~~
benaiah
It's beautiful, and the animations on the mobile site look great. It's also
one of the best-performing web apps I've used. Nice job.

~~~
rimantas
I use <http://cheeaun.github.io/hackerweb/> — it's also web app but it is the
best looking HN readear out there and I've tried a dozen of them. I'd love to
have a native app with this look, and was even going to do one myself, but I
guess that will never happen — there are already to many apps for HN :)

~~~
weiran
I made an open source Hacker News app that's inspired from HackerWeb:
<https://github.com/weiran/Hackers>

No iPad version yet, working on that for 2.0.

------
killahpriest
Why did you choose not to use HNKit from chpwn's news:yc?
<https://github.com/Xuzz/HNKit> The way you do it right now seems like it
would be terribly slow.

 _The API calls made by this app are slightly tricky. For the front-page
posts, a call is made to<http://hnsearch.com/bigrss> and then the resulting
xml is parsed to grab the unique IDs from each post. Those are then sent as a
request to the actual API to get the posts. The comments, unfortunately,
return as basically a totally unordered set. I create a linked list out of
those, and then I turn it into a flat array based on the nested nature of the
comments - so UITableView will render correctly._

~~~
bennyg
HNKit isn't in ARC, and does a myriad of things that I think are unnecessary
and can be maintained cleaner (there's absolutely no documentation!!!). Those
methods are actually very quick (imperceptibly fast) right now - but I'm not a
computer scientist by any means, so I believe they can be made even faster by
someone that knows a better data structure to use. Each comment comes back out
of order with a parent ID and a comment ID. A comment that is a reply to
Comment 1 will have the parent ID matching Comment 1's comment ID (hence my
linked list structure right now). There's got to be a better way, and that's
also why I open sourced the whole thing.

HNKit is also doing XML parsing over everything, and string comparisons can be
fairly slow as well. That, in conjunction with not being ARC ready and a total
lack of documentation made me choose something else entirely.

~~~
Xuzz
Hey, I wrote HNKit.

I'll admit I haven't had time to write documentation. However, most everything
follows Cocoa conventions, and the headers should be pretty readable. Absolute
worst case, there's an existing app using the framework as an example. :)

You can also combine ARC and non-ARC code in one project. HNKit was written
before ARC (although I still prefer manual memory management), but there's
nothing keeping you from using HNKit with an ARC-based app. And unless you're
modifying HNKit itself, you wouldn't ever need to see or write any retain or
release calls as a client of the API. Apple did a pretty good job making ARC
and non-ARC code interoperate well.

I'm happy to help with any HNKit questions — feel free to open issues on
GitHub if there's anything confusing. HNKit already supports most of the
things you are hoping to implement (logging in, commenting, voting), so I
would hate to have all that effort duplicated. If you have any specifics about
things that could be done better, I'm all ears.

Performance-wise, HNKit hasn't been optimized, but it does do parsing on a
background thread. In general, a bit of extra local parsing is almost always
going to be faster than additional network fetches. I haven't had any
performance issues, even on older devices, so I doubt that part will be an
issue at all.

~~~
bennyg
Hey Xuzz,

Didn't mean for that to come off rude if it read that way. I haven't dug too
far deep into HNKit - I was really just worried about the interplay of ARC and
nonARC code and what that meant for the future of maintainability of my own
codebase (really for things that go multiple classes deep, I didn't want to
introduce retain cycles and the like).

I'm considering creating a branch of this with HNKit and starting to build
that in to see how it plays with everything I have now.

~~~
bierko
You can integrate non-ARC code into an iOS app pretty easily:
[http://stackoverflow.com/questions/8958761/how-to-remove-
arc...](http://stackoverflow.com/questions/8958761/how-to-remove-arc-from-
xcode/)

------
krohling
We just setup a CI process for this app on cisimple here:
<https://www.cisimple.com/jobs/kh1isdaal986n3ip9>

Includes a Kickfolio embed so you can actually run the app in-browser. Enjoy!

~~~
algorithmmonkey
News site via an iOS sim, so I can read more news in the browser. Turtles all
the way down.

~~~
jevinskie
Turtles with news:yc! <http://i.imgur.com/GkdgzLr.jpg>

------
apunic
I get the best HN mobile experience on Android either with the stock browser
or Chrome Mobile since both have an automatic text reflow (or so called
automatic word wrap). This feature is one of the most I miss on my iPhone
which let a lot of classic websites top every native app on mobile devices.
Reading HN and commenting is as fast as on a desktop. I tried several HN apps
on iOS (I have both an iOS and Android device in parallel operation) and none
of them got close to HN on Android's mobile browsers in terms of convenience
and usability.

~~~
airlocksoftware
Have you tried out mine? It's open source, and if you find something lacking
I'd love your feedback.

[https://play.google.com/store/apps/details?id=com.airlocksof...](https://play.google.com/store/apps/details?id=com.airlocksoftware.hackernews)

~~~
Paul_D_Santana
Great app! Very fast, fluid, and pleasing design.

Three things:

1\. Is there any way to allow for selecting and copying of text from someone's
comment? It is very often that someone posts something so profound or useful
here on HN that I want to snip the text to save it in Evernote for future
reference.

2\. And like css771 posted, remembering your scroll position in comments (and
which comments are folded) would be a HUGE addition. I often click a link in
someone's comment which opens in the browser, go back to the app, and the
reading position is reset, including any and all folded comments I had. Quite
frustrating. Fixing this would be _incredible_!

3\. Minor visual issue, but it seems the first indentation of a comment is not
indented, as the other levels are. The first indented level has a color, but
is not actually indented. This would help to make comments slightly more
readable. I do love how easy it is to fold comments though. A quick tap and
instantly folded.

Anyway, I love the app; you did a great job on it. If it had these three
features above, it would definitely be my go-to Android app for Hacker News.
Thank you!

+1 for the app, and I hope you found my feedback useful too!

P.S. Feel free to contact me via my personal email via my profile if you need
any more detailed feedback, as I was a software tester for a while and
hopefully you found my feedback and writing style useful.

~~~
airlocksoftware
Thanks for the feedback, Paul! As to your points:

1) I'd have to look into how I would make the "tap and hold" to select text
work. In the meantime, if you long press on a comment and click "Share", it
will bring up the sharing menu. Then you can select to either share a link to
the comment, or the actual text of the comment (which you can then email, SMS,
open in Evernote, etc.)

2) That's coming when I have a chance to work on the app again (busy busy!)

3) It's that way to save horizontal space when you're on a phone and the
comments get nested deeply. Was it particularly confusing as a first time
user?

You can email me if you have any other questions or just open an issue on
Github. My email and Github are in my profile.

------
ngoldbaum
I'm a regular user of the app - it's a bit buggy but it's definitely the best
looking and most usable HN reader out there. If I spot bugs in daily use
should I open issues on github?

~~~
bennyg
Yes absolutely!

I just recently changed the API to hnsearch's version (the only officially
sanctioned one by HN) so hopefully a lot of the bugs will be smoothed out. I
hope the new update doesn't crash and actually loads stories for you from now
on out.

~~~
newman314
I actually prefer google search using "site:". Seems to return much better
results for me.

------
natch
Does this send our HN credentials anywhere other than directly to the
ycombinator site? I see a bunch of https and some http URLs in the code and
could probably verify one way or another with an hour or two of work, but what
can you tell me short of that?

~~~
bennyg
It only sends the credentials once when you login, and that's only to HN's
https login page. It then only includes HN's regular cookie in the http
headers on requests that go to an https page inside HN after you've logged in.

------
peterhajas
Why is this app called News/YC? It seems uncomfortably close to chpwn's
news:yc.

------
duncans
Very nice, thanks. One thing that is odd/slightly annoying is the way the
comments initially scroll up. The issue is that the comments list scrolls at a
different speed to the speed at which I'm dragging it due to the simultaneous
scrolling up of the title bar. I think initially just the title bar should
slide out of the way, and when it's gone, scrolling should continue on the
comments list. Ultimately my finger should at the same position in then
comments list as when it started the drag. i.e. Very much like how a category
slides out of the way in a regular UITableView.

~~~
duncans
Actually this affects the main news items list also.

In addition, when I'm part way down the list I can't tell whether the grey "x
Points ... y seconds ago by zzz" separator bar applies to the item above or
below it. Maybe adjusting the shading of the bar and border would make it more
obvious to which it belonged.

------
urza
Is there a list of HN-related projects and tools somewhere? There is a great
number of weekend projects that enhance or complement the HN reading
experince.. E.g. I enjoy the "collapse this subtree" bookmarklet. There are
also some projects that "summarize" HN news over some period for those of us
who dont have time to be here every day. There are also some projects that aim
for "dont miss anything from front page", some "parsers" for code processing
etc.

Would be great to have a list of such projects in one place.

------
codingjedi
This is awesome. As a self taught developer, I love looking at other people's
code to compare and contrast my own coding styles and learn to improve my side
projects code structure. Thanks!

~~~
bennyg
Thank you, but I'm not trained in CS at all haha - so take everything with a
grain of salt. I've got an Art degree, and taught myself everything. So
there's bound to be a lot of things that can be done a hell of a lot better.

------
jbrooksuk
Yes! This looks so much nicer than HackerNode. Thank you, however there is one
thing I really miss and that's Pocket integration.

------
muzzamike
Wow this is awesome, I use this all the time and had wished I could
contribute. Can't wait to start!

------
tapanthaker
Just optimised this app for iPad , i required it badly.

<https://github.com/tapanthaker/News-YC---iPhone>

------
alexhjones
Does it allow for collapsing comment threads?

Edit: Just installed it and it's very nice, but a great feature to add would
be... collapsible comments :-) Please?

~~~
bennyg
Actually it does already :) - just double click the header bar in a comment
(where the username is) and it will collapse that comment and all nested ones
under it.

~~~
kooshball
Awesome app!

Would love to add a feature where if you swipe left, all the comments in that
thread get collapsed.

It's useful when there are long threads that gets totally out of hand and you
dont realize it until you're 1/3 way through. This way you can collapse all of
them without having to go to the top.

AlienBlue does this currently with reddit.

------
nikolakirev
Very nice project! Do you need some help with it? I saw the list with upcoming
features. Making it universal (iPad compatible) would be nice too.

~~~
bennyg
Absolutely, open any pull requests you see fit.

------
gearoidoc
Plan to release it on the App Store?

~~~
jrnkntl
It is already

"The app can be found on the iOS App Store here:
[https://itunes.apple.com/us/app/news-
yc/id592893508?ls=1&...](https://itunes.apple.com/us/app/news-
yc/id592893508?ls=1&mt=8) "

------
kbar13
now make it for android

~~~
bennyg
I don't even know what the state of the game is for HN Readers on Android
right now. What are the best ones people are using?

~~~
airlocksoftware
Mine :) I don't know whose is sleeker since I don't have an iPhone to try
yours out, but mine is definitely winning on the more-open-source front
considering yours is missing a license.

<https://github.com/bishopmatthew/hackernews>

~~~
bennyg
Yours looks pretty sweet - and thanks for mentioning the lack of licensure, I
just added it.

------
cmstoken
Predicting that the title will change to "News/YC for iPhone" in less than an
hour. :)

For people reading this later, previous title: "Show HN: the sleekest iOS HN
Reader is now open sourced! Let's make it the best."

~~~
akkartik
I recently found out that the guidelines explicitly say, _"[barring
exceptions] please use the original title"_.
(<http://ycombinator.com/newsguidelines.html>)

I'm still sympathetic to the title-change complaints, and I think HN is
leaving a source of creativity on the table to the community's detriment. But
the guidelines are theirs to setup and enforce.

------
fyaqub
It's 2013, why aren't you using properties in all of your classes? And you
should be prefixing your classes to avoid namespace collisions.

~~~
ux-app
> It's 2013, why aren't you using properties in all of your classes?

It's snarky comments like these that prevent people from confidently sharing
their code.

Got a helpful comment to make? Great! How about sharing it minus the veiled
insults next time?

OP doesn't owe you clean code. Don't like the code? Don't use it.

~~~
itafroma
> OP doesn't owe you clean code. Don't like the code? Don't use it.

Or better yet, contribute a patch/PR. The OP's intention in sharing it was to
get contributors: <https://news.ycombinator.com/item?id=5678490>

