"Unknown or Expired Link" - A failure in gauging user intent
And yet HackerNews, home of fiercely competing start-ups and friendly web apps, frequently throws a hissy fit with its 'unknown or expired link' issue, which ironically happens more frequently as you spend more time actually reading the site's content rather than mindlessly clicking through.
But not only does the site often fail to satisfy that request, it provides no method of recovery. The user can't refresh or go back a page and try again, as the IDs in URLs are meaningless and expire constantly. Context has been destroyed, and the only way to achieve your desired outcome is to start from the front page again and click through faster.
Why not annotate each 'more' link with the numeric page offset? Or with the ID of the last article on the page? Then if the cached listing is no longer available, you at least have a hope of recovering and presenting something useful instead.
The only logical explanation I can think of is that it's some sort of masochistic way of keeping people from wasting too much time on HackerNews.
[+] [-] sycr|14 years ago|reply
http://news.ycombinator.com/item?id=3098756
And pg's explanation:
It's not so much that it's ahead of its time relative to hardware as it is something you do in the early versions of a program.
Using closures to store state on the server is a rapid prototyping technique, like using lists as data structures. It's elegant but inefficient. In the initial version of HN I used closures for practically all links. As traffic has increased over the years, I've gradually replaced them with hard-coded urls.
Lately traffic has grown rapidly (it usually does in the fall) and I've been working on other things (mostly banning crawlers that don't respect robots.txt), so the rate of expired links has become more conspicuous. I'll add a few more hard-coded urls and that will get it down again.
[+] [-] gregjor|14 years ago|reply
[+] [-] adir1|14 years ago|reply
[+] [-] brudgers|14 years ago|reply
My understanding is that the logical explanation is that it works well enough for the intended purpose - i.e. it's functional.
[+] [-] jmitcheson|14 years ago|reply
[+] [-] unconed|14 years ago|reply
You're not addressing the problem, only delaying it by one page.
Most links posted here get torn to shreds over far more trivial things.