Ask HN: Is it a strength that HN's UI has not changed over many years?

91 points by winternett ↗ HN
I find myself lately gravitating back to older communities that survived the social media wave on the Internet because they seem to be a bit better at keeping track and promoting visibility of meaningful conversations, despite traditional functional flaws, screen sizing, and often dreadful large threaded views. I think a major strength is that most of these traditionally designed sites/apps still emphasize chronological order for content and posts, which makes the experience less prone to manipulation and more timely.

It also seems with older sites like HN and online bulletin boards, content can be bookmarked, and it's easier to correspond with users on a more regular basis. I think the most frustrating trend on modern sites and apps is that content I want to see simply disappears into a sea of other things I don't want to see, and that searching to find that content is futile, as results are often gamified and spammed into oblivion.

I miss IRC now, I miss bulletin boards despite all the flaws, I miss old school web sites that had the same content in the same place even after hitting refresh.

In my opinion, traditionally highly effective, favorable, and functional user-experience-based design has been thrown out the window lately as a trend; apps now are very often geared towards tracking, sponsored post placement, and profit/revenue optimization goals, rather than towards creating favorable user experiences.

It makes me wonder (despite some issues of course) if HN is still one of the best places to communicate and post serious matters BECAUSE it's UI/UX hasn't changed (In major ways) for many years?

118 comments

[ 0.24 ms ] story [ 202 ms ] thread
Why break what ain't fixed.
It's a bit annoying to use on phones but I think that might actually be a (completely unintentional) advantage.
There are several good apps.
True, but do any of them let you log in without giving over your password? (I don’t think that HN supports OAuth, but I’ve also never really looked into it.)
I'm just happy they haven't joined the TFA circle of pain yet... That's usually the point where I just give up on logging in to social-based sites/apps.
Yes, the phone experience suffers. I wouldn't call it an advantage, especially since the worst problems (itty bitty upvote/downvote buttons, for example) could be fixed with maybe just a couple hours of CSS tweaking.

But as a whole, and particularly on desktop, the signal-to-noise ratio for this site is so high that it naturally attracts a certain type of technologically-conservative, nonsense-resistant developer, I think.

I agree that it’s an advantage. It’s a form of quality control.
Is it a strength that it looks the same and has the same core functionality?

Yes. The site is fast, using it is fast, the information is clear. It performs the function it sets out to perform very well.

Is it a strength that the feature set (mostly) hasn't changed?

Yes and no. It's mostly a good feature set for me, but I know plenty of people who don't use HN, and who could potentially be in the target market. HN does not need to grow, but the realities of business is that most companies do need to (HN obviously not a company itself), and so it is generally good for new users that features are changing in order to grow as the product is theoretically more applicable to them.

There's another aspect that you touch on with the algorithmic timeline argument. Services we use are becoming smarter, and for the most part people like this. Search is a good example of this, HN's search is basic keyword-based search, and I find it practically unusable because I don't always know the right keywords. A significantly smarter version, of the calibre that FAANG style companies could put out, would be great! Of course it would take more effort than it's worth for this user base to create it because investment like that only makes sense at scale.

> Search is a good example of this, HN's search is basic keyword-based search, and I find it practically unusable because I don't always know the right keywords. A significantly smarter version, of the calibre that FAANG style companies could put out, would be great! Of course it would take more effort than it's worth for this user base to create it because investment like that only makes sense at scale.

Elasticsearch would be a good fit for this, and it's such a delight to use, once you understand how it works. Just tweak some parameters, and you get a fast search engine with immensely useful features like stemming, parameter ranking, and so on. It's one of those things that I love to use on client sites because it makes me look like more of a genius than I really am.

Elasticsearch is absolute garbage for text search such as articles or comments. Text contains 'foocompany.com', and you search for 'company.com'? No results. It also tends to ignore punctuation (not sure whether this is configurable or not).

Please let me keep simple word search.

> Text contains 'foocompany.com', and you search for 'company.com'? No results.

