swesnow 15 days ago

Hey HN!

I'm the developer of one of the most popular Android clients for HN, Harmonic for Hacker News. Over the years I have recieved many requests to open source the app which I am finally doing - sorry about taking so long :)

Having been very busy working on my PhD during the last two years - Harmonic has not recieved the attention it deserves. I therefore hope that open sourcing it can give it a new lease on life. I also hope that by posting here many of the nice people who have reached out to me will notice that the app is finally open source. I'm also happy to answer questions about the app but cannot make any hard promises about future features.

(As a note; I wouldn't call the architecture of the app a beauty by any means - it is very much cobbled together using my (somewhat outdated) knowledge about Android development.)

-- Simon

  • ejj28 15 days ago

    Cobbled together or not, the app is functional, has an awesome UI and I love that I don't have to leave the app to actually read articles. Awesome work!

    • mmanfrin 14 days ago

      Conversely I love that I can set it to use the system browser, I absolutely loathe in-app browsers.

    • swesnow 15 days ago

      Thank you! I agree that those are for sure the most important things. Glad it does the trick for you :)

      • TheHumanist 14 days ago

        It really is very sleek and beautifully minimalistic. Don't downplay your achievements! It's a great app.

  • dlojudice 15 days ago

    Thank you for building Harmonic. It's been my HN client for years. I will definitely take a look on the code and try to contribute.

    • swesnow 15 days ago

      You're very welcome! Always nice to hear that someone has been happy with the app for a long time. Would be very cool if you could make some form of contribution. Again I apologize for the code being somewhat of a mess - it was not made with open source in mind but if you have any issues I'll try to help you out :)

  • whalesalad 15 days ago

    Sometimes it can be hard to let something like this go. Kudos to open sourcing!

    • swesnow 15 days ago

      You're very right - and it's kind of hard to explain even to myself why. I'm glad its done now and people seem to be actually looking into the code

  • nunobrito 14 days ago

    Please learn to spell "receive". Most people will say nothing about this detail, it does however impact your texts.

    Anyways, fantastic work with the app. I'm using it right now for writing this comment. Thank you for making it available.

  • vaughnegut 14 days ago

    First of all, I love the app (I'm writing this comment on it write now)!

    I'd always wondered, is the UI inspired by Relay for Reddit? The sliding between, colour-coded comment chains you tap to collapse, I absolutely love it and it's the only other place I've seen it. I wish more apps used this style, it's so intuitive, pretty, and pleasant to use

    • swesnow 14 days ago

      Thank you! It is partly - I use Sync for reddit as my reddit client and that is an inspiration for much of the UI however I did actually download Relay because I know it had some interesting UI choices and stole some ideas from there. It's amusing that it is noticable

j_french 15 days ago

Another daily Harmonic user of a few years standing here. I tried a good few HN clients until I clicked with Harmonic and never looked back. I find it to be one of those rare apps that works so well and unobtrusively that you hardly notice it until it dawns on you how good it is. Great work, thanks for making and open-sourcing it!

  • swesnow 15 days ago

    Always good to hear from the day 1 OG:s :) I also went through the ritual of trying almost all available HN clients back in 2020 and being unhappy and Harmonic was the result. I'm glad it worked out the same way for you!

raybb 15 days ago

Small suggestion: link to the play store (and fdroid?) From the readme for easier access.

  • swesnow 15 days ago

    Good thought, fixed that now, thanks!

wantguns 15 days ago

I usually refrain from installing apps from Aurora Store instead of F-Droid, but Harmonic is the one app for which I oblige.

Thanks a lot for open-sourcing it.

I wait for the day, where I can finally get a good HN client at F-Droid :)

  • eastof 15 days ago

    Posting from Materialistic which I downloaded from F-Droid. On CalyxOS too

  • swesnow 15 days ago

    Good that I could convince you :) I hope to get around to posting it on F-Droid soon, it doesn't seem like too much work

  • darnir 14 days ago

    Others have mentioned Materialistic and Glider. Both are great options that I used for a few years. However, I've recently changed to Hacki. It's also in the core F-Droid repo and works great for me as a HN client. Since it will even try to notify you of replies

  • levidos 15 days ago

    Glider is quite nice

    • skeaker 15 days ago

      This is what I often use, though I have noticed some weirdness where votes won't stick despite the app saying that they did and comment threads that are too big constantly refresh until all the comments are loaded. Might give some of the other apps in this thread a try.

MartinodF 15 days ago

First of all, thank you for creating this app. A couple of years ago you've finally put an end to my decade of looking for a decent HN client for Android and I haven't looked back. I actually run Harmonic in Windows Subsystem for Android and on ChromeOS to use it as my primary way of browsing HN on all devices!

