[HN Gopher] Show HN: Minimal, no-JS web forum software ___________________________________________________________________ Show HN: Minimal, no-JS web forum software Hello HN! I've found my SQL knowledge to be lacking, so I made a project that uses SQLite as a backend. As it is intended for self- hosting I aim to make it easy to set up and maintain. Getting it up & running takes no more than a few commands (bar setting up a proxy such as nginx, which is out of scope). I've set up a "demo" site at https://forum.agreper.com/ if you want to try out the UI. Author : demindiro Score : 232 points Date : 2022-10-10 16:09 UTC (6 hours ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | sh4nks wrote: | Nice! I built one with Flask as well :-) | tiffanyh wrote: | I commend you for hand rolling it all and not using JS. | | I miss the days of good ole forum software (e.g. FluxBB/PunBB) | before it was superseded with massive JS bloat/clunky forum | software like Discourse, Flarum, etc. | onlyrealcuzzo wrote: | The point of no-js is mainly to avoid client-side tracking, | right? | | Can't you do a lot of that with CSS? | INTPenis wrote: | I loved PunBB. 18 years ago at my first IT job I actually stole | PunBBs design to make the control panel for our web hosting | company. Nobody knew because even then punbb was kinda | esoteric. | fuzzy2 wrote: | I actually believe vBulletin 3 is where it's at! | | With modern forums, it's mostly the UX that sucks. PWAs that | never recover from errors, endless scrolling, stuff like that. | Also | | * Falsehoods forum developers believe about network reliability | - did you know the network can be down? Then up again? | | * Falsehoods forum developers believe about time - did you know | that time can jump forward, by huge amounts, because the page | was suspended for whatever reason? | | Turns out, if you try to do the browser's job, that's a lot of | work! Just don't. | | Performance is usually good enough for me, even with all the JS | and whatnot. | snek_case wrote: | Why do people hate endless scrolling so much? | quickthrower2 wrote: | Terrible user experience. If it infinitely scrolls I can be | sure some gesture on the phone will lose my spot and it | will take ages to find where I was. Also they rarely play | nice with the back button. There is usually a better way to | present data. | | For reading, do you prefer books or ancient scrolls? | gcanyon wrote: | Apollo (reddit client on iOS) solves this by having the | same gesture undo itself -- tap at the top to scroll to | the top of the reddit post, tap again to return to where | you were. | | I'm not saying your complaint is invalid, just that there | are ways of mitigating the issue. And that said, I can't | imagine how reddit threads would work if paginated. | NoraCodes wrote: | > I can't imagine how reddit threads would work if | paginated. | | Presumably similarly to HackerNews threads, which are | paginated. | quickthrower2 wrote: | Yes. Pagination can be bad if the URL indexes by 1-10, | 11-20 etc. But I think HN paginates using the post ID, so | that the links are permanent (?) which is a better way to | do it. Basically the novel idea here is to treat the | browser like a REST client. | | This also means you need a predictable, deterministic | algorithm, like "ORDER BY DATE DESC", but Reddit does | have order by popularity, so that will not be idempotent. | But now being super picky as order by popularity is | pretty useful. Although I think date should be the | default. And order by [what cambridge analytica-likes | know about me] should be off. | quickthrower2 wrote: | Sounds reasonable. I am complaining about infinite scroll | on the web. But inside a native app it might be better | since there is more precise control of that experience. | Assuming the app creator has done a good job. | skilled wrote: | And you love it, _so much_? It 's probably the stupidest | thing ever invented as far as UX goes. | diab0lic wrote: | It is possible the gp post just feels neutral about it. | There are a whole range of emotions between love and | hate. | snek_case wrote: | I do feel neutral/indifferent about it. I was just | wondering why I see so much negative sentiment towards | it. | protomikron wrote: | It often breaks the builtin Browser-Search. | kitsunesoba wrote: | Which is often followed by attempts to replace browser | native Find in Page with a custom implementation that | doesn't work as well. | paulryanrogers wrote: | Impossible to jump pages, know how much there is, often | breaks native scrolling in awkward ways without recourse. | luispauloml wrote: | Someone posted this on HN last month and I think it | summarizes very well what people dislike the most about | infinite scrolling: | https://news.ycombinator.com/item?id=32789617 | chillfox wrote: | It makes it impossible to get to the footer. | whartung wrote: | Because it's like swimming across a large lake finding | yourself exhausted in the middle with little alternative to | swimming back. | | Now on my phone it's relatively easy to jump to the top of | the page. It's also almost done impossible to jump to the | bottom. | | On a desktop I can at least mash the END key or play silly | reindeer games with the scrollbar thumb. | | On mobile it's very hard to Leap or Surge or Jump. | | If I'm madly fanning the page with my thumb or, worse, my | fingers because I'm tired with my thumb, I pretty much just | give up at that point. | | I also like having non-endless scrolling because I can use | the scroll bar as a gauge of how much is left of the | article. | | Being constantly fed is just a bad experience. | ratww wrote: | Well, first, it's not reliable. If the network goes down | and it doesn't have some form of recovery, you gotta start | from scratch. Second, it's not bookmarkable (except for the | odd case), so you can't send specific pages to anyone, you | often can't start navigating in it one day and continue on | other, or in another device. Third, you lose navigation and | exploration features, like navigating to the first page and | seeing the oldest stuff, or going into the middle. | | But the biggest reason people hate as a matter principle is | because it is in 99% of cases done without any UX research | and without any care from developers, and that's in the | best case. The worst case is to cause doomscrolling, which | is nefarious in its own. | | It is disrespectful to users. If you don't want people | seeing old content just fucking delete it. | tiffanyh wrote: | > I actually believe vBulletin 3 is where it's at! | | Curious, what about vBulletin v4 and v5 do you not like? | Ralfp wrote: | Developers of vB 3 left the company and started new forum | software named XenForo. They were then sued by Internet | Brands (vB owners) for IP theft - IB claimed XenForo was | next vBulletin. In court hearings we've learned that IB | plan for vBulletin development was to fire all but lead | dev, and have this lead dev only delegate and review work | to outsourced devs in Asia. We've also heard that ,,only | developers care about quality of code" and trying to keep | code good is ,,waste of time". | | And then vB 4 landed and turned out to be insanely poor | launch - forum index was plugin based, but it was very easy | to end with index page that did 700 mysql queries, which | took forever to execute without relying on full page cache | like varnish. | | Today its supposedly much better, but Internet Brands uses | internal version of vBulletin 3 (3.8) to run their sites | instead of v4 or v5. | fuzzy2 wrote: | It's just the feeling! :-) | | vBulletin 4 was also okay in the end, but I always thought | vBulletin 5 was trying to be too many things at once. It's | just too modern! I understand, of course, that the online | community landscape has changed since back then and | vBulletin has to adapt to remain competitive. | LinuxBender wrote: | For what it's worth, phpBB still _sortof_ supports having | javascript disabled [1] but it is nowhere near as lightweight | as the example here created by demindiro. | | I also commend demindiro on not requiring JS. It is refreshing | to see simple yet useful applications. | | [1] - https://www.phpbb.com/community/viewtopic.php?t=2106245 | FunnyLookinHat wrote: | I also miss the days of good ole server-side rendered | applications. I'm not sure the author's history or work | experience, but, if I built something like this, I'd likely | find it extremely cathartic compared to most tech stacks | nowadays. :-) | gosukiwi wrote: | PHPBB | skilled wrote: | For that era, FluxBB/PunBB weren't even that great. I think | phpBB/vBulletin took the cake (as was evident by the number of | forums run by the said software), and of course, IPB was also | nice but came with a steep price by comparison. | make_me_rich wrote: | Ohh I miss the good old days of forums in general. I find all | this new software, where conversions* are "threaded" stupidly | hard to read. Even worse, when the software is trying to | recommend to you, what to read. Back in the day you had a | thread, every post to that thread was chronologically added to | that thread and in case you wanted to reply to someone, you | quoted them... _sigh_ | | EDITED: *conversations | Semaphor wrote: | I actually love threaded discussions... On HN and Old Reddit. | But anything is better than whatever XDA uses, and almost | everything is better than discourse. | ratww wrote: | > Old Reddit | | Important distinction. | | New Reddit also fell prey to bad development practices and | is without exaggeration unusable for me. It often "crashes" | and the whole page goes dark-grey on my browser, and this | has been happening for at least a year. After reloading I | can't see all messages without navigating away, and middle | click messes with the scrolling. At this point I will | assume they either don't care or are fucking with me. | ngrilly wrote: | I also prefer reading threaded discussions, but are you | aware of a good way of keeping track of new messages? | That's my main issue with threaded discussions, for example | here on HN. | halikular wrote: | Notifications and sorting for new like reddit has. | asddubs wrote: | that only really works for responses to your comments and | top level comment chains though. | busymom0 wrote: | I am the developer of HACK, an iOS, android, MacOS client | app which provides push notifications for HN when someone | replies to your comment or post. | com2kid wrote: | I miss the good old days of BBSes, the late 90s were a | serious step back in forum usability. | | Until JS came along, reading online forums on a broadband | internet connection was a worse user experience than using | BBS forum software on a dial up modem. | | Every single action, full page reload. And until cloud | computing came along, even the best of website forums had | servers that took forever to respond. | | Somehow a BBS written for a 386 16mhz in 1992 was faster than | a forum written in 1999 or even 2005. Oh wait, the 1992 forum | was likely written in C, or even assembly! (And it only had 1 | user at a time, that helped!) | dmitriid wrote: | Threaded conversations are really good because you can have | branching discussions that don't interfere with each other. | | But the only forum I know of that realised how to properly do | it is this old Russian software forum [1] You need a mail | client-like interface so that you can see your place in the | discussion. | | Triple quoting someone and trying to read the actual thread | in a flat forum sucked then and sucks now. | | [1] Example link http://rsdn.org/?forum/philosophy/8357952 | mostlysimilar wrote: | vBulletin 3.x/4.x and IPB 2.x/3.x had threaded view as an | option alongside flat. | | Forum software of old actually gave users the power to | choose the interface they want. We've really gone backwards | with software interfaces. | | Also, themes. These days all we get are "Dark Mode" and | "Light Mode". Boring. | IshKebab wrote: | Check out the D language forums. Easily the best forum | software I've seen. | jonnycomputer wrote: | I find HN's approach very easy to read and follow. But then, | each submission does not keep getting commented on | indefinitely. Could get unwieldy then. | asddubs wrote: | it works if you want to read a thread exactly once and then | never come back to it. if it's an ongoing discussion that | you want to visit even just two times, you'll just end up | reading all the same comments again and struggle to find | anything new | cygx wrote: | _Ohh I miss the good old days of forums in general. I find | all this new software, where conversions are "threaded" | stupidly hard to read._ | | A 'classical' web _forum_ is threaded, contrasting with an | unthreaded (bulletin) _board_ - at least that 's how the | terminology was used in the German webdev scene of the late | 90s/early 2000s, possibly due to the prominence of SELFHTML | and its forum. | dspillett wrote: | _> find all this new software, where conversions are | "threaded" stupidly hard to read._ | | This is not new, it just isn't applied to web based forums as | much as I (someone who likes threaded discussions like that) | would like. For small discussions it make little difference, | for large branching threads it can help greatly when you | don't care to follow all the sub-threads. It was not uncommon | in Usenet clients back in the day. Of course it needs to be | coupled with good UI for collapsing branches and otherwise | navigating the tree, and perhaps a chronological view option | for issue who prefer that (or a tree-view with posts spaced | by arrival order for the best of both of you do it right - I | had a reader that did that but can't currently remember it's | name). | IshKebab wrote: | I too miss the good old days where the information you wanted | was buried somewhere in a 100 page phpBB thread and you had | to manually search through it 1 page at a time, with each | one-line comment taking up half the page with avatars and | signatures. | | Good times. Sad that things have moved on to systems that | don't suck quite so much but that's progress for you. | moffkalast wrote: | I do still wonder why the fast and responsive software can't | invest a little bit into design in order to not look like | complete shit. | | Sure something like phpBB is light, but the UX is also barely | usable. Give me something like Reddit or Discourse over that | any day. Why can't we have the best of both worlds? | | Hackernews on the other hand manages to lack both (in some | speculations intentionally), with neither usable design nor | speed. | bulatb wrote: | FOSS tends to treat aesthetics like developers complain | executives treat software quality: This doesn't help me. Why | does it matter? Why should I care? I see no difference. | | Improving either is an uphill battle when decision makers | don't value the work, at best, or at worst are committed to | resistance. And you don't even get paid. | alxlaz wrote: | There is a considerable cultural overlap between "people who | think no-JS, fast and responsive software is cool" and | "people who think the design of Reddit or Discourse is really | awful". (Man, especially Reddit, I swear the day they retire | old.reddit.com will be the day I stop using it). They | probably _are_ investing a little bit into design, just not | the one you like. | lsbehe wrote: | Very nice work. | rexreed wrote: | It feels very retro - back to the earlier days of the web circa | what Craigslist still looks like. Are you doing this just for | development experience / fun or to make it something bigger? I | still find no-JS back-end forums such as PHPBB and similar to | still be useful. People are still running vBulletin. These | systems are all very robust and handle moderation and many other | forum-related must haves. Are you looking to build those as well? | | It definitely feels like we're going full circle with the Web and | back to its earlier, decentralized, stripped-down past. | aimor wrote: | Thanks for sharing this. I've been writing my own simple websites | for a couple years now and I really like seeing what other people | have done. Sometimes I learn better ways to do things, and | sometimes I realize what I did was perfectly acceptable. | 93po wrote: | Very fast. Really like it. | l-portet wrote: | Cool project, is there a theme feature? | Xeoncross wrote: | That reminded me of the 1KB forum: | https://nerdparadise.com/programming/phpforum | | I actually shortened it, expanded it to add bot detection and | published the update also under 1KB: | https://gist.github.com/Xeoncross/1503594 | | Such abuse PHP could handle back then. | leviathan wrote: | Holy sql injection Batman | [deleted] | m00dy wrote: | is it missing captcha ? | benbristow wrote: | Has a CAPTCHA but it can be solved pretty easily (paste into | Dev Tools console)... const input = | document.querySelector('body > main > form > table > tbody > | tr:nth-child(3) > td:nth-child(2) > input'); const | challenge = document.querySelector('body > main > form > table | > tbody > tr:nth-child(3) > td:nth- | child(1)').innerText.split('=')[0]; input.value = | eval(challenge); | bmacho wrote: | Teddit works like a charm with disabled javascript, it supports | css based thread collapsing, and cookie based information for | logged out users as well (you can store which subreddits you | follow). | ratww wrote: | _> it supports css based thread collapsing_ | | I didn't knew but I love it... I wish more developers took | interest in such things. | bmacho wrote: | .. actually it uses the summary/details html tags, but the | same thing is totally doable with css checkboxes and | visibility too. | derekzhouzhen wrote: | What innovation do you have to make a moderator's job easier? | | I ask because I believe this is the hardest part of a forum | software; The one thing that make or break a community is whether | there is timely and fair moderation so contents are fresh and | relevant. | forgotpwd16 wrote: | Love the HN-like design. How do you handle big threads and many | nested replies? | robertlagrant wrote: | I thought for a minute this was going to link to | news.ycombinator.com! | cxr wrote: | HN is not "no-JS web forum software". | Kiro wrote: | HN uses JS. | MarcellusDrum wrote: | Optionally. The site works just fine with JS disabled. | ms123 wrote: | Love it! I built one using go (https://git.sr.ht/~m15o/vpub) and | it powers https://forum.status.cafe/ | | Thanks for sharing it :) | lsbehe wrote: | It's not caching the stylesheet. If you plan on updating it a | lot you should still enable caching and e.g. increment a url | parameter every time you change it (like style.css?v=3). | lcfcjs wrote: | barefeg wrote: | Out of curiously, does HN use JS heavily? It feels quite | lightweight, and it's sort of a forum | lifthrasiir wrote: | Very sparingly: https://news.ycombinator.com/hn.js | | I'm pretty okay with that, my only complaint is that when you | vote a comment or story it creates an invisible image with a | voting URL, which may be loaded much later so the click may not | register from time to time. | donio wrote: | And all of it is optional. You can do all operations | (readinig, posting, commenting, voting, flagging) with JS | disabled, you just get page loads rather than dynamic | updates. | zhte415 wrote: | Looks great. If you wanted to extend it with JS, HTMX or | lightweight functions easily added to Flask, which is imho the | _right way_ for CRUD. | | And specifically, looks great - clearly outlined, threaded, | indented, flow of conversation. | ad404b8a372f2b9 wrote: | I love it. And it's telling of modern practices that it's one of | the fastest forum I've used in the past few years, you click and | the page instantly appears! | | Do you intend to extend it and keep working on it or was it just | a one off project? | lolinder wrote: | > And it's telling of modern practices that it's one of the | fastest forum I've used in the past few years, you click and | the page instantly appears! | | "Modern practices make for slow apps" is a common trope on HN, | but it's important to note that it's not just modern | _practices_ that make modern web apps feel slow; modern | _feature sets_ are the larger culprit. | | This app could be a React SPA and it would still be faster than | most forums you've used because it intentionally has a minimal | feature set. | ad404b8a372f2b9 wrote: | I don't buy that for a second to be honest. | | Modern forums haven't innovated all that much, you have | infinite scrolls, notifications and live updates, that's all | that I can think of, off the top of my head. If you go on the | main page of a modern forum and a Phpbb one they'll be | functionally equivalent for the end user. | | And even if they had innovated, you can put as big a feature | set as you want on the backend and not send 20Mb of | JavaScript along with a single request per post and your page | will load instantly. | | And that's not even going into all the websites which are | entirely featureless, I regularly see SAAS landing pages that | take over a minute to fully load, that's just to display text | and images. | | Maybe the stack is capable of being fast and light | theoretically but it never is in practice. | lolinder wrote: | > Modern forums haven't innovated all that much... | | I'm not comparing modern forums to older forums, I'm | comparing both types of forum to OP's minimal forum. | | > And even if they had innovated, you can put as big a | feature set as you want on the backend and not send 20Mb of | JavaScript along with a single request per post and your | page will load instantly. | | You have to distinguish between initial page loads and | subsequent interactions. Forums are not typically one-page- | and-done websites: you spend a lot of time navigating | around the different views. | | For this use case, phpBB forums were and are _very_ slow. | | I tested out the phpBB demo [0] and compared it with the | Discourse demo [1]. The Discourse demo has a slow initial | load, but it's quite snappy after you've downloaded the | 6.23mb (not 20mb!) of JS and CSS. The phpBB demo seems | faster on the initial page load, but it gets pretty painful | to navigate as you click around into different sub-forums. | | The reason why the OP's no-JS forum can outperform both | phpBB and Discourse is primarily that it doesn't do very | much work on each user action, not that its stack is | inherently superior. The biggest bottleneck in a forum will | be the speed of each request-response cycle, not whether | the requests return JSON or HTML. | | [0] http://www.try-phpbb.com/33x/index.php | | [1] https://try.discourse.org/ | GoblinSlayer wrote: | Feature set is absolutely design practice. | nathias wrote: | very cool forum | jamesmccann wrote: | This is a cool project! One small suggestion: the native blue | links for the author name, "thread", and "reply" make the content | hard to focus on as the UI is quite intrusive. HN solves this | quite well with a colour scheme that has the comment content as | the most prominent element in a thread. | sirsinsalot wrote: | It's absolutely beautiful. Within a fraction of a second, I knew | what it was and how to use it and how much value it has. | throwaway81523 wrote: | It's always nice to hear about someone writing a cool program | just because they felt like doing so. Every time I think about | writing a forum server, I find I return to the thought that | Usenet was better, and that if I wanted a web forum, I'd consider | putting a web front end on an NNTP server. That would among other | things let people keep using NNTP clients (I like gnus.el) if | they don't want to use a browser. There are a bunch of NNTP web | clients already, but afaict they all needlessly suck. | | You might take a look at Fossil (fossil-scm.org) which is not a | forum, but is an all-in-one source control system, bug tracker, | wiki, and web backend, all implemented as an SQLite client | written in C. Its blurb says a scripting language might sound | more attractive than C superficially, but in Fossil, SQLite does | all the heavy lifting that would otherwise have been done with | scripts. On my bottomless todo list I want to study its | implementation sometime, since I think it would be a good example | of "advanced" uses of SQL and SQLite. That is completely | independent of Fossil's purpose as a VCS application. I'm ok at | basic SQL but not so clueful about sophisticated uses. | | One thing to watch out for is that since SQLite is an embedded | DB, when you make an SQlite query, the overhead is basically a | local subroutine call rather than the network traffic that a | client/server DB would incur. That in a way changes the | asymptotics of an application: particularly, the "N+1 queries" | antipattern of some client/server DB apps is a perfectly ok | design strategy for SQLite. I believe Fossil may rely on this in | some way. | chatterhead wrote: | Wonderful job! | Aperocky wrote: | May I recommend an ORM for any such project? hand rolling SQL | statement aren't going to scale. | | Here's my shameless plug: `pip install sqlitedao`: | https://github.com/Aperocky/sqlitedao | tonetheman wrote: | My experience is the exact opposite. | | ORM's never scale and you end up with hand written SQL long | term. Unless it is really just a CRUD app then ORM's really | work fairly well. | Aperocky wrote: | On a personal and professional level it has been the opposite | case for me. | bityard wrote: | I get the impression that OP's project is not aiming for scale. | softfalcon wrote: | Not trying to bash your ORM as it could have a great | translation layer to make optimal queries. | | my experience optimizing SQL has been removing the ORM layer | via hand rolling SQL queries. | | Most of my peers also seem to agree that ORM is great for | knocking a feature out, but you'll inevitably run into | performance concerns at scale and need to write your own | optimized queries yourself. | | I feel like with SQLite having limited resources, you'd likely | want to optimize your queries as best you can without an ORM? | Is that not the case? | Aperocky wrote: | A well thought out ORM would consider for performance, | obviously if you're just retrieving a particular string then | manual SQL might have a few times speed lead. | | The fundamental issue with both handrolled SQL and ORM is | inefficient queries leading to linearly increasing time | consumption. for instance usage of `LIMIT` and accidentally | querying on non-indexed fields. But I don't see how this | differentiate the 2 as I have seen it happen in both | situations professionally. | | A good ORM enforces certain behaviors, specifically querying | by index and constant time pagination. This guards against | accidental querying behaviors. | egberts1 wrote: | i worry about spammers coming across my soon-to-be-hosted forum. | What mechanism can one do to prevent fraudulent signups? | genericacct wrote: | IMHO one of the best features a modern web forum sw can provide | is browser notifications | foofoo4u wrote: | This is great. I want to see more of the web to be like this. | Simple, direct, light, and functional. I've came to learn on this | thread alone that other projects such as teddit and nitter exist, | which capture this same spirit. I'd like to know if other | projects for popular sites exist as well. Someone should make an | aggregation of sites and open source libraries like | https://github.com/Demindiro/agreper that exist. | ftth_finland wrote: | I dislike forums which indent successive replies. | | I hate forums which indent replies _and_ don't support collapsing | sub-threads. | | The proper way of handling replies is to post them under each | other and support quoting. | [deleted] | demindiro wrote: | > I hate forums which indent replies and don't support | collapsing sub-threads. | | [-] should collapse subthreads. Caveat is that the browser | doesn't remember which subthreads were collapsed due to no-JS. | have_faith wrote: | Not if each "collapse" link reloads the page and at the same | time stores the preference in the backend against your | username so that subsequent page loads know what to hide (: | XCSme wrote: | Can't you redirect/store the information in the URL and | then somehow read the URL data in CSS? | veidr wrote: | LOL you are so right... so much was lost when we started | accepting that page reloads are expensive (T_T) | have_faith wrote: | It was a tongue-in-cheek suggestion but page reloads are | pretty fast these days with http/2. Maybe there's ways of | submitting a form in the background for the same effect, | no reload needed! now we're surfing. | com2kid wrote: | For 20 years page reloads were expensive. | | In 1999 I had a cable modem connection that could pull | down 2 megabytes per second and ping up and down the west | cost well under 50ms. | | But forum servers were _slow_. Like, really really slow. | When Sites like Reddit finally came to, 15 or so years | later, with inline replies, they were a breath of fresh | air. | | Back in 99 Slashdot had massive resources put into making | it responsive, lots of servers thrown at it, and it was | still laggy and slow compared to Reddit now days. | | Everyone arguing about "time to first draw being under | 100ms" forgets that just a short time ago, web servers | took more than 100ms to _respond to a connection_. | veidr wrote: | Yeah you're not wrong. But I wouldn't consider that | 100ms, or even 500ms, "expensive". | | In 1999 I would have been jealous of your internet | connection -- I still had a 256kbps ISDN line, and there | were fast forums even then (but mostly not). I think it | mainly depended on whether the sites rendered HTML on the | fly (with like maybe Perl? to render database content) | or... just served static HTML. | | Page reloads only got expensive when we decided that they | would do a bunch of other shit besides that. | com2kid wrote: | > Yeah you're not wrong. But I wouldn't consider that | 100ms, or even 500ms, "expensive". | | 100ms is noticeable, 500ms is bad. | | The old dial up BBSs may have been slow enough that you | could watch character appear, but they were responsive! | Those characters started printing right after your | keypress happened. Of course it helped that it was likely | a local phone call. | | I imagine HN ever had a 500ms response rate, the | engineers behind it would consider it a failure! | | (Even reddit is under 500ms for many operations, and it | is super heavyweight) | | > I think it mainly depended on whether the sites | rendered HTML on the fly (with like maybe Perl? to render | database content) or... just served static HTML. | | Yeah Perl didn't help the 90s web at all. It made stuff | possible, but wow, the performance was bad. | | Then again web server software design back then was also | a long ways away from what we know to do now. | Nextgrid wrote: | > just a short time ago, web servers took more than 100ms | to respond to a connection | | And yet, once you wait that 100ms or however long it | takes for the server to respond, your page is fully | loaded and interactive. During the loading process, your | browser remains responsive and your CPU is not loaded. | | Nowadays, we still wait the same amount of time for the | initial load, but now your CPU is at 100% parsing | megabytes of shitty Javascript, and once the initial load | completes, you're still not guaranteed the page won't | slow down/overload your CPU again because some stuff can | be asynchronously loaded (supposedly for performance | reasons, even though doing it on the backend as part of | the initial load would be faster in the vast majority of | cases). | com2kid wrote: | > Nowadays, we still wait the same amount of time for the | initial load, but now your CPU is at 100% parsing | megabytes of shitty Javascript, and once the initial load | completes, you're still not guaranteed the page won't | slow down/overload your CPU again because some stuff can | be asynchronously loaded (supposedly for performance | reasons, even though doing it on the backend as part of | the initial load would be faster in the vast majority of | cases). | | The new reddit site is _fast_. Yes initial load time is | like 2 seconds, but after that, everything else is | instant. Click comments, escape out, go back to feed, | load comments of a different story, it is _quick_. | | Yes crappy JS abounds everywhere, NYT is an offender | recently (they used to be good!), lots of sites suck in | this regard, but when modern web dev is done well, it | works _really_ well. | | Though having read the Reddit engineering blog posts, | they throw a ton of resources at ensuring Reddit is fast. | | Meanwhile, Ars Technica loads things almost instantly, | but for the last year or two (!!) their article pages | have leaked memory and CPU, eventually taking up all my | CPU and gigs of memory. | | Not sure how even. Great load times, responsive site, | keep that background tab open and watch the CPU start to | melt down. | ftth_finland wrote: | I stand corrected. | | I did not recognize the [-] as it looks like some weird emoji | on my mobile browser due to the too small and uncentered | background. | MetaWhirledPeas wrote: | That's just, like, your opinion man. I prefer HN's indented | approach to a typical forum listing where it's just a firehose | with quotes. But the best approach is to allow the view to be | switched as desired. | eterm wrote: | HN's model is bad for high volume. Sometimes on HN you only | get _one_ top level reply on the whole page because once it | puts the top top-level reply it then puts _all_ the replies | to that above the next top-level reply. | | So you get a vast amount of low quality replies above the | next high-quality reply. | | For low volume it works okay because you can manually | collapse but for high volume once it starts paging it breaks | down and you just get further into the top level comment | without properly being able to escape. | | Reddit's model of auto-collapsing so you get a mix of threads | and top-level replies is much better for picking out the | better responses. | httpete wrote: | I made a reddit-like comment system for HN if you are | curious: https://www.hackernewz.com/item/33153152 (link to | your comment: https://www.hackernewz.com/item/33153152?comm | entId=33155112) | rakoo wrote: | The style is very neat. Mind sharing the source ? ___________________________________________________________________ (page generated 2022-10-10 23:00 UTC)