Well… yes… I mean, you could probably make that causing a hit with some stemming if you wanted to, but that seems like reasonable behavior to me.

If you meant to give an example more along the lines of "singer" and "singing" not matching, again, that's a job for stemming. The feature is there; it just needs to be enabled.

> I mean, you could probably make that causing a hit with some stemming if you wanted to

A simple String.contains() gets you there, and that is the behaviour of grep, and most tools behaved that way too in the past (and still do, if they don't use ES).

> The feature is there; it just needs to be enabled.

It's not enabled in Discord (afaik uses ES), Slack (afaik uses ES?) nor Kibana (ES). What use is a feature if it's never used?

I'm sure there's plenty good things you can do with elasticsearch, but the things I use daily that use it are absolutely infuriating.

How it treats punctuation is indeed configurable, you can index data in multiple ways to allow the choice to be made at search time. It can also be contextually aware to distinguish for instance end-of-sentence dots from domain name or math expression dots.

Matching "foocompany.com" from "company.com" can be achieved with a wildcard or fuzzy search. If you specify an exact match then that's what you get.

Agreed here too... Unstructured data search tools leave too much for spammers to work with (especially when intense moderation and grooming of sources is not involved)...

The accuracy of results (In cases like HN search) is inherently flawed with unstructured data in mission critical settings unless there is an intentionally limited set of resources and contributors... Limiting contributors and resources also often defeats the purpose of maintaining a wide variety of accurate and diverse resources and results.

I was going to suggest that search should just redirect to DDG or Brave search with the !hn tag, but I tried it out and both of those just redirect to the same search page that HN uses (hn.algolia.com). That's both really nice because why not have your site-specific search results reference the search page that site uses and really annoying if the problem is that that page's search doesn't work very well.

It looks like redirecting the search to "site:news.ycombinator.com" does leverage their individual search results instead of going to algolia.com, so that's still an option.

> of the calibre that FAANG style companies could put out

Facebook search is abysmal

Amazon search is (now) abysmal (bloated with promoted shit)

Netflix search is... kinda ok? (but rarely use it)

Apple I'm not familiar with.

Google search is the best we've got, and these days is also pretty shit a lot of the time. (https://searchengineland.com/google-search-quality-crisis-27...)

I could not disagree more re: search and most of your comment. The Algolia service HN uses is _very good_ and when I research a new piece of software the first thing I do is search HN. Relevant stories and comments instead of ads, SEO crap and irrelevant results. Keyword-search is not basic as you say, it's the epitome of "what you get is what you meant", not an interpretation by some unknowable search AI.

Your opinion on algorithmic timelines and engagement-driven search ("that FAANG style companies could put out") are diametrically opposite than mine. HN search is fine, thanks.

To be clear, like you, I do not like algorithmic timelines, but we are in the minority.

Most users do not know, and algorithmic timelines can optimise out content people don't want. At least in theory, there are obviously bad examples.

> I miss IRC now, I miss bulletin boards despite all the flaws, I miss old school web sites that had the same content in the same place even after hitting refresh.

Why miss them? They all still exist. I constantly have my IRC client open and connected to about two dozen channels on Libera (only about five that I actively monitor). Non-Reddit forums for various topics exist too, though, granted, not quite in the quantity that they used to.

Nostalgia of course. I often reminisce about the good ole days too.
Ahh, the good old days... When you'd refresh a page and stuff came right back in the same spot... lol
IRC has shrunken dramatically in popularity now, the user base is a bit limited and topics of discussion are often narrow in focus.

I think that's part of what I'm referring to with that as well.

A dating app that starts with some form of topical (text based open group chat) IRC feature (shot text posts) would likely be a wise move in this current day and time... Or even a twitter clone based on dating profiles... hrmmm.... :P

Are there stats on PC vs mobile for HN? I expect its much higher than most other social media and this format is great on a proper screen.
Nobody really cares about UI as long as the moderation (and => content) is amazing.
people do care. However HN's interface has qhite a few qualities:

- it is fast! Fast UI is inportant for people nkt bring annkyed.

- it only uses a small set of "dynamic" features, like when upvoting, it does what is needed to show the change but not more

- the interface is not in the way, not overloaded, ...

It isn't great on mobile, but way better than many sites who try to grab your attention all the time

Nope. Most people don’t.

People often _declare_ they care. But rarely support it with money or actions.

Would you join some random forum just for the great UX? I guess not.

Would you leave HN if design became worse? I don’t believe you would.

my first impression of HN was “are you serious?! Back to 90s??” But I got used to it and it’s fine now.

If HN had a UI like phpBB I wouldn't use it.
Phpbb's UI can be modified... People do it all the time like me on my own "blog" http://circuitbored.com/

You just have to be super careful when updating to not overwrite your style changes... hah.

If it were true you would never know the difference => your comment proves/refutes nothing
I care. A bunch of the links and buttons are small, especially on mobile. Contrast is low, especially for downvoted comments. Opening a new page to comment makes it a bit annoying to return back to a comment chain you were reading.
It's pretty nice. Loads super fast, super usable. And the parts that actually matter (e.g. the search function) have improved significantly in recent years.

However there are some things that could improve.

For example, in text posts (like this one), the font color is a relatively light grey which has rather bad contrast. Also, my mind is trained to ignore grey comments since those are usually quite downvoted so I have a hard time focusing on the text post.

I actually thought that meant the post itself was downvoted, and yes, it's too hard to read (I gave up after 2 paras).
You can’t downvote posts, just flag them.
If we could just fix navigating back to the homepage on Safari scrolling to the top of the page :(
(comment deleted)
It’s a universal law that a site redesign makes the site worse.
The last Facebook revamp added dark mode, but totally made me stop logging in in because of all the utter clunky-ness of their layout and settings. They massively overthought the redesign process.

Twitter's UI has been terrible for years, but access to real time content is their only saving grace left in my opinion.

If only YouTube would stop trying to twist up their layout and create an alternate content view with skip/ffwd controls and better recommendation methods (like sticking within consistent music genres properly) I think they'd have something better. They simply have too much content (ad too much low effort content) now to still be using their old/linear play recommendation methods.

Mostly yes, except it is missing some important features: HN does not have a cookie banner in the EU, and it does not have an unsubscribe functionality that erases all your posts (right to be forgotten).
The only cookie I see on hackernews is for authentication, so I don't think a cookie banner is neccessary (though I might be misinformed)
This is correct. If the only cookies used are for site functionality, i.e. logging in to post, then no cookie banner is needed.

A cookie banner is only needed it there are extra cookies for other purposes other than site-functionality, or are collected by third party sites/scripts.

SO many sites threw up the banner by default when the law was initially brought it because it was easier then trying to work out if it was needed or not.

No cookie banner is necessary, assuming no cookies other than those required for basic functionality is used. As a logged-in user, I see only one first party cookie which appears used to support the login functionality.

Please stop perpetuating the myth that good actors require cookie banners.

How in the world could a cookie banner be a wanted feature?
does not have an unsubscribe functionality that erases all your posts (right to be forgotten)

EU/non-EU citizen here. This is a well meaning regulation. However, it is difficult to implement technically. How do you structure a conversation where a critical participant has said they want to be forgotten. Is it enough - practically, ethically/morally, legally - to change the byline on their posts? What if there was additional identifying information? Can you hack the conversation to pieces without destroying the experience for others? What about historical reference?

As a citizen in any society, in general, I believe that people should stand by their behavior and its consequences. That's what being an adult is. It's also positive to have spaces without or with reduced surveillance, but retroactively removing public discussion is quite another thing. If we muffle that, what do we have left? Certainly not a strong basis for public thought, historical inquiry, or truth.

We've also learned that any legal loophole is abused by PR companies for rich people/companies with expensive lawyers. I fear that adding this sort of thing outside the EU would quickly lead to systemic abuse.

Browsers now are so verbose we really don't even need cookies any more... Google knows everything via Chrome (which is based on log-ins tied to email and ID accounts, and likely shares that data with many other companies if they pay... I'm in the US, and any time I come across a cookie banner it's more annoying than anything else, because regardless of what I click, I know that tracking is occurring somehow, but at least on non EU sites I have one less annoying pop-up. We pay a lot undercover for that limited free email account that it's too late to get rid of... :(
I noticed my ability to delete posts/comments has vanished at times as well, this worries me a bit... Especially when there is a typo is involved.
I just want one new feature and then HN would be perfect. I want to be able to collapse and leave a thread from any point in the thread.
I'm afraid I don't follow. Can you describe what you want in more detail?
I think he means:

  1. Have a root node R with 20 comments at varying depths
  2. Be reading comment 12, 4-5 layers deep
  3. Realize you don't like the entire direction this thread,
     rooted in node R, is going, try to skip ahead to the next
     thread in case it's more interesting
  4. Today, you have to click parent 2-3 times, or just page up,
     then collapse the whole thread
I find myself doing this fairly frequently, too. The existing tools are nice, but it's not that infrequent that I decide the car crash I was initially interested in is not, in fact, a good basis for discussion; at that point I want to see if the next root node has anything good.
Not the original poster, but if it's what I'm thinking it is: You're reading down a long thread and you've decided you want to stop reading and go on to the next thread. You have to scroll back up to the top most comment for that thread in the post to collapse it.

It would be handy to have a way to collapse from the top most comment easily from wherever you've scrolled down into the guts of the thread.

Ah - that's why we added the 'root' links. You still have two steps: (1) jump to root, then (2) collapse – but it's much easier than scrolling.
Thanks! That could work.
It works, looks inoffensive, and it's not a pain point, so I'd call it a strength.
> if HN is still one of the best places to communicate

It lacks in 'communicate' part

> post serious matters

That depends on whom you talk, not the UX, though yes, there is an overlap

> highly effective, favorable, and functional

The right question is the half of the answer. Half of it is 'and profit/revenue optimization goals'

Resisting the urge to allow embedded media in posts and comments is probably the single biggest factor in keeping the experience streamlined. I’m sure it greatly simplifies content moderation as well.

Still wishing for official support for dark mode, though.

OMG YES!

As I age, Dark Mode is the one thing saving my eyes on many of the sites I regularly frequent... Actually, I think reading bright monitors has irreversibly damaged my vision a lot over time.

I shouldn't have to use a browser plug-in to manually tweak CSS on sites like old Reddit FFS, it's really annoying to constantly have to view painfully bright sites online. It's a relatively easy option that all sites (that make money) should implement STAT.

Dark mode is a symptom of a problem caused by people using monitors in dark rooms. Turn your lights on and you won’t need a dark mode anymore.

Any surface outside in the sun is orders of magnitude brighter than your monitor and yet it doesn’t hurt to look at.

I guess it's also about distance.

Monitors are right in front of our eyes. I probably wouldn't hurt looking a tree or hill, or anything that is outside because they are at a distance. And of course you aren't going to stare at them for long periods of time.

Staring at monitors/screens is different.

There are situations where that is not practical.

Personally I live in the jungle in a tropical climate. Dark mode allows me to sit on my balcony with my computer at night. Light mode is like pointing a flashlight towards your face and "millions" of mosquitos arrives.

It gets dark around here at 6:30 pm and it is impossible for me to use a computer with a light theme at night.

Guess there is no size that fits all.

I'd recommend the "Dark Background and Light Text" extension for firefox as it has been working flawlessly for several years. However, this week it seems to be partially broken, not sure if is the extension or the new browser.
Thanks! I'm limiting my use of extensions beyond Ad blockers at this point due to lax security of browsers though... It's too hard to monitor what exactly they track and to monitor config every time they are updated. :(
I wish they would move the logout button away from the username. I constantly log out on mobile because they are both tiny and stacked.
Two desires:

- dark mode - comment reply notification (yes, I know there are third party work around a here)

The lack of comment reply notifications is a feature not a bug. It places some natural limits on the lengths of discussions.
I am a big fan of the "UX" at HN. I recently discovered indiehackers.com and while I like the content a lot I am having a hard time hanging out there. The site is too dark and there is too much noise, on HN there is just one feed which is nice.
Indiehackers is very slow, the site owner likes to use pithy quotes loading screens to mask poor SPA engineering.
yes, I agree. It is painfully slow in fact. I tend to navigate a lot as well on such sites.
I use separate browser with JS disabled and it loads fast. No pithy quotes, no spinners, just fast content. Sure, some features break, but it is enough to get the content. Try it...
I had a look at the api calls and those seems fast so you are probably right.
It took 20 seconds to load for me every time... Def a frustrating experience... They should lighten up on their UI design and go minimal perhaps if they don't want to spend more on a CDN.
> if HN is still one of the best places to communicate and post serious matters

citation needed.

Other than that, I would love to see a bit better semantic markup, not because I'm some sort of HTML purist who demands everything to be pure, but because it would make it easier to style with CSS (which I did, to add dark mode, bigger font sizes and max widths). Currently, it's nested tables with occasional classes and ids, but not for everything.

these can be done with your browser zoom in and dark mode plugins...
Can you share your css? Those are my beefs with HN. Need bigger font and max widths as well as a bigger ‘collapse thread’ target.
table.fatitem,td.default{max-width:90ch}body,body>center>table,input,textarea{background-color:#262626!important}body>center>table>tbody>tr:first-child>td{background-color:#f60!important}.c00,.c00 a:link,a>u,a[href="http://www.ycombinator.com/apply/"],a[href="https://www.ycom... font,span.comment font a:link,span.yclinks a:link,table.fatitem tbody tr td,td.title a:link,td:nth-child(2):not(.subtext)>a:link,textarea,u a:link{color:#ccc!important;font-size:15px}table.fatitem tbody tr:nth-child(n+3):not(:last-child) td{color:#bbb!important}.admin td{color:#aaa!important}table.fatitem{margin:auto}table.comment-tree{margin:auto;border-left:2px solid #444}input,textarea{border:1px solid #828282!important}a.togg.clicky{margin-left:4px;margin-right:4px;font-size:16px}
Here's mine which is a lot more spaced out, has larger text and moves the post controls to the same row as the post's author and score, with Reply floated off to the right on its own. It works with a user script that allows selecting a comment with the mouse and being able to use the keyboard to navigate up and down and vote or reply similarly to what RES provides.

    @import url("https://fonts.googleapis.com/css?family=Merriweather+Sans:400,700");
    html,
    body {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
      letter-spacing: normal;
      word-spacing: normal;
    }
    body {
      font-size: 13pt;
      line-height: 1.5em;
    }
    .pagetop,
    .title {
      font: 15pt/1.5em 'Merriweather Sans', Arial, sans-serif;
    }
    .default,
    .comhead,
    .subtext,
    .reply,
    .comment,
    .autopagerize_page_info {
      font: 13pt/1.5em 'Merriweather Sans', Arial, sans-serif;
    }
    .profileform td {
      font: 13pt/1.5em 'Merriweather Sans', Arial, sans-serif;
      padding: 0.2em 0.5em;
    }
    .profileform input,
    .profileform select,
    .profileform textarea {
      font: 12pt/1.5em 'Merriweather Sans', Arial, sans-serif;
      padding: 0.1em 0.25em;
    }
    .profileform a {
      color: #37f !important;
      text-decoration: none !important;
      opacity: 0.7;
      transition: opacity 0.2s ease-in-out;
    }
    .profileform a:hover {
      opacity: 1;
    }
    .comment {
      max-width: 100%;
    }
    .itemlist .votelinks {
      vertical-align: middle !important;
    }
    .itemlist .title {
      padding: 0 0.25em 0.25em;
    }
    .itemlist .spacer {
      height: 0.5em !important;
    }
    .ind img[width = "40"] {
      width: 20px !important;
    }
    .ind img[width = "80"] {
      width: 40px !important;
    }
    .ind img[width = "120"] {
      width: 60px !important;
    }
    .ind img[width = "160"] {
      width: 80px !important;
    }
    .ind img[width = "200"] {
      width: 100px !important;
    }
    .ind img[width = "240"] {
      width: 120px !important;
    }
    .ind img[width = "280"] {
      width: 140px !important;
    }
    .ind img[width = "320"] {
      width: 160px !important;
    }
    .ind img[width = "360"] {
      width: 180px !important;
    }
    .ind img[width = "400"] {
      width: 200px !important;
    }
    .ind img[width = "440"] {
      width: 220px !important;
    }
    .ind img[width = "480"] {
      width: 240px !important;
    }
    .ind img[width = "520"] {
      width: 260px !important;
    }
    .ind img[width = "560"] {
      width: 280px !important;
    }
    .ind img[width = "600"] {
      width: 300px !important;
    }
    .ind img[width = "640"] {
      width: 320px !important;
    }
    .ind img[width = "680"] {
      width: 340px !important;
    }
    .ind img[width = "720"] {
      width: 360px !important;
    }
    .ind img[width = "760"] {
      width: 380px !important;
    }
    .ind img[width = "800"] {
      width: 400px !important;
    }
    a.hnuser {
      color: #37f !important;
      text-decoration: none !important;
      font-weight: bold;
      opacity: 0.7;
      transition: opacity 0.2s ease-in-out;
    }
    a.hnuser:hover {
      opacity: 1;
    }
    a.hnuser[title]::after {
      position: relative;
      top: -2px;
      content: attr(title);
      margin: 0 0.25em 0 0.5em;
      padding: 1px 3px;
      border-radius: 4px;
      color: #fff;
      background-color: #444;
      font-weight: normal;
      font-size: 0.8em;
    }
    a.hnuser.friends {
      padding: 0.1em 0.5em;
      border-radius: 0.2em;
      color: #fff !important;
      background-color: rgba(0,68,204,0.75);
    }
    .comhead .age a:hover {
      te...
Oh wow! Just wanted to thank you for this!

Now to try and get it to run on iPadOS

The fact that it doesn't need to change is because it is under the aegis of YC. Anyone else doing the same thing would have been long relegated to the dustbin of irrelevance. Imagine if one day Warren Buffet offers a co-investment opportunity in a new hedge fund, but you will have to physically fly to Panama and manually file the paperwork by hand to participate. Many people would still do it, not because they are willing to accept poor service, but because of the authority who is running the show.
There are incremental improvements they could make (user @latchkey enumerates quite a few in his linked repo), but it's basically fine.

It would be a mistake to do what most link aggregators have done in the past, and burn the whole thing down to do a complete redesign from scratch (cf. Reddit, Digg).

If the tendency is to do the latter, I'd prefer HN did nothing instead.

I have a feeling we have not gotten the hostile "You'll get over it"[1] redesign from scratch because 1. HN doesn't have a team of UX experts desperately pleading to try out all their design experiments, 2. HN doesn't have a team of webdevs who want to re-factor everything into using the next framework-of-the-month, and 3. HN doesn't chase all these vanity metrics like engagement and time-on-site because it's a side-project of Ycombinator not their main business.

1: https://www.youtube.com/watch?v=YnVeysllPDI

IRC still exists. ¯\_(ツ)_/¯
It’s great, but the buttons/links hit targets are too small for touch screens.
as someone who still uses the legacy reddit UI, yes.
The only feature I'm missing is dark mode. On all my desktop browsers I've got custom stylesheets I hand-wrote to keep HN from burning my eyeballs, but on mobile there's nothing I can do about it.
On iOS, there's a browser called "Insight" which can do this automatically by injecting styles. I've began using an app for night-time use so I can take advantage of dark mode.
> on mobile there's nothing I can do about it

Is there a reason you can't use a browser that has a built-in dark mode? I use "Samsung Internet Browser Beta" on Android because it has a dark mode, as well as good ad blocking. Might there be a comparable solution that would meet your needs?