That said, if you have any spare time to dedicate to it, it would be great if you could open some issues on GitHub to express what you have been wanting to do but didn't manage to. I don't have any gripes with the app as-is (other than adding Material You support, but that's likely to require some large changes) and it would be great to have some guidance on what would be useful to contribute.


  • swesnow 15 days ago

    Wow I never thought anyone would be so hardcore as to actually run Harmonic on windows subsystem and Chrome OS - I figured not a lot of people don't use the big screen mode and I mostly made the tablet changes for when I bought myself an Android tablet a couple of years back to use Harmonic more comfortably in the couch.

    The GitHub issues is a very good point! I have a long Google Keep list with things I've been meaning to do and hadn't even thought about opening issues to guide to help. I'll try to get some of those up tomorrow :)

Reubend 15 days ago

Hey there Simon, thanks for writing this great app. Although you said that you wouldn't call the architecture of the app a beauty, I think the UI really stands out as a pretty app that provides only the features that are really needed without delving into anything unnecessary. Really well done and congratulations on the OSS release.

  • swesnow 15 days ago

    Thank you! I am glad you appreciate the choice of focus! It does however make tweaking the app a bit harder at times but as long as it looks and behaves good I am happy as well :)

cudder 14 days ago

I've had Harmonic on my phone for maybe two years now. Best UI out of all the HN reader apps I've tried. Still I go through perioids of using the app to read HN and then switching back to the website in mobile Chrome. I like to skim through the headlines, open interesting articles and comments in new tabs and then go through them after I've read through the front page headlines. No app really supports that, and I'm not sure if an app would even be able to do that better than a browser.

Aside from that the other thing that makes me go back to Chrome are occasional crashes. Seeing how many people daily drive the app and nobody else has mentioned this, I have to wonder if it's something to do with my setup specifically. I do remember it happening on my previous phone (Samsung Galaxy A40, I think) in addition to my current one (Motorola Edge 20) so I just assumed it was something the app does for everyone. I think it usually happens when the app has been on the background for a while, and then I reopen it and it'll start to fetch the new stories and then crash.

Do you receive some sort of reports automatically from such crashes? I have zero Android app development experience so I don't know where to look for logs or what to try next.

  • swesnow 13 days ago

    Hey thanks for the kind words! About the "tabbing" behavior; I know Sync for Reddit on tablets introduced a version of this a while back but as you say getting the UX of this correct on phones is very challenging but it is an interesting design challenge.

    I get automatic reports on crashes and about 99% of them are WebView crashed in native code. I've Googled this a bit and am under the impression that these are unavoidable but I definitiely do not understand it. My impression is that they are due to bad performance but it is unclear if anything can be done from the app side to mitigate the issue.

    The actual Java crashes (i.e. crashes in the Harmonic code) are relatively few according to the console data I have and mostly non-deterministic but if you have a crash you can replicate I'd appreciate if you can describe it so I can see if I can get the same behavior on my side.

sagz 14 days ago

Love love love Harmonic! I actually stopped using an iPhone because Harmonic was giving me a better experience than Octal on iOS.

A couple feature requests! 1. Enable deep linking. Capture the news.ycombinator links on my phone and they auto open in Harmonic 2. Something is broken in the login form that blocks my autofill from working (1password, but it should be the same for any as it's an Android level API)

  • swesnow 14 days ago

    Haha wow that's actually crazy that you switched phone partly because of Harmonic!

    1. Deep linking used to work a couple years back but I think there was some Android change making it harder meaning you had to verify that you had ownership of the domain. Perhaps this is possible to bypass but I haven't looked into it.

    2. This totally slipped my mind; I just found out there's an autofillHints attribute which you can give to text boxes - I'll try to get this fixed. Thanks :)

suddenclarity 15 days ago

Big fan of the app. One thing that have bothered me a bit though are bookmarks. Is there any way to sync them with the built in HN functionality? I often bookmark threads with 200+ comments to take notes later on the computer but I haven't found a decent way to transfer them without sending links one by one.

  • pylbrecht 8 days ago

    Also a big fan here, who would love to have the ability to sync bookmarks to his desktop PC. I'm usually just bookmarking while commuting (or sitting on the toilet), but prefer reading on a larger screen.

  • swesnow 13 days ago

    Yeah this is something that has been on my mind. It is possible because I know other apps do this but I haven't looked into details of the API. I totally get the appeal and have received many requests to add this.

    THere is an option to export bookmarks in the bottom of the settings and technically if you are a very hardcore person you could set up a Python script to import them but of course this is way too hardcore for most people.

    • pylbrecht 8 days ago

      Is there a way of automating the export of bookmarks in the app?

      I'm thinking of exporting bookmarks regularly to a network drive and then having a script check for new content in that drive to sync with my desktop PC.

