

Ask HN: Why is HN based on tables? - blubbi2

From my point of view, it's paradox that a website like HN is so outdated (HTML-tables, inline-styling, non-responsive) while hundreds of people post interesting state-of-the-art stuff here... Is it because of the KISS-concept? Or does nobody dare to update the source code?
======
ScottWhigham
It's worthwhile to ask questions like this from time to time, and it's one of
the values "new blood" brings to any community (asking the same questions but
a year or so later since the last person). In this case, OP, you've "mixed
metaphors" so to speak - your title is about tables, but then you mix in
inline-styles and non-responsive which open the possibilities of the answers
quite a bit. I think your question can be broken into two parts: (1) the
design of HN, and (2) the tech parts.

1) Over the years, people have posted many suggested HN redesigns. Inevitably,
they've made much more whitespace - making it more like {reddit | digg | etc}
- and people always are polarizing in their comments ("Hate it - how can I
function with this many scrolls?!?!" or "Love it - HN looks like crap
currently!"). I suspect the "Love the current design" crowd is/has been in the
majority or perhaps pg himself is in that group - either way, I've yet to see
a redesign post that a large group of the community embraced. The end result:
the majority of people seem like the way it is now so nothing has changed.

2) For the tech aspect, I have to ask whether you see "HTML-tables, inline-
styling" as perhaps the reasons behind the "non-responsive"? Do you propose
that moving to a CSS-based grid system with external stylesheets would make
the system so much more responsive that we wouldn't have trouble? That's not
necessarily the correlation you've drawn in the OP but it is possible that you
think these are the reasons, I suppose (or contributing factors). pg/admins
have talked about the server before (and it's recently been
upgraded/replaced). They've also talked about the DDOS attacks they have been
under as well (I think they are on Cloudflare now to help mitigate this). In
the end, it's a single server managing a large community. Inevitably there
will be problems when you mix those two.

------
RodgerTheGreat
Perhaps the value of websites is unrelated to whatever cargo-culting nonsense
constitutes good web design at the moment. HN is functional. You don't
maintain it. Who cares if it uses tables?

~~~
xauronx
There's always at least one person who responds in this kind of aggressive
tone. I don't think the question is about good web design, but about good data
structure, doing things in a maintainable way.

It's like "Why don't you comment your code?" "Perhaps the value of my code is
unrelated to whatever [blah blah] nonsense constitutes good programming
practice? My code is functional. You don't maintain it. Who care's if there
are comments?"

~~~
Ziomislaw
How do you know it is unmaintainable? Have you seen the code?

~~~
xauronx
I wasn't specifically saying the code itself wasn't maintainable. However, I
wrote a scraper for HN and the structure isn't really there. Granted, no one
designs a website to be scraped. It's the kind of "well, let's use a table for
everything" that people use for their first web application because they don't
know how to use CSS.

I'm not one to complain about it, I like HN and yes it does the job, but to
get aggressive with someone when they point out a problem... Not really
productive.

------
bdfh42
I think the question misunderstands the nature of the task.

The HN page is a list with each list entry having a similar structure being
made up on a number of components (like an up vote facility). the HTML table
seems to fit the requirement perfectly.

As to "in line" styles and JavaScript - this approach would seem to me to be
very well suited to the task of generating the individual components that
collectively construct the list of entries. A small snippet of code can be
used to generate each component. Maintenance is a breeze - adjustments need
only be made in one place in the code base.

So all in all, what we see is a simple solution to a straightforward task.

------
DanBC
This has been discussed before, and there's useful comments in the old
threads, so it's worth searching to find them.

There are a bunch of HN redesign attempts. Some of them are reasonably nice.
They all seem to have the same problems - less information is presented.

There are a whole slew of plugins, extensions, user scripts, user styles,
alternative websites, etc etc, that add or change functionality for HN. (I'm
making a list for a tiny website which I might put up one day. It's tricky
curating everything.) So people can tweak HN to be pretty much how they like.

I'd really like bigger buttons, or more spacing on the up / down vote arrows,
to prevent fat-finger-voting errors.

Once you start tweaking HN it's hard to know when to stop. Remove the tables;
use semantic markup. But then should you add comment-tree-collapsing?

------
meerita
HN HTML code is just… creepy. FONT element everywhere, tables, etc. I think my
phone would love to save something and profit the responsiveness of the HTML5
and CSS work. And why not my 3G connection, or my laptop. Why should I waste
resources when this can be done well.

------
Maarius
Why not use something like Stylebot (<http://bit.ly/13qEfhm>), then you can
just apply your own style. This is what my HN looks like:
<http://imgur.com/LDMWgMd>

~~~
myfonj
I cannot express how much I adore Georgify Dark (Hacker News) userstyle [1].
And it is quite amusing to see how many other userstyles exist for this site
[2].

BTW, There was "Show HN: HackerNews reimagined without tables or center
elements." [3] with relevant discussion.

[1] <http://userstyles.org/styles/71155/georgify-dark-hacker-news> [2]
[http://userstyles.org/styles/browse/ycombinator?as=1&per...](http://userstyles.org/styles/browse/ycombinator?as=1&per_page=50)
[3] <https://news.ycombinator.com/item?id=4376184>

------
tokenadult
A good functional programmer should be able to update inline styling and
replace it with an external style sheet, although there is still the issue of
whether anyone who has authority to change the code base actually thinks that
is worth the trouble.

~~~
blubbi2
This leads us to the question why HN is written in Arc. The first version of
reddit has been written in Lisp, but later on they realized that Python is
much easier to maintain, because there are simply more Python-programmers than
Lisp-geeks. HN in some way tries to emulate the early days of reddit, but now
it's time to follow reddit's example and rewrite HN in a more common language.

~~~
zck
>HN in some way tries to emulate the early days of reddit, but now it's time
to follow reddit's example and rewrite HN in a more common language.

Why? HN isn't a startup needing to hire a bunch of people to hack on the
codebase; it's a site written by Lisp experts -- _in their spare time_ \--
with, I believe, one programmer paid to hack on it. It's open-sourced in
dumps, and they don't seem too interested in working with other people on it
(I sent in a small patch to add quotation support to HN, and didn't hear
back), as it seems to satisfy their needs.

What's the benefit of rewriting?

