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.
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 :)
I really like this. It's super easy to use and the dark theme looks great. My only comment would be that the header text (e.g. comments, setting etc.) can be hard to read on the default (HN orange) color scheme. Nice.
I liked how you chose to represent the hierarchy of comments.
I also liked the fact that you are showing the articles within your web app rather than redirecting, but it got me worried about how reliable that may be.
wow your reader is beautiful! it's also pretty awesome in the browser (chrome 26) when the content renders to the right of the articles-list. (wrote a similiar client for startup-news once with readability-integration and can confirm that it's reliable for most articles...similiar to when you use Pocket for example)
UPDATE: the only thing that does not work on Chrome-mobile (mobile-Safari also) for iOS is the back-button of your app (comments-button works though)...
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.
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.
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.
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.
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.
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.
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.
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.
So good to see you here. I agree that your app is the best HN app. But please make it remember list scroll position. This one major flaw downgrades an otherwise superb experience.
Thanks! And I know; it's coming. I'm just really busy with other stuff, and it's been a while since I worked on it so it would take me a while to context switch.
My favorite Android app is Hacker News 2 - it has the best tablet support (my only Android is a Nexus 7) of any that I've used, and it lets me log in, vote, comment, view my profile, view threads, etc.
EDIT: This is the one whose creator commented below ("Have you tried out mine?"). Kudos.
I use https://play.google.com/store/apps/details?id=com.manuelmaly... because it's the cleanest looking HN app I could find. It currently doesn't let you comment or vote on comments. It's open source though so those problems are theoretically solvable.
I built my own reader after trying out several others out there [1].
The one thing that I really liked on Google Reader was that it aggregated all stories onto one page. So that's what I built. It may or may not be useful to you guys - would love some feedback either ways.
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?
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.
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?
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.
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.
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.
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!
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.
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.
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.
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.
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.
How is this a snarky comment? Properties were introduced in Objective-C 2.0 which is relatively new, thus, I'm asking why he chose not to use them when they're standard practice now.
And prefixing classes is not for "clean code", it's to avoid namespace collisions which is a valid and common issue in Objective-C development.
I'll take these suggestions into account - I've also only been coding for about a year and a half, and graduated with an Art degree. I'm the ESL equivalent of programming.
http://premii.com/hn/
There are still few bugs that i need to fix.