XMasterrrr 15 days ago

That's the client I use on daily basis and it's been one of my favorite apps

  • swesnow 15 days ago

    Glad to hear that it is doing its thing for you and that you enjoy it!

FireInsight 15 days ago

I do all my HN browsing on this "minimalist" mobile client called Glider. It's actually great, feels modern and you upvote and reply with swipe actions instead of buttons, which I actually like.

  • Ashymad 15 days ago

    I've tried glider for some time but it had a very unpleasant tendency to freeze my phone completely. I've since switched to Hacki which is really responsive and has similar swipe controls.

  • thereticent 15 days ago

    Lately I've used the lite app with Hermit, but I'll give Harmonic a shot.

ejj28 15 days ago

Been using Harmonic daily for a few years now and I love it so much, it's an incredibly well made app. Thanks for making it, awesome that it's open source now as well!

  • swesnow 15 days ago

    That makes me very happy to read! And I'm glad that making it open source can increase your enjoyment

t0rb3n_ 14 days ago

Awesome work! Just discovered this client and instantly fell in love with it! Used it for a couple of minutes and thought "hey, it would be cool to be able to click on the story to get to the comments." Guess what, there is an option for that. <3 Also really like the "Jump to the next top-comment" option. Always missed this from reddit.

One question though. Is it possible to change the accent color when using the Material You (light) theme?

  • swesnow 14 days ago

    Glad you like it and thanks! There's been many feature requests over the years of that nature so I am glad they address the same pain points of multiple people.

    As can be found in/values/themes.xml line 119, the accent color is one of the automatically extracted material you colors. Therefore you could change your wallpaper to change the color but I haven't got any plans to change the material you color used. However I don't use light mode and perhaps it is bad - in that case a change may perhaps be in order.

    • t0rb3n_ 14 days ago

      Thank you for your answer. I uploaded a screenshot to Imgur of what it looks like on my screen [0].

      Unfortunately I am running Android 9 and this automatically picking color feature doesn't seem to really work since my background is just black with a few blue dots. Not sure about that I am not really into the Android Game.

      [0] https://imgur.com/a/m7SFKqT

      • swesnow 13 days ago

        Oh I see, yeah on Android 9 you are getting a fallback color for when automatic theming is not available. I would recommend using the regular light theme as this has a green accent which I think is nicer on the eyes. I'll add a note to change to light material you fallback color because that does not look nice.

kawemi 15 days ago

I absolutely love Harmonic! Great UI/UX and nice attention to details. Almost prefer browsing HN using it rather than the website :) Thank you for open sourcing!

  • swesnow 15 days ago

    Thanks you and thanks for noticing the details :)

lostin 15 days ago

I love Harmonic! Browsing HN is so much more enjoyable with it than with the website. The UI is great too. Thanks for making and open sourcing the app!

  • swesnow 15 days ago

    That is very kind of you to say - you're welcome!

nickexyz 15 days ago

Been using Glider on Fdroid for quite a while, but giving Harmonic a try now. Love it so far, great work and thanks for open sourcing!

  • swesnow 15 days ago

    Glider is a nice app for sure and I totally get the F-droid appeal - nice to hear that you are still able to be impressed by the app :)

CuteDepravity 15 days ago

