3 ms·
Amazingly well implemented website. * Works well on mobile * Does fancy tricks with scrolling without breaking normal scrolling behavior or turning into a per
by xiaq 8y ago
Amazingly well implemented website.
* Works well on mobile
* Does fancy tricks with scrolling without breaking normal scrolling behavior or turning into a performance nightmare
* Good design and very readable (when many other websites seem to equate good design with low contrast, thin text)
- codedokode 8y agoIt doesn't even work without Javascript. And it uses a preloader. Preloaders are harmful: they block progressive page rendering by a browser; even though they might look fancy, I strongly advise against using them. And what's worse, it shows a preloader on every click. So I would rather consider it a poorly implemented website. Since when do we need Javascript to display a grid of images? This site can be easily implemented in plain HTML; why did they chose to use JS here?
- nebulous1 8y agoIt's an SPA written in react, so unsurprisingly it requires javascript. Preloaders being harmful is purely your opinion, and your example of why they're harmful doesn't seem convincing to me. I can see a case for a static version of the site being available, and I think with a bit more work they could have generated one from the react source. That said, and this is more of a generalization, I think hacker news has a bias towards JS-free sites. Accessibility is an issue, but you can have a fully accessible JS-based site. JS can make it difficult for a scraper to interact with a site, but a separate xml (or whatever) document would be better to allow scraping anyway. Basically, when developing a site at some point you decide how much effort you're going to put into supporting users who don't have javascript (usually out of choice), and for most people the answer is zero.
- codedokode 8y agoSPA is for apps, and websites are often better done with plain HTML. You don't need a megabyte of Javascript to display text with images. I guess that people might prefer SPA because they are not very good at server programming or maybe they think it can make their resume look better (though I don't think choosing a complicated solution instead of simple one makes a good impression of an engineer). Of course there are cases when you can't do without SPA: apps that work offline, interactive apps, online editors etc. But it doesn't make much sense to use SPA for a blog. > at some point you decide how much effort you're going to put into supporting users who don't have javascript (usually out of choice), and for most people the answer is zero. ...until SEO people say that the site is poorly indexed so you need to generate a HTML version of the site. And you understand that it would be easier just to make a plain HTML site from the start.
- jspash 8y agoI have this same conversation most days at work! By the way, I agree with codedokode except for one thing. I believe it should have been implemented in plain HTML but enhanced with JS. Works for everyone. Even the 5%. https://kryogenix.org/code/browser/everyonehasjs.html https://kryogenix.org/code/browser/everyonehasjs.html
- konradb 8y agoThe grid of images seemed considerably large; my guess is if the page was just a static grid of images it would increase their bandwidth costs considerably, and might give rise to issues where if you scroll down far, it would still be loading images from much higher up. Using this technique it looks like when you scroll somewhere, it can load the images that you have navigated to. Maybe modern browsers are smarter in this respect? I'm not sure.
- xiaq 8y agoIf the website were a static one it would make sense to make it separate pages (one era per page, for instance).
- codedokode 8y agoNo, sadly modern browsers are not smarter. If you make a page with thousand of images then they will load all of them. There are JS libraries to fix it, but they make images inaccessible for bots.
- xiaq 8y agoAs much as I would love to see websites working without JavaScript, that ship sailed years ago. What I call HTML fundamentalists - those who believe that content should be in HTML and JavaScript are for interactive features only - make up a very small niche nowadays, even among the more tech-savvy audience. Unless the intended audience is likely to contain HTML fundamentalists, it doesn't really make much sense for web designers today to consider how to make a website that works without JavaScript. I am not implying any contempt towards HTML fundamentalists. A website I made (https://elv.sh https://elv.sh) works without JavaScript, precisely because the ratio of HTML fundamentalists among shell users is likely non-negligible :) It evens works with w3m, for that matter. The "terminal screenshots" are actually just text and they show up in their full glory in w3m. I don't understand your complaint about the "preloader". It is a placeholder while the website is fetching images in the background, and, assuming that it is implemented correctly, it does not add any latency. Without the "preloaders" the images are not going to show up immediately, you will just see a blank page or partially blank page. The preloader gives you some idea that the website itself can be reached and I think it is a nice interactive feature.
- codedokode 8y agoI don't think so. There are cases when SPA provides better user experience (apps that work offline, complicated editors, endless feeds with images, like buttons and comments) but if you need to display text with images, using SPA (and writing two applications) is an overengineering, making a complex solution instead of simpler one. Server-generated HTML is not an outdated technology. > I don't understand your complaint about the "preloader". It makes page load seem slower. Browsers can display HTML progressively even if it is not completely loaded, but preloader makes the user wait until all the resources are fetched. This is effectively discarding all the improvements browsers implemented for faster page rendering. Also it is annoying to see a blank page when you navigate back and forward.
- bpicolo 8y ago> It makes page load seem slower Only because in this case, the website is actually quite slow under load. Triggering a full browser page load would seem even more slow.
- therealmarv 8y agoI think it works slow and not good on Android and Chrome here.
- xiaq 8y agoHeh, should have thought twice before posting that from a fairly high-end Android phone :)