A feature that seems to have disappeared from a lot of blogs these days is date when a post was published. Sometimes date is required to put things into context and I can't understand why so many blogs these days don't have it.
RSS should be a core rather than a 'micro' feature.
I might cop a lot of hate for saying this, but it's been 10 years, it's time to stop mourning RSS and move on.
I loved RSS, I sorely miss the protocol based internet rather than the web based internet we have now. I miss when my emails didn't have adverts pretending to be emails at the top of my inbox.
Advertising was a lot less prevalent when applications had protocols and you could simply move to a different client with fewer (or no) adverts.
But that's not the reality of the modern web.
And it doesn't do much good to pine for the past.
This take, popular though it is, seems to be more vibes-based than reality based. Most blogs I visit have RSS feeds. The site we’re both currently posting on has a fully functional RSS feed. It’s hardly dead.
I always thought HN doesn't have RSS, that's why https://hnrss.org was created if I'm not mistaken. I just saw there is actually a feed for the main page.
HN has never not had RSS, at least for as long as I've been using it (15 years): https://news.ycombinator.com/rss
Most of my media content is podcasts, and I still consume all of my podcasts via RSS feeds. I have yet to run into a podcast where this did not work. RSS isn't the past, it's the future, and painting it as dead is an odd characterization in my view when it's alive and well.
and I still consume all of my podcasts via RSS feeds.
Considering that a podcast is an RSS feed, it's not like there's any other option. People using fancy modern podcast apps might not be interacting with the RSS feed directly, but the software they're using certainly is.
I might cop a lot of hate for saying this, but it's been 10 years, it's time to stop mourning RSS and move on.
I can't comprehend where this notion that RSS is somehow "dead" is coming from. RSS is ubiquitous: every major blogging platform, aggregator, and other media site continues to offer feeds, including all of the major video sharing sites. The entire podcasting ecosystem is based on RSS.
I consume HN, Reddit, Lobste.rs, about a hundred blogs, a hundred podcasts, YouTube and lots of other sui generis stuff all via RSS feeds, subscribed in TT-RSS with Liferea as a frontend.
RSS hasn't gone away and is not going away.
I loved RSS, I sorely miss the protocol based internet rather than the web based internet we have now.
It hasn't gone anywhere. If you miss it, consider the possibility that you yourself have followed the garden path away from it, and forgotten the way back.
Yeah I subscribe to everything from major tech news sites (Ars Technica, The Verge for example) to tiny blogs. RSS is very widely adopted, even if nobody is making noise about it or trying to hype it up. Anything but dead.
I miss when my emails didn't have adverts pretending to be emails at the top of my inbox.
Here's a nickel, get yourself a better email client.
Yeah honestly if you're using Gmail as a "client" you're kinda causing your own problem.
How is it better to not talk about that something became worse according to somebody?
In this case "moving on" means adding in social media "share beacons", which just so happens to load their 3rd party cookies and analytics scripts, and shuttle that web traffic information back to the motherships.
No thanks. I'll stick to RSS.
Mourning? Past? I'm still using it.
There's nothing to mourne. I use dozens of RSS feeds every day and have been for many years.
Time to move on to what? Time to move back to everything being a chaotic jungle of different designs & experiences? I think not. Even if sites themselves don't support rss, there's many tools out there to help res-ify various sources. If there was a way to move on maybe we might eventually drop rss/atom, but it seems highly highly unlikely we'll move back from rss.
I love the web & it's great solid platform. But rss holds a special place in my heart too. Calling rss "not the reality of the modern web", saying that we should just except captive experiences by the valent forces doesn't seem very web-like to me, doesn't bespeaks the user-agency that so critically distinguishes the web from everything else. The internet is for end users, rfc8890, and rss is a strong manifestation of that value.
If we do want to move on we have to make that new place.
WHOA! This is shocking ignorance for an HN user. RSS still exists for most of the web if you can be bothered to use it. It just isn't in your face anymore. I consume a lot of content through RSS to this day. You also don't need to look at those email adverts if you can be bothered to use real email apps. It's your choice to soak yourself in the dumbed down garbage interfaces.
Should, but sadly I have lost count how many feeds in my reader became dysfunctional because they were rewritten to be using nextjs (or the likes).
What is a good guide on how to implement basic RSS functionality?
If you start from scratch, factor it in when deciding on a cms, platform or site generator. I think RSS/atom owes a lot to WordPress, which has it enabled by default since ages.
When you want to add it retro-actively, the specifications are relatively straight forward and don't have many mandatory properties. RSS is a tad simple than Atom, but I'd probably rather go for Atom if I were to start over.
https://www.rssboard.org/rss-specification
https://validator.w3.org/feed/docs/atom.html
In any case: add a link rel=feed to the header of every page to enable discovery (https://www.rssboard.org/rss-autodiscovery - but works regardless of the format)
Also, JSON Feed [0] is still better than nothing, many of the major RSS readers quietly support it, and does have the small advantage that JSON is much easier to work with in more platforms than XML today.
Most CMS/blog apps have it built in. You might need to look up how to enable it (Drupal) or you might already have it enabled, even if you don't realize it (Wordpress). Check the documentation for your blogging/site content framework of choice.
If you're super old school and do an actual manual HTML site, just create the RSS file and add entries to it, then link to it. This is well documented and not in any way complex. It's just a text file, after all.
Unless it's a corporate-ish site, I've found that asking the authors to add an RSS feed can work quite well.
There's nothing stopping a website that's written using NextJS from having an RSS feed. Like mine: https://github.com/andrewaylett/aylett.co.uk/blob/main/src/a... for example.
Good list, though here comes my Hacker News-style pesky comment:
Justified text on a screen is a feature that makes my eyes and brain hurt.
Ragged text is much easier to read. Uneven and beautiful, like a plant whose details you rest your eyes upon as you observe, rather than a uniform concrete structure where vision is lost.
(╯°□°)╯︵ ┻━┻
┬─┬ノ( º _ ºノ)
Meta comment: that’s the third comment I see this week with “quasi” emojis. Is this becoming a trend?
o_o
(╯°□°)╯︵ ┻━┻
o_o
“quasi” emojis
Welp, if you need me I'll be shuffling my weary bones into a casket.
What is this part supposed to represent?
︵ ┻━┻
That's a table being flipped. The whole thing is the table-flip eastern-style emoticon (kaomoji).
Way back when, we used to call ASCII like ":)" smilies, didn't we? I'm so old I don't even remember clearly. x_x
So I tied an onion to my belt, which was the style at the time...
Way back when, we used to call ASCII like ":)" smilies, didn't we? I'm so old I don't even remember clearly. x_x
I always thought that ~it's only called Champagne if it's from the Champagne region of France~ it's only called a smiley if it's smiling. But, according to https://en.wikipedia.org/wiki/Emoticon (and as confirmed by http://www.cs.cmu.edu/~sef/sefSmiley.htm), their progenitor Scott Fahlman gave :-( as a prototypical example, so what do I know?
They're called kaomoji https://en.wikipedia.org/wiki/Kaomoji (face-character)
And Windows actually has a library of them for easy insertion. It's part of the same interface as selecting emoji. Just hit Win+. (Win+{Period}) and switch to the ";-)" tab.
These are called kaomoji. More generally, emoticons.
Sometimes referred to as smilies, though IMO that word describes the 3ish character subset that look like a face at 90 degrees⁰, and predating emoji¹ by quite some time².
----
[0] Like :-)
[0] and many many others: ;-) :-( :-| :-p 8-) …
[1] the graphical alternatives
[2] first commonly used in the early 80s, even before my time online, where emoji turned up right at the end of the 90s
Again, you mean?
Justified text is beautiful ... in narrow-ish columns with good hyphenation. But hyphenation sucks on the web, and without hyphenation you can't even do narrow columns even in the rare cases where it would make sense for the reader.
Well, you can in theory send an entire dictionary with your page to make it not suck.
I don't plan to ever do something like this for any purpose, and I have never seen anybody do it either... But you can.
Browsers take hyphenation hints: insert ­ in a word to tell it that it can put a hyphen there. Either combined with css ´hyphens: auto´ to tell the browser to also choose where to put hyphens, or ´hyphens: manual´ so your hints are the only thing that counts. Then just do it all server-side. Browsers still aren't the best at actually using that, but it's better than not hyphenating at all. (and of course you could write your own layout engine that uses your soft hints)
But shipping a whole dictionary wouldn't even be that unreasonable. A reasonable English dictionary is about 1.5MB compressed or 4MB uncompressed.
I totally agree. I think its because it lets my eyes get their bearings, like sensing the terrain.
This is absolutely it for me. It's also why I like paragraphs to have some level of spacing between them.
I'm currently reading a book that has quite minimal indentation on the first line of a paragraph, no spacing between, small font, and justified text. Every page is just a wall of text. It makes it noticeably more tiring to read than others that I've read recently. It seems to be a trend in more serious historical tomes. The last one I read, the Beauty and the Terror, was similarly typeset.
It's one of the reasons I like reading on my kindle.
Yes!
And lowercase letters are easier to read than ALL CAPITALIZED LETTERS IN A HORIZONTAL LINE OF TEXT.
Justified text is the same thing, but vertically. Your eye reaches the end of the line, and the next one is likely slightly longer or shorter, so it is easier for your eyes to find the next line instead of reading the same line over again, and also easier to see the whole shape of a particular paragraph you want to refer to later.
I do like well-hyphenated justified paragraphs in print, that also let you fit more words per page. But even there, I prefer the organic, non-uniform look of ragged text.
Agreed! I wrote a blog post about this a couple years back.[1] A few things I think are going on:
- layout and hyphenation algorithms on the web are worse (or often disabled!)
- the lines are often too long
- the site's margins aren't as strong as with print design
These factors combine to produce the mess you're describing.
I've spent so much time reading justified text in print that I do like it in general. But I think until places like NYT or Medium adopt it on their websites, it's probably not up to snuff on the web.
(edit: formatting)
I would like to take this opportunity to complain that LaTeX iS cApItAlIzEd lIkE tHiS.
In case you were complaining because you don't know why, rather than because you knew why but don't like it, it's LaTeX because it's Lamport + TeX; and it's actually not really TeX but TEΧ (that last letter is a chi), which, when typeset properly (see https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Te...), was meant specifically to show off TEΧ's layout abilities.
(In fact Lamport got into the spirit of it, and the real name is LATEΧ, again carefully typeset: https://upload.wikimedia.org/wikipedia/commons/thumb/4/45/La... . The common stylization LaTeX is just a convenient ASCII representation.)
Printing CSS doesn't get enough love. The ability to easily create a PDF for later, or to simply print the blog post on a piece of paper to read it outdoors is something I value.
Also, I'm confused about some points. For example, is progress meter really necessary? I mean, isn't the scrollbar a good indicator for the progress?
The scrollbar is not reliable. On Apple platforms, they hide the scrollbar unless you’re scrolling. I think CSS lets us specify that it should be visible on our own pages, but I don’t know how that interacts through browsers to the native behavior.
Well, but it is visible when you scroll.
Progress meter is also at 0% when you're not scrolling, so unless you scroll, you don't know how much text there is to read.
(btw, just checked for Firefox and Safari, and the scrollbar is visible at all times, unless the website explicitly hides it)
(btw, just checked for Firefox and Safari, and the scrollbar is visible at all times, unless the website explicitly hides it)
There is a setting for this called "Always show scrollbars" and I know it defaults to off for me. The underlying about:config rule is specific to GTK though, so this may be platform-specific.
I was checking this on macOS. I have system scrollbar setting set to "automatic". Never changed scrollbar settings in Safari/Firefox, so it works like this for me by default, not sure why.
But also I don't really get how people are fine with hiding the scrollbar, but prefering to see the progress meter always visible for text, when the scrollbar conveys mostly the same information (except some edge cases when the footer is long I guess).
Not that it's important at all, I'm just at loss and it's not the first time I'm getting a signal that sometimes I simply don't understand people. But of course that's fine.
The scrollbar is per-page, the meter is per-article. Lots of blogs where I see a progress meter also have multiple articles on one page, sometimes even infinite scroll. I personally find the meters kind of superfluous, but they don't bother me since they usually stay out of the way.
Can you paste me an example website which uses a progress meter to track reading progress across multiple articles on one page?
The scroll bar is at least as reliable as the progress bar meter surely.
On Apple platforms, they hide the scrollbar unless you’re scrolling.
On macOS, at least, this is a setting so you can make them visible or invisible according to your taste. Probably not available on phones, though.
A progress meter may not be necessary, but as the article points out if you have comments or an otherwise large footer not associated with the content of the post, the scrollbar can be deceiving.
I'm personally a huge fan of the progress meter (having once thought it was redundant as well) - one other easy addition I didn't see mentioned is an "estimated reading time." Having a ballpark range for how long I should expect to spend with a piece of content greatly increases my chance of engaging with it, and the progress meter creates a tangible representation of that time (and how much of it I have left to finish consuming the content).
I'm not sure how "estimated reading time" works for non-english speakers.
As for "progress meter" being an optimization of websites with large footers or long lists of comments, I'd argue that a better optimization technique would be to remove the footer, or remove/hide by default list of comments (i.e. make it available with a mouse click somewhere).
something to hide comments altogether would be remarkable
That's why I like blogs with Disqus -- I've cut all traffic to Disqus servers through uMatrix, so the comments won't even show up.
I'm not sure how "estimated reading time" works for non-english speakers.
Do you mean people whose native language is not English? I assume it works the same way as for everyone else, i.e. it's always an approximation anyway. I'm not from an English-speaking country, but I'm pretty sure I read faster than the average English native.
The other interpretation is that you mean people who can't read English at all, but in this case I understand even less. They won't be able to read the article, if they don't speak the language. After automated translation, the reading time should be roughly correct again.
I'm not sure how "estimated reading time" works for non-english speakers. >
Do you mean for non-native speakers reading English material or for material in other languages when read by native speakers with an average reading competence in their native language?
Anyhow, as a non-native English speaker, it implemented it on my site by showing both the word count, as well as an estimated time, which is simply calculated by dividing the word count by a constant number of assumed words per minute.
That number was guesstimated by doing some reading speed tests on myself and researching average reading speeds and rounding up to 10 wpm. I have to admit that my assumption of 240 words per minute does not hold up to any scientific scrutiny, but otoh it is an estimation.
It works ok for prose. As soon as other notation is mixed in (code, math, graphs, diagrams etc.pp) that begins to naturally to vary wildly in accuracy.
in the early days of blogs, i found comments to be interesting and engaging dialogs. the last decade, or so, i’ve found comments to be unhelpful nitpicking/personal disagreements, spam, or support requests, so i’ve completely stopped concerning myself with comments on blogs.
so i’ll agree that progress indicators are helpful for this use case.
if you have comments or an otherwise large footer not associated with the content of the post
I think the better solution in this case is to use the (relatively) new html tags: <details><summary>Comments</summary></details>
Demo:
https://try.scroll.pub/#scroll%0A%20%0A%20expander%20Comment...
Many of these suggestions are good. (I should make my subheds clickable!) But a couple of them, oh dear…
I really hate progress bars, they are incredibly distracting. One of the worst examples of front end programmers wasting their time reimplementing browser functions badly. I already have scroll bars! I do not need more scroll bars!
Also, link decoration: my browser already has a nice discreet indicator to tell me where a link goes, I don’t need or want mysterious dingbats in the running text. (It reminds me of websites that are so scared of hyperlinks that they send them via interstitial warning pages “YOU ARE LEAVING THE SITE!!!!1!1!”, or in a recent case via a $yber$ecurity box that broke the link completely.) And preview popups? Get in the sea, hostile obnoxious interruption.
I think progress bars are a logical consequence of the user-hostile shrinking of the scrollbar. Unusable, narrow things which are often hidden by default, and rarely have a visible elevator (or thumb) anymore. Of course, scrollbars are often entirely useless in pages which insist on loading content piecemeal -- another user hostile pattern.
Whether or not either of these is user-hostile is up to interpretation and preference, but you're stating it as if it is objective fact.
You see user-hostile shrinking of the scrollbar, someone else sees more room for content and hiding something that isn't necessary until you need it. You see loading content piecemeal as hostile, someone else sees blocking that 1kb of text from being displayed while you do more network-intensive work as hostile.
Regarding scrollbars, it’s user-hostile if the user can’t control it according to their preference.
To add to this, pages sometimes have comments or footers or other bells and whistles after the content that I’m interested in and it makes me think the post is longer than it is. This leads me to either leave the post for later or straight up close it because it’s too long.
To add to this, pages sometimes have comments or footers or other bells and whistles after the content that I’m interested in
Or, especially in news sites, Taboola and other bottom feeder trash.
Most of these progress bars are as thin as the native scrollbars have gotten (or thinner). If these are solely a consequence to the shrinking of the scrollbar, you'd imagine that they'd actually be bigger.
I think that's a large contributing factor, but either most implementations are are as deficient [0] as what they are trying to augment or there are other things at play here. (Branding since websites haven't been able to consistently style browser scrollbars since the IE/early Firefox era; as the other comment points out, trying to counterbalance how long pages have gotten with "after-content" such as ads and comments and recommended articles and "infinite scroll" to more articles.)
[0] Or arguably worse deficient: Most of them seem to have no real accessibility themselves and are opaque to things like screen readers. Even if modern scroll bars are hidden by default and woefully tiny visually by default, they still have decades of accessibility baked in and accessible options (if you can find them).
I'm with you. This was one of the least readable websites I've used in a while...I like some of these ideas, but many i actively dislike.
To be fair, the author notes this and offers an alternative:
One immediate thought is that this is completely superseded by the regular browser scroll bar that’s ever-present at the side of the page. However, the scroll bar could be deceiving. If your page has a comments section, the comments could make the page look dauntingly long. Similarly, references to other pages and general “footer material” count towards the scroll bar, but would not count towards the progress bar.
Combining the two, you could imagine an always-visible table of contents that highlights the current section you’re in. With such a feature, you can always see where you are (including a rough estimate of how far into the page you’ve scrolled), and at the same time see how the current section integrates into the broader structure.
Funny, I quite like progress bars! I agree that they can be too bold at times, but it's nice to have a visual indicator since scroll bars have disappeared (especially on mobile).
I really hate progress bars, they are incredibly distracting. One of the worst examples of front end programmers wasting their time reimplementing browser functions badly. I already have scroll bars! I do not need more scroll bars!
This is addressed though in the following paragraph (indirectly), where a table of contents is rendered on the side. (Similar is a minimap, which I like for code or complex articles, but not for long text-heavy articles.) Maybe you also hate that, but it actually serves a purpose that scrollbar can never replicate and is much more useful than a scrollbar for many people.
I really hate progress bars, they are incredibly distracting. One of the worst examples of front end programmers wasting their time reimplementing browser functions badly. I already have scroll bars! I do not need more scroll bars!
And the icing on the cake - as demonstrated in the quanta link - is the horizontal rendering in combination with a generous sticky wasting precious space I'd rather use for, well reading content.
I think horizontal progress bars are annoying but I think I'm fine with vertical progress bar to the side on heading navigation, highlighting the currently reading sub-heading.
+1 on finding progress bars distracting. I personally feel like they also "hurry" you into reading faster. If I see a progress bar, my first instinct is to try to finish as quickly as possible, even if that means a poorer understanding of the text.
I hate all of these features except the index. I get about 12kbps on mobile. There are very few sites I can view. Hackers news is one of them. The more I use the modern internet the more I want to be left alone with my thoughts. I need th website equivalent of a sensorial faraday cage.
You get less than a quarter the speed of dialup?
Some potential reasons
- Remote backhaul / Satellite / Offshore
- Subsidized/cheap wireless plan
- Going over data cap, some carriers fall into a "safety" mode instead of charging you extra. I pay for 8gb/mo and would get throttled to similar speeds
- Preference
Plus all wireless transmissions of internet stuff that use TCP will experience random round trip time (rtt) leading to problematic and ever increasing TCP re-transmit delay after back-off.
Preference
I don't kink shame, but slowed websites is an odd one.
Back when I was on satellite, I wouldn't say those speeds were the norm, but they certainly weren't unusual.
Why is your mobile speed so slow? Where do you live?
This is typically my experience when driving on interstates in the western US. The speed varies enormously, but glacial speeds are very common. HN works well, most sites do not.
I actually agree with you, even though my Internet isn't as slow.
Can you do me a favor and go to my website? If you do, please give me feedback about what you like and don't like. Thank you.
Phone might have a power button which would help you meet your goal.
Besides "Link Previews", which other features are affected by your bandwidth?
Maybe it's just me, but I'm not so much of a fan of Dialogs as demonstrated here, especially when there are a lot of characters, each of which have a different role that is only communicated by going to a separate page to read about them. If I wanted to explain something in an article I was writing, I would just explain it in the same way I'd do everything else, with a separate paragraph, maybe with some links to relevant sources that I used to become familiar with the topic too
It takes a lot of skill on the part of the author - I don't think I'd risk it personally.
But I like the way it's handled on fasterthanli.me enormously - the author there successfully anticipates a lot of my "wait, but..." thoughts and addresses them directly via this mechanism, or, conversely, makes me realise that I ought to have had an objection to the point they're making.
I've just read a couple of their articles, and I think an aside works nicely, just a note about something, but a full on dialog is a bit much. I suppose a lot of my concern was with how Xe Iaso does it, where it just feels over the top and unnecessary, and IMO distracts from the actual content of the article, which is otherwise largely enjoyable
It is a very hard thing to calibrate. I try to have my internal conflicts and the like get put onto the canvas. I imagine that part of the perceived distraction is because of the CSS being bad (I suck at CSS so much). I'll go dig through a few Tailwind examples and see if I can make the messages more compact.
I prefer this in an FAQ format with an omniscient-like asker.
3Blue1Brown makes some of his videos with a lightweight dialog format too.
Agree.
I'd always thought that inline dialogs with fictional characters were more for the author's entertainment than the reader's, so I was surprised OP and others in the thread like them.
I have nothing against them if people like them; just a matter of taste.
Agreed. I can rarely identify with the character(s) I’m supposed to identify with, and it’s virtually always a tedious read.
It’s also possible to use a question-answer style without having a dialog and characters. What would that look like? Well, similar to this very paragraph. Not that I would particularly recommend it either.
Dialogs are definitely an interesting form of writing, especially for technical writing. On the one hand, it's a deeply natural format with a long and complex history (the Socratic Method, especially, but certainly not alone). On the other hand, we've long disassociated it from "professional writing" which is to supposed to only have one proscribed argument and one direct viewpoint (likely, but not always, the author's).
Somewhere in the middle, is decades of the "…for Dummies" technical manual formula and its stock dialog characters and the love affair many had (or still have) with "The Poignant Guide to Ruby".
Dialogs can definitely be hard to read in the context of just reading a single blog post because you don't have a familiarity with that author's characters and most blog authors don't have a "shared universe" of characters. I wonder if there's an interesting world where for instance the Dummies characters were considered to be public domain at the right time or more blog writers felt confident with _why's unique voices to turn Poignant's characters into a modern "Punch & Judy" for technical writing. The Socratic Method worked because everyone had a shared intuition on the characters of the day (in part because many were famous Senators and/or Wrestlers): Plato, Socrates, Aristotle, etc. (Also, Plato was his wrestling name, these were absolutely characters.) Maybe if we want to use more Dialogs in blog posts easily we need better shared characters?
Oh this is a great list. Thank you. A few things on here that I'm now going to spend the day bringing to my site. I like how you explicitly called out a few things Gwern does. I love that site but hadn't examined closely _why_.
Here is a few additional things not on your list that I love and have implemented on my blog:
- Plain text versions of all posts. Change the file extension on any page on my site from ".html" to ".txt" to view it as plain text (https://breckyunits.com/intelligence.txt). Makes it easy to copy/paste a whole post into an email or Reddit submission
- View source links at the bottom of every page. Every post is 1 file tracked by git, and I put a "View source" link at the bottom of each page. Even the static pages are also one file, and also have a View Source link.
- Clientside full text search - https://breckyunits.com/search.html.
- CSV export. In addition to RSS, you can download my site as CSV (https://breckyunits.com/posts.csv).
- Keyboard nav. Use the left/right arrow keys to navigate through pages on my site.
- Helpful 404s. If you mistype a url, the 404 page compares it to working urls and shows you the closest match. All done using clientside JS (no web server needed). For example: https://breckyunits.com/pcr.html
- Download entire site and read offline. Everything is designed to work fine locally and you can download the whole thing as a zip. (The link is at the bottom of every page)
- Printable. Everything is designed to look decent printed. Nav elements are hidden via CSS when you go to print. I haven't added automatic generation of PDFS yet, but that is on my todo.
- Keyboard nav. Use the left/right arrow keys to navigate through pages on my site.
Please don't, this is horrible and I've previously only seen it used by clickbait news sites.
It provides no real value, the only use case of somebody wanting to browse through just the start of each of your articles is going to be incredibly rare. But what you're doing is hijacking a key that normally has no effect into having a destructive one. All it takes is a minor keyboard fumble while trying to scroll, and you've just lost all context and confusingly taken to some totally unrelated article.
In theory is the same as in practice, in theory. But in practice, they're different.
It provides no real value,
This is wrong. It provides a tremendous amount of value. Source: I use it many times a week, for many years, for many reasons.
destructive one.
This is wrong. These pages are immutable with no state. If by chance you accidentally hit an arrow key on one of the rare long form pages with scroll, sure you lose about 50 milliseconds of time getting back to your prior scroll level. In years of doing this not a single person has ever complained, while instead a number have commented that they like it.
In years of doing this not a single person has ever complained
I've never used your website, but if I did and the side arrow changed things, I'd immediately close it and never come back. You wouldn't get a complaint from me; you'd just lose me instantly and permanently.
It drives me absolutely nuts when sites do this, it is so disorienting.
I'd immediately close it and never come back. You wouldn't get a complaint from me; you'd just lose me instantly and permanently.
Do you think this concerns me?
I don't make this site for you, someone who admits they've "never used" my site.
I make my site for my regular readers, some of whom have been reading the site for over 10 years.
The people who regularly email me comments and feedback on my posts. People who _love_ the fact that they can flip through the entire blog in seconds using the arrow keys.
when sites do this
My site is not like other sites on the web. In fact, it is such an outlier, that I've recently started a new successor to the WWW, called the World Wide Scroll, to start aggregating more sites like mine.
My site is entirely public domain, has no advertising or trackers or cookies, can be downloaded in 1 click and used entirely offline, is written in a new language (Scroll) that is mathematically shown to be the simplest/most powerful language yet invented, that compiles to HTML/CSS/JSON/XML/RSS/plain text, is fully tracked by git so you can see the history of every line in every file.
a new language (Scroll) that is mathematically shown to be the simplest/most powerful language yet invented
This is, at best, ambiguous. To show something mathematically, you have to have a precise definition of it, and neither "simple" nor "powerful" admits a precise definition that is widely agreeable enough for any mathematical proof based on it to be worth anything.
I stand by my claim.
I point you to https://breckyunits.com/pcri.html
Further background:
- https://breckyunits.com/intelligence.html
- https://github.com/breck7/breckyunits.com/blob/main/research...
- https://github.com/breck7/breckyunits.com/blob/main/research...
- https://github.com/breck7/breckyunits.com/blob/main/research...
I was thinking about this recently as I added it to a site. The use case is slightly different because the site in question was more data-driven than a blog. One example is viewing an individual item and being able to navigate to the next item in alphabetical order. This uses link elements with the appropriate rel values.
The problem of losing context can be mitigated by having the page return to the previous location on back, something which browsers kinda already do, just not very well.
Alternatively, I assume you'd prefer some kind of modifier? This has problems of its own — e.g. shortcut clashes. YouTube uses comma and full stop as frame next/previous shortcuts — maybe we should standardise on those?
- Helpful 404s. If you mistype a url, the 404 page compares it to working urls and shows you the closest match. All done using clientside JS (no web server needed). For example: https://breckyunits.com/pcr.html
Very neat! Many other are cool too.
I came to the comments expecting more pushback but I'm surprised. What happened to the simplicity of reading articles without status indicators, link popups, notes, conversations, ...?
OK, table of contents, you're cool.
Also 0 mentions of reader mode.
The author's focus is on static-generated sites, so reader mode isn't super relevant since they don't have a bunch of junk to clean up in the first place.
ah yes reader mode, undoing "loved" features since 2010!
It's embedded in the browser now.
There's some of these that I think are overkill, sure, but I like the simplicity of some of them - sidenotes, progress bar, etc. Just little things that give you that much more information about what's going on. Gwern's page, to me, is too much.
My personal favorite mixture of style and implementation of these features is jefftk.com - simple, fast, but gives a ton of information in an unobtrusive way.
Those things are content.
If it's not the kind of content you want to put on your site, well, don't. But they are they are there to inform you of something. (Well, except for the link preview. Link preview is not good. At all.)
OK, table of contents, you're cool.
I also vote for turning plausible link targets into links, or at least giving them IDs so that they can be linked without cruft; and, ever so much, especially for posts in a group that are not consecutive, for links to the previous and next post in the group. I've seen some blogs that do backlinks but not forward links, which is very frustrating when they say something like "I'll finish discussing this topic in a further post when I have a chance" in a 2013 post, and now there's 11 years of archives to go through to find out whether they ever did ….
Easily Linkable Headings
I haven't found a nice way to do this on both desktop/mobile. What I want is for every heading to have an anchor link that can be copied, similar to a hyperlink. I see a lot of sites do this with a [unicode chain symbol] which is present on hover, but that's not an option on mobile. Alternate option is to have it next to every heading (ugly), turn every heading into a hyperlink without styling, or make them look like regular hyperlinks which I think is confusing.
Have an icon appear on hover, and make every heading a hyperlink (even without styling), and have a table of contents with links to each heading (with styling). No need to dumb down your interface just for smartphone users.
What's the point of the icon if the heading is already a hyperlink?
The anchor symbol can have JavaScript that copies the link to clipboard on click. And the heading can be a plain old link to itself. Gives a nice visual and interaction for desktop while providing a way for mobile users to get the link too (long-press the heading and copy link).
Try this.
/* keep the icon hidden by default */ :is(h1, h2, h3, h4, h5, h6) .icon { visibility: hidden; }
/* show the icon on focus and hover */ :is(h1, h2, h3, h4, h5, h6):focus .icon, :is(h1, h2, h3, h4, h5, h6):hover .icon { visibility: visible; }
/* show the icon on devices that don't have any accessory that can hover */ @media (pointer: coarse), (any-hover: none) { :is(h1, h2, h3, h4, h5, h6) .icon { visibility: visible; } }
The `pointer: coarse` media query checks if you are using a device with an input mechanism of limited accuracy (such as fingers on a touchscreen). The `any-hover: none` media query checks if none of the input mechanisms on your device support hover (such as a Surface tablet not attached with a keyboard).
I don't think it looks that bad. My blog's anchors are hover-visible on desktop and always visible on mobile (with lower opacity). I used this query to check for hover event availability to decide whether they should be always-visible: `@media screen and (hover: none)`. I think it turned out pretty ok¹.
Isn't that what anchor are for?
I don't like side notes. It tries to separate the readers to two groups---one who wants more details and the other who doesn't, but the problem is that there's no such natural division.
When I read articles with side notes, I often find myself constantly checking the side notes and then regret doing it because the info is unnecessary. I prefer the author to carefully think through and choose what info to present instead of just dumping info to the side notes.
This seems like evidence that there is a natural division and you're in the second camp, no?
The thing is, I do like to see details and I'm curious. That's why I check them in the first place. But we can't know beforehand whether it's useful or not.
This is true for both footnote and side note, but for footnotes I can give it a glance to see if I want to read it thoroughly after reading the whole page, whereas for side notes, they are so easy and tempting to be seen. I feel the point of notes is that they do not interrupt the main flow but side notes put them on almost equal footing in terms of attracting attention as the main content.
Besides, footnote/side notes should be kept minimal, otherwise the note becomes the main content. I find articles with side notes often overuse them. Yeah, if they are kept minimal I guess both approaches are fine.
It would be nice if it were configurable where the notes appear, either foot side or end.
otherwise the note becomes the main content.
There are some authors whose footnotes (even sometimes indices) I read before the main content, because in the past they've hidden all the best bits there.
I treat sidenotes/footnotes like parenthetical expressions - too many are distracting. A strong writer should be able to convey his thoughts and asides without interrupting the flow of text.
But I'm not sure they can be eliminated entirely. At least sidenotes make use of empty space on wide screens.
I think that just means the author is writing bad side notes. Structurally, they do have a place. You said that yourself - "I do like to see details and I'm curious". An author moving all their side notes into the main content would not make it clearer. An author deleting their useless side notes would make it clearer. Neither of those speak to the usefulness of side notes.
I went pretty far in the direction of these features on my personal sites in the 2010s. They are fun coding and design challenges.
Nowadays I am going the other direction. For the most recent design on my personal site, I even have a “no footnotes” rule, on the theory that (for me at least) footnotes can be an indication of scattered thinking and/or insufficient editing.
Nicholson Baker would like a word.
We were mutuals on Twitter, alas
David Foster Wallace would also like a word.
My thoughts exactly. There is a time and place for footnotes, sidebars, and citations, but they take attention away from the body text and, when overused (gwern.net), the entire site can look cluttered and disorganized. Most people aren't going to read these things anyway, so you're better off focusing on concise, effective writing.
I don't have the time for editing. but i don't often have footnotes. I'll try and write the content in, and link where I must.
These features are all sage advice for any blog in my opinion, and this blog is a good example of one that is easy to follow as a result.
Regarding the Table of Contents feature, however, I believe this makes a big difference in larger blogs, but for medium sized or smaller blogs, it can be a distractor. I use Hugo as well for compositing my site, and find that using ample first level headings (e.g., # Heading name) for major components alongside a solid flow that contains visual graphics placed shortly after the heading offers an attractive and easy-to-navigate browsing experience.
Tables of contents are tricky. My publishing logic is rather flexible in how I use them, so I used to put them into the margins of longer articles[1] and sometimes even shorter ones[2] although I wasn't great at always remembering to do it[3].
But the problem for me is that good headlines, that give a fair summary of the section they are for, make for really wide tables of contents which don't fit neatly into the margins[4], so sometimes the table of content has to occupy space in the main section[5] which seems to me like it distracts a bit from the actual content.
[1]: https://two-wrongs.com/markov-chains-for-queueing-systems.ht...
[2]: https://two-wrongs.com/verifiable-software-development-estim...
[3]: https://two-wrongs.com/event-sourcing-and-microservices-unix...
A ToC might be more distracting with a style that benefits less from a clear structure, like a personal essay. It can be important in a more technical-procedural style of writing, though.
Regarding the Table of Contents feature, however, I believe this makes a big difference in larger blogs, but for medium sized or smaller blogs, it can be a distractor.
Ah. That resonates. Thank you for breaking it down like that. I've pondered adding ToC, but now realize it's only for a small subset of pages that it adds value, rather than distracts.
I think Notion has nailed it with the new design of their table of contents [1]. The problem with the current general approach is that if a blog post is very long and you are in the middle of it, you might forget what the content was. However, having a very small item on the right that you can quickly peek at is awesome.
[1] Example https://www.notion.so/notion/Table-of-contents-50de58f824bf4...
Doing a direct mapping from Markdown Headings to Table of contents+Anchors via Eleventy [1] is what I went with for my blog [2], simple setup, works perfectly.
[1] https://github.com/FrostKiwi/treasurechest/blob/4d96694a912e...
I like Cassidy James' idea of linking a blog post to a Mastodon post[1], and showing the corresponding social interactions as a comments section at the bottom of the post. All static site client-side!
1. https://cassidyjames.com/blog/fediverse-blog-comments-mastod...
Shameless plug, but I wrote a post on the pros/cons/implications of using Mastodon to power a comments section:
I do this too, and I like it a lot: https://www.jefftk.com/p/mastodon-replies-as-comments
> Using Mastodon to power our comments means that every time someone visits the blog post, the user’s browser makes a request to your Mastodon instance. ... I’d proxy these requests through my server, but it’s yaks all the way down.
I do proxy these, and it's not too much work [1]. A major reason to proxy is so you can cache: if a blog post gets HN'd it could easily get more traffic than your Mastodon instance would like to receive.
[1] https://github.com/jeffkaufman/webscripts/blob/master/commen...
I would simply throttle those requests. Update comments once an hour. Or once a day. Not everything needs to be realtime.
I think by "proxy the requests", they mean, these are usually on a static site and the browser is directly pulling in the Mastodon content client-side. They want to be good citizens and add a caching layer that they run.
I value links.
WordPress used to have a Links section in the sidebar by default. It was later criticised for the default links being to WP founders/devs. But it was there, and you could change it.
Links are the web for me. "If you like my site maybe you will like what I like".
Go look at https://diamondgeezer.blogspot.com/ - links!
Go look at other sites and if they are WP chances are no link list.
Am I blaming WP? Yes because I thought it was a terrible change. No because other site builders/SSG's appear to have followed.
Links make the web what it is.
We need more, not less.
Do you mean blogroll?
Maybe, but I hated that term,.
Back in the day (late 90's to early 2000's), sites would have something called a webring where sites would link to similar sites in a circular fashion. It was a good way to find similar sites and kinda a fun adventure.
Way back in the feudal age when knights still roamed the lands, castle walls would have affiliate banners draped over them.
I miss them. Now get off my lawn, I have wind mills to slay.
Nice list! I like many of these "microfeatures" too. Some I have on my site (https://evalapply.org), some I don't because I don't want to require Javascript for blog functionality. I think I have a few others not in that list.
This is my set of "microfeatures", which are all available in the post I linked below [1].
- All posts must have title, summary, dates (published, updated), one tag at least, and hot link to top of post (it's always #main)
- Open graph metadata for all pages (title + summary)
- All first-party content must be accessible as plain HTML
- Typography and separator elements to establish structure and distinguish functionally different areas of content
- In-page navigation (especially jump links to and from footnotes)
- Table of contents when needed, in a disclosure element
- Custom navigation to group a series of posts
- Markers for external links
- Captions for images and embeds
- Disclosure elements for extra context
- Footnotes (with links back to the referring text)
- Index pages with summaries (the main blog index, and each tag's index)
- RSS feed (global)
So far I'm reasonably happy with things as they are. At some point I'd like to participate in a webring.
[1] https://www.evalapply.org/posts/emerging-from-dotemacs-bankr...
(edit: typo, and a point I forgot)
Do you prefer footnotes over sidenotes? And do you think each post/article should have footnotes?
Sidenotes can't be on the side on a small screen. You have to put them in between paragraphs, at which point they stop being sidenotes and just become part of the text. Then, how do you handle them in your RSS feed? What happens if the reader clicks on the reader view button in their browser?
Footnotes always remain footnotes, regardless of all of that.
I liked that Daniel mentioned link previews. I've seen Vittorio from Linkz.ai posted how link previews would look on Daniel's website: https://x.com/linkz_ai/status/1805253204583575860
Bonus: Showing Page Progress
I just look at the scroll bar.
Only really works if one article takes up most of the space. If there's tons of ads/coments below, the scrollbar would show less progress than actually is the case, and vice versa with wasted space above the article.
But yes, the scrollbar ought to be enough.
That's a problem of ads/comments being even there.
I'm okay with comments being there, but I prefer the ones that hide them by default and have a link to load and expand the comment section.
Hot take, but the microfeature I love in blogs and websites is a date at the very top. I know patio11's points against it, but from a user perspective it just adds so much context that for me it's a no-brainer.
Here's a link (I think?) to patio11's thoughts, since I went looking for it out of curiosity because of your comment: https://training.kalzumeus.com/newsletters/archive/content-m...
I also really like dates on things as a user of them.
I hadn't heard of patio11's points against it. So I looked it up.
https://training.kalzumeus.com/newsletters/archive/content-m...
Is this the man responsible for the popularity of dateless blogs? (I tried to check the date on the post but... alas! ;)
Just kidding, we still have the Internet Archive (for now) so I am able to get the same information ("2014") in a much less convenient way... (I suppose my willingness to do so removes me from the category "most readers?" Though that will depend on the blog!)
The argument seems to be "people will disregard the information in an article if they think it's old." I can't speak for other people, but I actually find the opposite is true. The older a post, the more likely I am to find it interesting, and take it seriously.
Same idea as this, really: https://xkcd.com/2634/
>What does the red line through HTTPS mean?
Oh, just that the site hasn't been updated since 2015 or so.
And since it's been around that long, it's probably legit.
for those who want related thinking i defined my list of table stakes features for blogs here https://www.swyx.io/the-surprisingly-high-table-stakes-of-mo...
across reader experience, author experience, and developer experience (for self maintained blogging software)
This is a good list. Have you reviewed any blogging systems to see how many of these features they contain (in a comparison table for example)?
It is a compilation of many great ideas. Thanks for putting it together. For my needs table stakes are lower, but as inspiration as well as aspiration certainly.
Almost all of these are pretty nice. I disagree with the preview-on-hover though. That sends off a request to a possibly unknown (possibly unwanted) destination. I often hover a link to look at what the URL popup says in the bottom corner, before following it. It's just not a very privacy-conscious feature, even if convenient.
I've seen link preview solutions start to appear that I would assume are doing some basic moderation and logic to ensure consistency. I've recently seen on product hunt - Linkz.ai link previews SaaS .
With modern Content Security Policy restrictions and such most sites now have, previews almost entirely have to be implemented server side to make them work anyway, so no real privacy fears.
One micro feature I implement on my blog that I would like to see everywhere: a single-page index of all the posts, like at https://blog.zorinaq.com
Don't paginate this. I want to see at a glance the titles of all the posts the author wrote. I want to be able to ctrl-f to search these titles. Heck, even if you had 100k titles they could still easily be shown on one page, as it would compress to 1 or 2MB transmitted on the wire which is still more lightweight than the average web page size.
I added this on my blog (https://www.jeremykun.com/posts/) and I even find it useful as replacing 90% of the need for a search bar.
I haven't yet re-added a search feature since I migrated off Wordpress to hugo
So that.
I mean, just make sure that your blog is easily consumed by any web search engine.
And in addition to the full non-paginated index, I also have a full non-paginated tags page. Like categories, but with pages showing multiple times if they have multiple tags.
https://blog.pwkf.org/tags.html
My pet feature I'll try to add is sidenotes. It does annoys me to jump back and forth to read them. Even as a popup (wikipedia style), it is still intrusive...
It's not a feature, but I like websites without sticky headers or footers. I hate seeing it on mobile, but I don't like it even on desktop.
The worst is the sticky side button overlapping the main content. A few years ago, I sometimes saw "share on social media" buttons obscuring the article, and that was so annoying.
I think that is a good default. A small number of sites seem to execute sticky elements that help with long content, but only add it if you are going to test it.
I use the top of the page to track where I am reading.
When a header is hidden on scrolldown, and shown on scrollup, that breaks a core feature that I was actively using.
To make matters worse, scroll direction is incredibly finicky on mobile, so I can't even consistently decide whether your ridiculous header is shown or not.
It's comforting to see blogging as a topic on HN front page, along with plenty of constructive comments. I'll take some of the ideas on board.
I've been working on a blogging service myself (here's my blog on it https://lmno.lol/alvaro), focusing on minimalism, hopefully enabling the content to shine on any kind of device (you can read from your favorite terminal too).
You drag and drop your entire blog from a markdown file https://indieweb.social/@xenodium/112265481282475542 (feels more like keeping notes, which you happen to export as a blog).
Service hasn't officially launched. You can play with https://lmno.lol (ephemeral posts) without signing up. Reach out if you'd like to register a blog (invite at lmno.lol).
ps. ASCII art is not displaying properly on Android (known issue). So far, I can only fix by including a monospace font. I'd love to know if this is still possible to fix using system fonts.
The import/export reminds me of my own little blog generator project I've been working on over the years (super immature)
Essentially, your whole blog is just one file called "resume.json" that describes where all your post/pages come from, they could be external or local resources linked -> https://github.com/jsonblog/jsonblog-cli/blob/master/blog.js...
And then you have "generators" which are just functions, that can take your blog.json and output all the required html/assets to build it e.g. https://github.com/jsonblog/jsonblog-generator-boilerplate
The main idea being that you only ever have to keep safe your blog.json, which you could put as a gist or anything.
Love your setup so far, will follow along.
On the topic of showing page progress with table of contents, author's description matches exactly how it is implemented in Material for MkDocs [1]. I moved my blog from WordPress to it (for unrelated reasons) and I immediately liked how going through longer blog posts felt with highlighted entry in the table of contents moving together with the page.
[1] https://squidfunk.github.io/mkdocs-material/setup/setting-up...
Just to be contrary, I find things on the page updating as I scroll to be distracting. I consider that kind of thing to be like a modern <blink> tag. On sites I read frequently, I nuke those elements with uBlock Origin. I guess I'm sort of a HTML fundamentalist, though.
I have developed an entirely different approach to these blog/site features - such as sidenotes and TOC - that I refer to as an “Iceberg Article”.
It is explained here:
https://john.kozubik.com/pub/IcebergArticle/tip.html
“An Iceberg Article is a single page of writing which links to a larger collection of supporting documents, resources and services.”
What's a good example of an Iceberg Article?
I knew the horrid progress bar is gonna be in the article, yikes.
Ah the push and pull. In the beginning, scroll bars were a feature. Then proportional scroll bars were a major development. Then scroll bars were dynamic, auto-hiding, optional, or removed altogether. So designers put progress bars across the top of individual pages--some sites have them, most don't, all different ad-hoc implementations. It's a new feature all over again, going through the cycle of learning what works and what doesn't. People hate it. People love it. All this has happened before. All this will happen again.
My most important microfeature is center-aligned pages. Whenever I read something on a large screen and the content is left-aligned, leaving a large gap on the right, it really turns me off.
I try to make [mine](https://rednafi.com) center aligned on all clients.
Whenever I read something on a large screen and the content is left-aligned, leaving a large gap on the right, it really turns me off.
I’m curious, why do you find that an annoying? The alternative you’re advocating is ostensibly just shifting half that gap to the other side.
If I were to be fussy about the gap then I’d be more interested if they were a layout that could make use of that space rather than alignment. The example in that article about side notes is a great example of utilising otherwise redundant space on larger screens.
What if there were a standard <BlogEntry> object that everybody rendered to their taste? To some, these are nice features, to others it's just bloat that causes a 5mb download for 1kb of text.
that sounds like rss
Nowadays it's like every single blog and website will "popup" something everytime i select text. It annoys me to no end, because I select text as I read along and it's incredibly annoying.
Whether be it ChatGPT, medium articles, and recently even Google search!
UBlock Origin allows you to block JavaScript by default on all websites, and it's what I do. And Firefox has something called reader mode. Absolutely fantastic tools.
If you don't want to outright block all JavaScript you can just block 3rd party scripts, it usually lets you see if the website uses some fuckery or not.
Since this article mention's Gwern's site several times:
While I admire Gwern's work a lot, I often find his website is trying to do so much that my browser will really struggle. Especially on mobile. It's bad enough I usually avoid reading there, which is a shame.
I'm not sure exactly what causes it, but it might be a combination of page length with many layers of nested, richly formatted and embedded content.
Ditto. I like Gwern's content but not much the presentation. The same goes for Simon Willison's site.
I much prefer the brutalist look of Drew Devault, Fabien Sanglard, or Dan Luu's site.
Ironic considering the entire page appears to be aligned to one quarter of the page on the left.
Centered for me at my usual browser width, then jumps to the left when widened to make room for the single side note example. A note that, boo hiss, doesn't show up at all at narrower widths. Not that it was an important note, but we're talking principle here.
My mini-gripe is the typography: While I'm typically a dark mode guy, thin fonts are a lot harder to read in dark mode. But I've seen worse.
Lots of great features here!
On the link preview feature, both Wikipedia's and Gwern's implementations put the preview on top of the main content. I think this is much nicer to put to the side, where its less intrusive: https://www.jefftk.com/p/preview-on-hover
Nice! I also like link previews from Linkz.ai. Here is the demo (also see how it opens the YouTube hyperlink): https://advancemed.com.au/medical-internship-australia-2025-...
More nice features:
- flash/highlight the fragment when clicking a link to it. Also, adding some padding for making sure the header is not covering part of the fragment
- an alternative to sidenotes is to use an initially collapsed details/summary element.
- inlining css, js, and svgs so it can be saved as a single html file
This post has some examples of those features:
- inlining css, js, and svgs so it can be saved as a single html file
Or just use http2 and have a much better organized code without need to build/bundle them together.
Thanks for the post! Now I will try to implement all of them, on my free time.
I am so glad to be not the only one who is nerd-sniped by this list ;)
> One immediate thought is that this is completely superseded by the regular browser scroll bar that’s ever-present at the side of the page.
This is unfortunately too often not the case, as people see fit to hide the default scrollbar and have something of their own that doesn't always show or is barely obvious.
Though I agree with ToCs and showing progress that way, for pages long enough to make it useful rather than just extra visual noise, though this page itself doesn't actually do that with either of the techniques shown (an extra bar showing just progress through the actual content, or using the contents list as such a display), unless my content sanitisers have blocked some JS that would be doing such work (I see no evidence of such a problem).
> Easily Linkable Headings
Again, these are sometimes very useful, and when not are easy to ignore completely.
But again, the page doesn't make use of the feature it is extolling the virtues of!
> Grouping Series of Posts
Yes, though I might argue that such links, or a link to a ToC page for the group, belong in a more general list of related links.
> Dialogues
I can't say I agree there, but I think that sort of style point is very subjective so I'll agree to disagree :-)
> Code Blocks with Origin
Yep, can be very useful where relevant.
> Markers for External Links
Definitely, including local links that open in a new tab should also be visually indicated.
I'd stay away from an icon per target site/type though - that could quickly get confusing as you essentially have many icons for the same thing (an external link), and every site will use its own preferred set of icons, so the difference won't help generally identify things at a glance.
> Link Preview
For me, yes, though I'd be very careful where to use such things. It might confuse many non-technical users.
> Anything else
I'd like all articles to carry an obvious date of publishing and/or last update. That can be very useful in judging if the content is likely to be entirely relevant or should be verified where it may go stale.
> Grouping Series of Posts
Yes, though I might argue that such links, or a link to a ToC page for the group, belong in a more general list of related links.
Indeed, in the salad days of HTML there was some way to put related page-links in the <HEAD/>, and Sir Tim's browser displayed UI that enabled navigation via them.
Unfortunately that feature was already lost by the mid-1990s.
Code blocks with origin
Honestly, I am baffled that anyone ever writes code blocks for multi-file projects without specifying the file name and path. Especially in a tutorial. I would just... never do that? If you have an actual repo to refer back to, fine, but saying "Write this code" without saying where to write it is just not good instruction.
What most do (and I've done as well) is to explain that in the paragraph before.
Of course, having it directly in the code block is better.
This is a really great list (well, maybe not link previews, but everything else).
Sidenotes in particular are something I want to see basically everywhere, not just blogs. Modern screens have tons of horizontal space, text is most readable in pretty fairly narrow columns anyway, and scrolling to the bottom just to read a footnote (or, worse, having it pop up in some janky pop-over) is really unpleasant. Happy to see them catch on the blog world at least.
I do not get why people are sceptical about link previews. When done right (without iframes), e.g. in Obsidian or via Linkz.ai , they actually add value.
I appreciate when blogs include a "start here" section, like https://tomcritchlow.com/start-here/, or equivalent. Sometimes a bunch of content can overwhelm a new visitor, so entry points are appreciated. See also:
- random post button
- most popular posts
- author's favorite posts
oooh. It was after reading Gwern that I added footnotes and table-of-contents to all of my blog posts. And RSS.
All headings have anchor links. https://josh.works/jaywalking or https://josh.works/full-copy-of-1922-atlanta-zone-plan
Link previews have been widely discussed and sometimes criticized. Some notable implementations include Wikipedia, Google Docs, and Obsidian. IMHO, a link preview adds value when it provides enough information for me not to follow the link and open another tab.
I've created a Linkz.ai link preview script for blogs & websites - it adds fast (no iframes) summaries that appear on hover, and, optionally, on-click, it extracts linked articles, videos & embeds and shows them within the blog. When fewer people follow hyperlinks, it's a win-win situation; the website owner improves its retention and visitors are not overloaded with new tabs.
Links to Other Sites
I used openring-rs for my Astro [1] site, but eventually replaced it with a TypeScript-native solution [0]. You can see it on my blog, e.g. at the bottom of this link [2].
If you're looking for an easy way to pull RSS feeds from TypeScript and show the N most recent posts, take a look at my library.
PS: I'm currently unemployed, so if you have any feature requests I will quickly oblige :)
PPS: if you haven't heard of Astro [1], do yourself a favor and check it out. You write JSX syntax and get static HTML/CSS out, with the option for JS only as needed.
[0]: https://github.com/shepherdjerred/webring
[1]: https://astro.build/
I like most of these, but I'm on the fence about Link Preview. I find it gets in the way as often as it helps me. I end up triggering it by accident quite a bit, and especially the wikipedia version where there's no X in the corner to dismiss the preview can become annoying. The footnote pop-up bubble on substack can have the same problem.
On a slow and unreliable connection, it's also one more thing that I wish had a toggle to turn off.
Related to this, something I consider an anti-feature: any form of messing with a link to a different page that results in Control+Click not opening a new tab. Bonus negative points if you've scripted it to redirect the page in the current tab and there's no very good reason for it to be a single-page application (draw.io has a reason, the average blog does not).
I'll add another one: Ensuring the page doesn't look weird in reader mode.
I love adding random stuff to my personal website. It might not matter to anyone else, but I love doing it for the sake of doing it. i.e., programming not as a means for an end.
Recently, I added a dynamic chart that shows how frequently and how much I work on my website, similar to the GitHub contribution chart. Not the kind of features the author was mentioning, but fun regardless: https://navendu.me/about/#about-me
https://gwern.net/ is my standard for a great blog experience. Their design philosophy (https://gwern.net/about) is right up my alley.
Great list of things to think about for a good reading experience. Linkable headings is my favorite. I will often grab the IDs from source when needed. Hard pass on the external link decoration though. Please just don't break the back button and everything will be fine.
Most of these ux enhancements should be browser addons, in my view. We have gone way beyond what a website should be responsible for versus what’s up to the reader experience to implement.
someone’s site (I forget whose) has a built in inflation adjuster so that they write dollars(x, year) and get a future-proof value. Very cute!
Neat, although some of them are actually helpful for specific articles. One thing that I actually seen as a pattern is over engineering the blog so much that features need maintenance.
Some features I implemented because I like them:
- A sidebar table of contents that highlights the current section
- Glossary links that open in a popup. It saves the trouble of redefining certain things
- Bottom line up front, or starting with the tl;dr
- Dark theme that follows system settings
- Content superseded by a calculator. Here's how you calculate your taxes, and here's a calculator widget that does it for you
- Larger, more readable font on desktop
- Narrower page margins on mobile to get longer lines
- Index pages without pagination, so that you can view all pages at once
- The /uses page where creators list the tools they use and the setup they have
- Non-chronological index pages for digital gardens. I love content that gradually improves, and best-of sections for the best bits
Backlinks are cool
I really like "archive" and "tag" overviews. I don't want to scroll through every post in full as a way of finding an entry that interests me. Not really a blog but Hackaday on mobile is really bad at this. It's kind of hard to filter for interesting stuff without having something specific to search for.
Forcing opening in a new tab can go die in a fire. I don't understand how browsers even support that. It's so abused.
If I wanted it in a new tab, I'll bloody well open it in a new tab myself. The feature is right there. Don't overrule the user. That should be illegal.
Now instead i click, have to go back, close the old tab, and history is wiped. Thanks for nothing.
I don’t know if it’s a feature, but a summary/tldr/abstract at the top is imo better even than TOC. Not only are to-the-point abstracts amazing for the reader, but also for the writer. Oftentimes when you can’t summarize properly, it’s because the article isn’t focused and needs rework.
I'm going to circulate this among the technical writing communities I frequent. Some of these microfeatures seem like great features to add to docs sites.
One thing I added to my blog, which is less "micro" but still quite important I feel, is syndicating articles on social media. I don't think static site generators have good support for this, so I had to roll my own: https://www.jeremykun.com/shortform/2024-05-12-2028/
I would like a more elegant way to share what other bloggers I'm reading on my blog. The linked article doesn't provide much in the way of a solution here.
Instead of sticky notes I love asides in between the content.
I like the side notes feature, but the hiding feature ins't great. IMO They should go with responsive design to inline the side notes if the screen is small.
One site I like a lot is https://mriquestions.com/index.html
It has a really interesting navigation where there's an article, links to related articles, and references etc.
Part of what I really like about it is the format of having the main text and then an "Advanced Discussion" accordion at the bottom that can be folded out for more detail. It's not uniformly used across all pages but I do like the format a lot. It's sort of an alternative to sidenotes but less disjoint where it treats the first part of a page as the intro and then expands in detail directions. It lets the intro be a higher-level and then "corrected" below.
Example (just one I found, there are better ones but not all pages have them):
https://mriquestions.com/how-to-reduce-sar.html
Anyway just chiming in that it's a microfeature that I like vs say wikipedia which can just be... massively overwhelming on some pages.
I don't necessarily think this feature is fully realized at mriquestions, but the MRI field suffers from multiple audiences (radiologists, technologists, engineers, etc) and its really difficult to pull content together that foster communication between these groups. mriquestions is by a radiologist so its a bit lacking on the engineering details side but its still pretty good but higher-level technologists use it well to get beyond the lies we tell them. It doesn't really get too far into the lies we tell radiologists though but sometimes it gets close (by lies I mean oversimplifications) and usually the references are good for the technical details.
If you want to show progress while the reader is somewhere in the middle of a page, you could use a page progress bar.
There used to be a great feature available in every scrollable window which showed one’s position: the scrollbar. The bar itself was nice and wide, and there was an indicator right there which showed where one was in the document. They were useful, and they were consistent.
Then scrollbars got skinny, and then they disappeared. And so now each page which wants such a thing has to reinvent it. Also, it’s very difficult to actually scroll windows anymore.
Edit: yeah, he does mention that it’s nice to know position in the article versus in the comments. Point, and while separate windows/panes/frames/whatever would be one way to handle it, his suggestion is probably better.
A feature I love while reading web novels is...music. Nothing like reading that scene about the main character eating noodles inside her tiny Zurich apartment and reminiscing and have a theme named "Alone with my ghosts" start playing. Additional kudos if the author composed the music themselves.
Great compilation! Lots of great usability nuggets that could go beyond just blogs as well.
I especially love the progress-oriented table of contents/nav highlighting which section(s) you're currently viewing using the Intersection Observer API.
We’ve come full circle when an anchor is considered a service or an unimportant nice to have.
Feels like many of these features should just be built into the browser. Why can’t the browser assemble a table of contents based on header hierarchy? Isn’t that the point of the number in h1-h6? Why aren’t elements with ids easy to link to by default? Add a “copy-link-to” to the standard context menu in the browser. Etc.
I'm not a fan of sidenotes/footnotes. It's a writing style that's scatterbrained and quite irritating to me.
And on top of that, how is it going to work on mobile?
One who does a lot of writing should work on avoiding sidenotes and footnotes altogether. If there's something related to the article that is important or noteworthy, incorporate it into the main piece.
Perhaps this is something on my end, but if we're talking about small features I would love a darker font on this particular page.
I celebrate the 20th anniversary of my 365 days/year Typepad blog on August 20, 2024.
For a long, long time it's appeared to me that I'm the last person on Earth still using Typepad, which since it started being bought and sold a decade or so ago has had gradual serious decrements in speed and functionality.
It takes on average 10 seconds to upload a photo, and usually 2-3 attempts because of broken links.
Many times a past post which was intact now appears with broken image links.
And yet, I'm still able to post even though I probably know as little about code as anyone who visits HN.
My technical deficiencies are why my blog looks almost identical today to its appearance at inception.
At 76, I'm too old to do anything but continue in the same fashion.
A question: Is there anyone else here who uses Typepad?
For code blocks I created prism-remote. It’s a web component that highlights remote code snippets. Kinda like embedded gists but better, you can display snippets from any file in a repo:
<prism-remote src="https://github.com/Fingel/prism-remote/blob/main/prism-remot..." start="1" end="10" lang="javascript" > </prism-remote>
A well-formatted table of contents nearly always ensures I won't be reading blog spam.
I use them for my annual book review posts. No idea if anyone ever uses them, but damn are they pretty to look at.
If you have a blogroll, update it regularly. I get that blogs are passe (that's why I started one a while ago). It is annoying to go to one of the few active blogs and find that most of the blogroll links go to sites not updated in a decade or expired altogether.
I've been experimenting with encouraging rabbit holes within my notes by opening any note you click on under the current open note. That way you can investigate, collapse and close related things to what you are reading without having to leave the page or juggle tabs.
It's all based a static site and it relies on HTMX for this feature. I've also made sure the page works without JS. For now it is a bit rough and sometimes it may not be clear that it opened underneath but I want to explore this a bit more.
Asterisk magazine (https://asteriskmag.com/) is the only site I know of that does the thing that the author couldn't find an example of with a progress bar that includes section headings (on hover) and thus shows your progress through the table of contents. On mobile, where there is less space, it falls back to just being an ordinary progress indicator.
This is an example where I'm skeptical that AI will be able to "appreciate" craft. Situationally aware enough to identify and articulate what makes these features notable. There's so much context baked into identifying these features.
Google punishes websites that don’t have recent content, no matter how good it is.
Google knows whether your content is recent or not regardless if you have a timestamp on it, because they crawl periodically and according to recent leaks they do store this information.
It's hard to tell if they use it. Most of SEO is just cargo-culting because of how difficult it is to experiment with it. Somebody once said it helped them to remove the date, and now everyone does it. Maybe google is using it, or was using it at some point. Maybe they use the date in structured data [1] because it's easier to get and potentially more reliable (telling content changes and theme changes apart isn't trivial), and people just noticed that if they turn off the date feature in their CMS their articles rank better.
1: https://developers.google.com/search/docs/appearance/structu...
Unfortunately, it's not hard to make a few tweaks though and have it look "updated" to the crawler. I imagine Google could change that (especially now with LLM tech possibilities) so I guess we'll see what happens, but so far it hasn't hurt the career "optimizers" that I know.
This is so unfortunate. Like with the recipe sites, I don't understand how they can miss such obvious fails.
Which is stupid because newer != better. Often the reverse is true. But mostly it is not related.
Others have commented on it being SEO-related, but I think there might be a psychological component to it as well, where you don’t want people to bounce because they think it’s an old and irrelevant article.
Better than it actually being old and irrelevant but not being recognizable as such.
I've experienced this before. Titles with '(YEAR)' which are auto updated. And 'FIXED!'.
And it ends up being an ad for some service.
ah, the youtube strategy: strip out useful heuristics and make the user experience objectively worse, ad impressions go brrrrr
I have actually three dates on my blog [1], (1) the date I started writing a post (hardcoded in the url/name), (2) the date it was first published (defined in the markdown frontmatter) and (3) the date a post was last modifed (based on git commits). I think all three are relevant.
[1]: https://du.nkel.dev/
I like the second and third date but I think the first is perhaps a little confusing to me without this context. If I didn't know this is what it meant I'd of thought they'd be some bug in your blog or you forgot to update the url
Yes, I know what you mean and agree. This date is currently mostly for myself. Maybe I should format it differently, or place it somewhere else.
This! It is so strange when posts don't have a date. It feels like those posts are trying actively to hide something. It's almost suspicious.
I also have a couple of other things I look for in a good blog: https://j11g.com/2024/06/24/a-good-blog-has/
You mean my Python 2 tutorial isn't evergreen content marketing? :(
And even if you see dates, quite often they're relative. A year ago could mean a lot.
Oh, and while blogs are usually newest on top, relative dates break the ability to derive sort order by looking at multiple values, if they're all the same.
A similar thing that really perplexes me is that GitHub uses relative dates. You try to find the date a certain change was made, and you end up scrolling through page after page of "six years ago."
It feels like the sort of thing that is only really sticking around because it was a design trend many years ago when some of these apps were written.
It is related to SEO.
And so much of the SEO voodoo is then codified into templates which get reused over and over again.
The for-profit web surfs the eternal wave of "now". Anything that happened in the past is disregarded by search indexes, social media, and people using them.
My URLs have the date in them, and all posts have the original date near the title. I do updates (and update internal metadata), but removed the modification date because it was confusing to people…
It used to be that a book or magazine issue needed to have a copyright notice including the year of publication or it didn't get copyright protection. That was a good rule.
When they do that, I use the Wayback Machine to see when they first cached it.
It's on purpose. You're supposed to browse the new content, not old one.