I tried it for a few minutes, I really like it But the lack of widget support is a deal breaker for me I usually just unlock my phone, see top stories directly and then click on one of the to open Materialistic (HN app, haven't been updated in a few years do it got delisted from the play store)

  • swesnow 13 days ago

    Yeah a widget is something that would be nice - I don't use them heavily myself so I guess that's a big reason for why they are not there right now. I do remember Materialistic having a OK widget.

Mystery-Machine 15 days ago

Awesome! Been using it for about a year now. (I'm writing this from Harmonic)

There's one functionality of another HN app that I really liked that Harmonic doesn't have - mark topic as visited when I scroll past it in the topic list view. I loved this feature and I really miss it because it allowed me to quickly see all the new topics that I haven't seen before. All the topics that I scrolled past I either visited or are not of my interest.

I'll see if I can add this functionality to the app and a preference for enabling/disabling it.

Thank you so much for building such a beautiful app!

  • swesnow 13 days ago

    Very nice - I look forward to a PR. Contact me if you have some question about the code and I'll try to help you out :)

artogahr 15 days ago

I'm reading this on Harmonic right now, and I've been recommending it to everyone since I've discovered it. Thanks for the great work!

  • swesnow 15 days ago

    You're welcome and thanks for spreading the good word :)

dguo 14 days ago

Thank you for your work! Harmonic is one of my most used apps. It's a joy to use, and I love the design (including the logo)!

  • swesnow 13 days ago

    Thank you very much! I actually made the logo with matplotlib by just plotting a bunch of sines with integer frequencies and put it together in Photoshop and feel like it's held up OK

niederman 15 days ago

Love Harmonic! Writing this reply on it right now!

  • swesnow 15 days ago

    Thank you, I hope you'll keep loving it! And good that the comment system is still working :)

TomasBaneUK 14 days ago

I'm banned from github. These Reddit Sync features are also great if someone want to add them:

- Mark as read on scroll

- Title customization I don't like the font weight

- On thread view an option to hold a comment to hide its child comments. I think sync moved to single tap for the other actions

- E-ink friendly options like pagination instead of scrolling

Great app thanks for open sourcing it

AugurCognito 14 days ago

Harmonic is my main way to interact with HN.(writing this on Harmonic) Love the ux of just pushing articles down for the articles and was curious how it was implemented and why other applications don't do it. Thanks for creating and open sourcing Harmonic.

  • swesnow 13 days ago

    Glad that you like it! It is a BottomSheet (https://m2.material.io/components/sheets-bottom) which is a Material design component from Google and they handle a lot of the complexity (although the implementation in the app has a few bugs) which is nice

    • AugurCognito 12 days ago

      Thanks for the reply! Your implementation looks like a very ingenious way to use bottom sheet.

ricardolopes 14 days ago

Like others in the comments, I've also been happily using Harmonic after having tried almost every other HN app.

I've got a strong preference for open source apps, so this is the best news I could get from this app.

Thank you for your great work!

pox2v 13 days ago

Hi Simon, have 2 favorite apps for Android and Harmonic is one of them. Really good job.Its nice that you share you code.Hope app will get better with other people contribution.

kretaceous 15 days ago

Harmonic has been my favourite, but only as an HN client but as an overall app. Have been using it for ~2 years now. Huge thank you for building this and thank you for open sourcing it!

  • swesnow 15 days ago

    Wow that is very kind of you to say! Maybe it's because I've spent so much time with it that I see the cracks but it makes me glad that you view it so fondly :)

ugh123 15 days ago

Great project! Would be nice to have screenshots in the README.md.

  • swesnow 15 days ago

    Thanks! You're right that the README needs a little prettifying, I added a link to the Play Store for now where screenshots are available but for sure it would be better to have something in the README as well.

vardhanw 14 days ago

Thanks for developing, and now open sourcing, Harmonic. It has been my favorite HN client for a few years now, something to it that make you not want to leave!

noisy_boy 14 days ago

I used to use materialistic but then started just using Firefox to browse. Kudos to HN Devs for making it work so well on a browser in the day and age of apps.

gcanyon 15 days ago

Silly question perhaps, but (iOS user here, I can't install it) what are the primary advantages of this over just using the web site?

  • occz 15 days ago

    Not having to load a whole browser runtime has some nice performance benefits to it, which makes the whole experience just kind of feel a bit better.

pouzy 14 days ago

Thanks for that ! I had a terrible HN app, and discovered Harmonic through this post. And it's so much better. <3

dagorenouf 15 days ago

What’s the best alternative for iOS?

esperkin39 15 days ago

I'm reading this on Harmonic from a Chromebook right now. Thanks for all the hard work!

saswatms 14 days ago

It's a really great app just used it. has a great UI, and feels fast too.

rockemsockem 15 days ago

Been using it for years, fantastic that it's going to be open-source now too!

  • swesnow 15 days ago

    Fun that you've followed along through the updates :) And it feels good to finally put something "real" out as open source

ottod 15 days ago

Thank you for Harmonic, it is beautiful. Open sourced just makes it perfect.

tanduv 15 days ago

oo I've been using this on my daily commute. Thanks for building it!

  • swesnow 15 days ago

    You're very welcome, it's great to hear you're enjoying it!

mcdonje 15 days ago

This is my daily driver. It's great! Thanks for your work on it.

  • swesnow 15 days ago

    You're welcome! I use it daily as well and like the idea that others are too :)

rounakdatta 15 days ago

Thank you, can't express how beautiful the Harmonic client is.

  • swesnow 15 days ago

    Thanks! I don't have any design background but have spent a lot of time zooming into pixels and comparing alternatives so it's nice to hear that the choices resonate with others

t0bia_s 14 days ago

Would be nice to filter news by ie above 100 points.

bloqs 14 days ago

Love the app. How do i export my bookmarks?

eee4017 14 days ago

Harmonic is the best HN client I ever used.

KomoD 15 days ago

Happy to hear that, Harmonic is great

brianjking 15 days ago

Installing now, thank you!

  • swesnow 15 days ago

    You're welcome, hope you enjoy it!

mt_ 14 days ago

I use Glider.