I've been using this for a at least a month now and it's really great, and I'd almost rather browse HN from Materialistic than the site itself.
If there's anything I could change, it would be to add a setting that turns off swiping when I'm inside a story (to switch between comments/article/readability) along with swipe vote/reply for comments.
I just cloned the repo, opened it in Android Studio and after a few version tweaks in its Gradle setup, it sprang to life on my Nexus. So I can attest that it's painless to clone and build it, which in my experience with open source is 95% of the battle (where the other 95% is getting the PR accepted :-/ )
>So I can attest that it's painless to clone and build it, which in my experience with open source is 95% of the battle
This has been my experience often times as well. Especially when it's node/ruby/python projects that expect the privilege of dumping files all over my global file system. Anyway, there's no excuse for un-reproducible build environments like that these days.
All of my (new) projects have exactly two requirements: `make` and `docker`. Everything else needs by the build environment is handled by nature of using docker. `make docker-dev` drops you in an environment with build tools installed, with the project source code mounted as a volume so you can use all your normal tools on the host.
Same. I discovered a setting that brings up a little arrow pad on comment pages, so that I can swipe up/down on it to go to the previous/next comment at that level in the tree, and left/right to go out/in a particular comment thread. It's extremely useful for e.g. skipping over long comment threads I'm not interested in.
This is great! Although, I'll shamefully admit that after just doing the Konami code and seeing nothing happen, I went so far as to take a look at the source to get the last step. :)
You did indeed get a 5-star review out of it, though :)
While I think it's the best of what's available, it still misses some features. No downvoting, no flagging, preformatted text gets mangled, and the own comments/conversations view is not ideal.
I plan to implement downvoting but I'm not sure of the logic involved (I don't have enough karma to test it myself). Probably I'll add it to a beta channel and let users help test it.
Performance can be laggy and is something I'm trying to improve.
Have you tried MiniHack? After shopping around a bunch of iOS HN clients I like that one the most. It's ad-free, feature-rich but not bloated, responsive, and somewhat customizable.
What does the word "Materialistic" have to do with Hacker News? I did a web search to see if I'm missing something, but it looks like it's just a name that does not fit.
How about "Hacker News client by Trung", or "Trung HN" for short.
When I created it material design was a hot thing, so I just randomly came up with that name. Now it's not relevant anymore but I keep the name to avoid confusion for existing users.
I was stumped multiple times trying to find this app under apps starting with letter "H" on my phone. Moved it to home screen now, but the name can definitely be improved.
It's a nice app and I've been using it for some time, but one thing that's always bothered me is the strange scrolling / caching behavior of the app. A quick scroll down displays a blank page while content is gradually "plugged" in. I don't think I've ever seen this odd scrolling behavior in another app.
It's because stories/comments are loaded on demand. If you never scroll to it it won't be loaded. It was designed this way partly due to how HN API works, which doesn't provide all data up front.
Alternatively app can aggressively load everything up front, which is slow; or paginate content. To me it tends to feel faster when u have progressive UI change (empty card then fill it) than abrupt change (completely empty then all items appear), so I decided not to paginate.
I used another app called HN before yours. It did not have this problem. TBH I'd rather have it aggressively load all the content. It isn't that much data and the current experience is frankly jarring.
I also can't seem to figure out how to consistently jump to the next top level parent comment with the nav button. It seems to jump to other comments lower in the current thread which I'm trying to skip past. Am I missing something?
Overall love the app though. Love that I can click a user name and see their profile.
One other odd thing is when I open a HN Notify email link telling me I have a response, I can't figure out how to go up a level from the response comment to my parent comment they responded to in order to remind myself what I posted.
I already did some optimization to load 1 extra page of comments in advance, which I believe should improve the experience. I also tried the same trick for stories but got some janky issues that I need to figure out first.
Swipe down the button should go to next same level comment, or if none it goes to the next one, which is the 1st child.
User-related content support is quite limited at the moment as I need to crawl HN web for that.
Do you have any user data on whether people would prefer the downswiping went to the next comment at the same level, or the next parent regardless of if they are currently on a child?
My use case is that I'm scrolling and I get bored with a thread. It isn't much different to swipe up on the thread to scroll down further if I wanted to keep reading, and there is no easy way to just jump to the next top-level thread. I'm left either having to collapse several levels of comments to condense things, or scroll until I hope I find the next one and don't miss it.
At the very least, I feel like this should be configurable behavior for the button.
But again, this is just me, so you might have data saying people want otherwise, and this is free so I shouldn't complain :)
It's the 1st version of on-screen navigation so for sure there are rooms for improvement. I think of it as a D-pad, as in games, when you make selection with D-pad, down means selecting below item. I can make a toggle option to reverse scroll direction though.
Its a great app.
A couple of things that would make it even better:
- a refresh button
- an "are you sure you want to quit" warning when I click the back button.
As a counterpoint, I find the web version pretty great on iOS. Minimal JavaScript, loads fast, everything on one long screen, and the back button always works, leaving you exactly where you left off.
It is a nice counterpoint to overly heavy web that we have unfortunately gravitated towards.
I've been doing the same on Android for a some time now. Before HN was responsive, I preferred native apps for presentation, but the good ones lacked voting, commenting, etc. Honestly the web client is quite usable on mobile now.
Not op but I use both Relay and Materialistic and I find myself swiping from the left to get back to the main page after reading the comments (muscle memory after using Relay for a long time). It would be great if you could incorporate this into your app. Either way, its a great app!
Disable card view (which is the default for new installations) + choose smaller text size would achieve more or less the same. I have already gone thru few iterations of compacting the UI and I'm afraid I can't squeeze it anymore :(
Thanks for the reply. I really like the "comment search" feature in Relay based on time (show and jump through comments added in last X minutes), words (jump through comments that contain certain words), jump to comments based on author (OP, me), etc. There are many more comment search parameters, but these are my favorite.
I already have similar request in my backlog. This is gonna be tricky, because I don't have all comments up front as they are loaded on demand (even for saved comments - loaded on demand from cache).
I have something similar in mind but haven't get started yet. It can be done via HN API, but it can only be done at regular interval (polling), as I don't use Firebase but raw web API.
Appreciate the effort. Ive had lots of issues with other open source HN apps. This one looks and works great so far. Would've loved an fdroid release, but an open app with github releases is more than can be said about most other apps, so no real complaint there.
You're correct. Saved/bookmarked stories have been there way before HN has favorite. I'm thinking of syncing these two, but it's not very straightforward without API support.
Just installed it, used it for a few hours, loved it, and deinstalled it. Here's why.
First, no downvote action. We need this to push down trolls and sockpuppets.
Second, voting is inside a menu, yet this is a really common action.
Third and worst, when I use a browser on HN, every single link now asks me to select an app. Not once, but for each different link type it seems. After the fifth time (choosing 'Remember my choice' each time), I was so annoyed I uninstalled Materialistic.
No downvote is a known issue, partly because I can't test it, so I'm not confident I'll deliver a reliable feature.
I agree that upvote should be more visible. Currently it's available as an option tucked in popup menu, as well as via swipe gesture, which is not very discoverable.
3rd one is a feature called 'deep link' which is quite common in Android. It should remember your choice if you choose 'Remember my choice'. I don't know what went wrong here as it is a platform feature and out of my control :(
No, I don't think you can fix the 'remember choice' feature. Practically all apps ask me for that when I click on a domain I haven't clicked on before. 'Remember' will only remember the choice for that domain.
I found it very useful and really liked it, just these problems were so irritating I dropped it again. I'm hoping you can fix this, because I have trouble with reading HN on a browser, with its tiny font size.
I suspect you've got a bug with the deep link feature because other apps only show this menu one time. Yours shows it over and over.
While we're talking, I also found the UI rather busy with stuff that seems unnecessary. Half the fun with HN is its simplicity. If you ever get the urge, think about doing an Apple and removing stuff that people don't use.
Nice work, anyhow, and thanks for that. Consider making a paid version of the app with no differences, except you get some money back from it.
Thanks! Would be helpful if you can share your device info so I can try to reproduce that issue. If you still keep the app around you can just send an in-app feedback and it will automatically include such info. Or you can reply here. Or if you can email me, my email should be available on Play Store listing.
> Third and worst, when I use a browser on HN, every single link now asks me to select an app. Not once, but for each different link type it seems. After the fifth time (choosing 'Remember my choice' each time), I was so annoyed I uninstalled Materialistic.
That's Android's fault, not the fault of Materialistic. I have the same problem totally random on my phone, too.
Why doesn't YCombinator just fix the mobile style sheet for the website?
It's pretty clear the site is terrible on mobile, and it's not a hard thing to improve. Make the font bigger, and (especially) make the buttons much, much bigger (or further apart).
Actually - why don't they fix that on the desktop version? Fitt's law and all that.
Indeed. And stop doing whatever crazy CSS thing is used to implement the upvote/downvote arrows and just make them images in an href. Why? Because on some touchscreen browsers there's a fuzzy snap to nearest link, which turns a press on the upvote into a click on the username.
My own personal solution to this was to write an intercepting proxy in Perl CGI like it's 1999. Then I can fix the HTML with regexes.
I quite like your app. It's way better looking and serves my functional purposes of reading and voting. Of course improvements can be made - it's an iterative process. More power to you.
99 comments
[ 3.2 ms ] story [ 161 ms ] threadIf there's anything I could change, it would be to add a setting that turns off swiping when I'm inside a story (to switch between comments/article/readability) along with swipe vote/reply for comments.
I just cloned the repo, opened it in Android Studio and after a few version tweaks in its Gradle setup, it sprang to life on my Nexus. So I can attest that it's painless to clone and build it, which in my experience with open source is 95% of the battle (where the other 95% is getting the PR accepted :-/ )
This has been my experience often times as well. Especially when it's node/ruby/python projects that expect the privilege of dumping files all over my global file system. Anyway, there's no excuse for un-reproducible build environments like that these days.
All of my (new) projects have exactly two requirements: `make` and `docker`. Everything else needs by the build environment is handled by nature of using docker. `make docker-dev` drops you in an environment with build tools installed, with the project source code mounted as a volume so you can use all your normal tools on the host.
You did indeed get a 5-star review out of it, though :)
It's so close...
Performance can be laggy and is something I'm trying to improve.
There's also a "/flag" call with only "id" and "auth" to flag comments / articles. (with "un=t" it unflags) The link says "flag" or "unflag".
I don't like how sparse material design is, but oh well.
(But the ones on iOS aren't bad..I've had the most luck with one called "Hacker News" by Premii)
This is why most developers can't make money creating mobile apps unless they're for gambling or freemium games.
How about "Hacker News client by Trung", or "Trung HN" for short.
I was stumped multiple times trying to find this app under apps starting with letter "H" on my phone. Moved it to home screen now, but the name can definitely be improved.
Alternatively app can aggressively load everything up front, which is slow; or paginate content. To me it tends to feel faster when u have progressive UI change (empty card then fill it) than abrupt change (completely empty then all items appear), so I decided not to paginate.
I also can't seem to figure out how to consistently jump to the next top level parent comment with the nav button. It seems to jump to other comments lower in the current thread which I'm trying to skip past. Am I missing something?
Overall love the app though. Love that I can click a user name and see their profile.
One other odd thing is when I open a HN Notify email link telling me I have a response, I can't figure out how to go up a level from the response comment to my parent comment they responded to in order to remind myself what I posted.
Swipe down the button should go to next same level comment, or if none it goes to the next one, which is the 1st child.
User-related content support is quite limited at the moment as I need to crawl HN web for that.
My use case is that I'm scrolling and I get bored with a thread. It isn't much different to swipe up on the thread to scroll down further if I wanted to keep reading, and there is no easy way to just jump to the next top-level thread. I'm left either having to collapse several levels of comments to condense things, or scroll until I hope I find the next one and don't miss it.
At the very least, I feel like this should be configurable behavior for the button.
But again, this is just me, so you might have data saying people want otherwise, and this is free so I shouldn't complain :)
It is a nice counterpoint to overly heavy web that we have unfortunately gravitated towards.
https://play.google.com/store/apps/details?id=com.airlocksof...
sure, its one more query to run but i think it would be fast enough.
First, no downvote action. We need this to push down trolls and sockpuppets.
Second, voting is inside a menu, yet this is a really common action.
Third and worst, when I use a browser on HN, every single link now asks me to select an app. Not once, but for each different link type it seems. After the fifth time (choosing 'Remember my choice' each time), I was so annoyed I uninstalled Materialistic.
End of report.
No downvote is a known issue, partly because I can't test it, so I'm not confident I'll deliver a reliable feature.
I agree that upvote should be more visible. Currently it's available as an option tucked in popup menu, as well as via swipe gesture, which is not very discoverable.
3rd one is a feature called 'deep link' which is quite common in Android. It should remember your choice if you choose 'Remember my choice'. I don't know what went wrong here as it is a platform feature and out of my control :(
Thanks for checking it out anyway.
I suspect you've got a bug with the deep link feature because other apps only show this menu one time. Yours shows it over and over.
While we're talking, I also found the UI rather busy with stuff that seems unnecessary. Half the fun with HN is its simplicity. If you ever get the urge, think about doing an Apple and removing stuff that people don't use.
Nice work, anyhow, and thanks for that. Consider making a paid version of the app with no differences, except you get some money back from it.
I'm wondering if my post would be enough :p
If you don't have enough score, drop me a mail ;)
That's Android's fault, not the fault of Materialistic. I have the same problem totally random on my phone, too.
It's pretty clear the site is terrible on mobile, and it's not a hard thing to improve. Make the font bigger, and (especially) make the buttons much, much bigger (or further apart).
Actually - why don't they fix that on the desktop version? Fitt's law and all that.
My own personal solution to this was to write an intercepting proxy in Perl CGI like it's 1999. Then I can fix the HTML with regexes.