A Modern Web for Hacker News – Open-Source and Seeking Feedback (modern-hacker-news.vercel.app)
Hey everyone!
I've implemented a modern, open-source interface for Hacker News and I'd love your input. The goal is to enhance the user experience and interface, making it more user-friendly and visually appealing.
134 comments
[ 3.2 ms ] story [ 188 ms ] threadIt's however a disaster on my PC. My favourite thing about HN is how I can read top 25 titles by just opening the website, similar to how old Reddit works. That being said, it's not a problem with your website, the better part of modern design language is enshittified by design and lobotomizes the information density to kindergarten levels.
It is definitely more visually appealing, but not user-friendly at the desktop level.
What are the top user pain points your solution is attempting to address (i.e. what are your product requirements)?
Better layout on mobile, more accessible actions, keyboard shortcuts, all those things say "modern" to me, and would be very welcome. Making the background white and adding 100px of empty space between each paragraph, less so.
Is there a noscript/basic (x)html mode for us?
IMO the date is alright when you're seeing multiple ungrouped items from different days, or for closely inspecting when something was posted. But when a list has items that are mostly from the same day, I personally find the full date redundant and distracting. I mostly focus on the hours and am always bit afraid that I might "miss" that one item is from a totally different day, since my eye is in the hours/minutes.
I would prefer just the hour to be there, but what I find even better is the "X minutes ago" format (when everything is mostly from the same day), as even the full hour makes me do a bit of metal calculation.
Yes, that's what I mean by "everything is from the same day".
The web design trend toward less and less information density is a troubling one.
Information is what is being conveyed by the text, that is a property of the language used, not the text layout itself. Smaller letters packed into a smaller space doesn't mean more information, it just means things are harder to read.
What smaller space are you talking about? The browser window dimensions don't change. On vanilla HN at the default zoom level, I can see ~22 submissions. Whereas with the posted site, I can only see ~9. How is that not less information density?
That you see fewer items per line and fewer lines in your monitor does not mean there is less information on the page. It's same information, it's just spread out more. If you switched to a larger monitor, the information density would not magically increase. If you switched to a smaller monitor, it would not decrease. The information density remains the same regardless of the layout, because it's coming from HN's API and the same data sources that populate HN's own page.
Maybe I'm being dense, but isn't density mass per volume, or more specifically here: headline per screen area? So spreading out information would make it less dense.
This sounds like some kind of delusion web designers tell themselves to justify pushing out UI changes that users don't want.
"It's the same information but just more spread out" is quite literally the definition of reduced information density.
You can make all the arguments you want about what "semantic density" really means, but I don't care. The other site is objectively worse for me, and many others, so we don't need to be lectured to about what "proper design" is. If you like it better, congrats, knock yourself out.
But in the end "Proper typography" is just a set of general guidelines. They are not unbreakable rules; nor are they applicable to every audience in every situation. In fact, one design rule that I remember is to "understand your audience".
I think the audience for Hacker News generally prizes economy, efficiency, time and information density; wants to see more LOC on screen not less, and probably a reasonable percentage spend their day looking at screens like this:
https://miro.medium.com/v2/resize:fit:1400/0*cZ0wb7K2E6qtZtt...
(This is an exaggeration, but exaggerations are useful for understanding sometimes).
It's less a wierd hostility to proper typography, and more an understandable hostility to affecting what is comfortable and efficient; lastly don't underestimate the power of an idiosyncratic design: it has character, it is recognisable, and it stands out.
TBH that new page looks like part of the CSS is missing because of all that wasted screen space ;)
I'm on Firefox on Ubuntu right now, 1920x1080. Classic HN shows me 19 headlines in one screen, along with point counts. So let's say, 38 pieces of information per screen. The submitter's app shows me 5 headlines and point counts, so 10 pieces of information. Classic gives me nearly four times the info per screen.
Don't get me wrong, the uncluttered view is pleasant to look at, but HN is the kind of site where density pays off.
On that basis, the classic view is
Often excessive whitespace and 'spreading out' the content is a dark pattern, used to make you scroll more (or load more pages) and view more ads along the way.
So many of these design trends you see are due to the "tyranny of the marginal user" (there was a fantastic post on HN about this a while ago). That is, once you get your core users, design changes get made to try to appeal to people who apparently "only have one working thumb" and all they're capable of doing is scrolling.
I get that HN might not be the most "user-friendly" site for brand new users, but so what? It takes a couple mins to read the site guidelines and figure out what's going on. There is no need to make the site less appealing to frequent users in an attempt to lower the already pretty low bar for new users.
To pursue this design pattern further I would suggest that OP continue to reduce the post density by incorporating meta tag images and videos. Additionally, adding "friendly" animations for upvotes would be useful. Slot machines are a great example of the type of slow-ish, satisfying animations designers at Facebook appear to be emulating.
However, I think the main issue is that most users of HN don’t come here to "veg out and channel surf". There’s a reason the McMaster Carr catalog and the Sears catalog ended up looking extremely different.
I would suspect that the average HN user is here to feel connected to the technology startup community and understand the latest technical trends and opinions. I further assume that they are someone who values their time and enjoys learning new things. Using these assumptions I would suggest robust keyboard navigation and "url threading" (a quick way to see other posts which contain the same url) as UI improvements which may be more appreciated. Github’s interface may be a good place to draw inspiration.
On this proposed format, I can see ten.
I believe the existing page is definitely more dense than it needs to be, but I don't think migrating to so much whitespace that it's 30% of the information that it was is a good ratio. I think I'd be happy with anything over 20 readable headlines (without scrolling) on a new format.
Edit: the readme lacks any information about how it can be installed
It looks like the vote buttons were moved to the right to so that there would not be both vote buttons and post type icons on the left side of the post title. I would argue that vote buttons are more important and should get priority. Maybe remove the post type icons and instead add tags to post title? Then you can put the vote buttons back on the left side where they belong. If you do decide to keep the post type icons, there is way too much white space inside of the circles.
I don't understand why there is a "#" in front of the usernames. Hashtags are typically used to indicate topics rather than people. Unless this is sort of callback to IRC days where operators in front of names indicate server hierarchy.
If you are going to do all-white background I would like option to switch to dark mode.
I do like the timestamps though.
Usability for me is about speed and convenience--see my rendering[0] on the opposite end of the scale--all stories for the day loaded on one long page. Click the date heading for yesterday's. It was made for reading while commuting (with intermittent internet) years ago and I just kept using it on desktop.
[0] https://hackerer.news
Here here! But you're understating it.
Less information dense, and smaller fonts is an appalling use of type, and layout. These first principals about type, font, page layout, they are about readability, and scalability...
We have 600 years of printing, of typography to lean on. Thats 600 years of refinement on line length, spacing and size. The human eye didn't evolve in the last two decades all these lessons still apply!
I'm really good with frontend, but I only have quite limited design training. I can whip out a good non-dense layout pretty quickly.
On the other hand, pretty much every (good) information-dense layouts I ever worked with had to be properly designed by a professional.
Maybe the reason for that is just fashion, I'm constantly informed by what I see and it's easier to replicate, whereas something that "breaks the rules" needs a better professional.
I don't want to sound discouraging, but the thing you need to realize is most of us are here because we like its user interface, not despite it. If you're looking to enhance the site you should improve on its strengths, not change it to something it isn't.
Hacker News loads instantly all the time and I think I speak for most here that we don't want all these extra JS or Next React wizardry.
Transfer sizes are so much different: 276.73 kB vs 14.23 kB transferred with compression. And original HN still could improve transfer size by removing IE8 support for triangle icon rotation from CSS.
To conclude: UI and UX experiments are a good thing, keep them coming, as web technologies are not standing still.
Why remove the hover on links? Does having 3 separate links on each item with no visual clarity "enhance the user experience"?
[0] https://play.google.com/store/apps/details?id=com.simon.harm...