7 ms·
This is 100% incidental complexity. It's painful to consider that this level of sophisticated engineering is needed to render a website quickly in 2020. What we
by gfodor 7y ago
This is 100% incidental complexity. It's painful to consider that this level of sophisticated engineering is needed to render a website quickly in 2020. What went wrong?
I'm personally excited about things like turbolinks and phoenix liveview, which may provide a path out of this mess.
- dimitrisnl 7y ago...but it's not a website. It doesn't list 10 cars, 1 family photo and the address on the footer.
- gfodor 7y agotake a screenshot of facebook - it's a website.
- Groxx 7y agoI can run Linux in my browser. Is Linux a website? https://bellard.org/jslinux/ https://bellard.org/jslinux/ You have to draw the line somewhere, or it becomes meaningless.
- gfodor 7y agosure, for me the line is clearly on the side of "scrolling through boxes of text and basic commenting" = website, since that was the case in 1995. my point was that if you took a screenshot of facebook today and when it launched, other than some cosmetic improvements, you couldn't tell me which version warranted extreme dynamic application logic and which was just a dumb server generated HTML page. the point being that it shouldn't be necessary to do all the stuff in this post to get this result, but it is, because our field has failed to build better generalized solutions to these problems.
- fastball 7y agoIf you think websites from 1995 were driving the same levels of engagement that FB is in 2020 you would be really, very, extraordinarily mistaken.
- Groxx 6y agojust gonna to chime in to say: yea, this is a defensible position IMO. where FB falls is debatable (they have a ton of features / different UI elements / etc), but I can see where you're coming from. tbh I think the vast majority of this engineering absurdity is to prevent teams from stepping on each other unknowingly, not for any direct end-user benefit. a lot of work goes into "make it so I don't have to work with X to get my work done" in all businesses, and... I dunno. it's not always a bad thing, but it does feel like quite a lot of waste.
- core-questions 7y agoFacebook rendered just fine a decade ago. What changed between now and then, in terms of actual improvement to end user experience, to make it so slow this kind of crap is needed? My guess is: - Desire to offload more processing to end user machines to save compute - More and more ads and user analytics in order to pick which ads to show - More engineers that irrationally hate the simplicity of PHP Duct tape on top of abstractions on top of duct tape in order to make a document platform behave like an application platform. Isn't it time to just replace web browsers with something that doesn't suck?
- reaperducer 7y agoDuct tape on top of abstractions on top of duct tape in order to make a document platform behave like an application platform. Isn't it time to just replace web browsers with something that doesn't suck? It's not the browsers that suck, it's what companies like Facebook do with browsers that sucks. And then all the other non-thinking middle managers in other companies who want to copy these terrible things because they're incapable of leadership.
- core-questions 7y ago> It's not the browsers that suck, They're great at rendering documents, yep. Applications delivery platform? Not so much, not until you tack a shitty language on top of it and then a bunch of crap on top of that language to make it remotely useful....
- laggyluke 7y ago> Duct tape on top of abstractions on top of duct tape in order to make a document platform behave like an application platform. Isn't it time to just replace web browsers with something that doesn't suck? Be careful what you wish for. You just described native mobile apps.
- core-questions 7y agoI do prefer native apps on mobile in many cases. At least the UI is idiomatic.
- janitor61 7y agoThe frontier of web design is apparently digital Rube Goldberg machines, existing probably more for job security rather than consideration for the end-user.
- gfodor 7y agoOn the contrary, it does seem like jumping through these kinds of hoops has become strictly necessary if you are building web apps you would like to be responsive.
- cosmotic 7y agoAre you sure? Media queries handle layout changes font size has been proportional to user agent since the beginning the web. A little SCSS preprocessing makes writing complicated CSS a lot easier.
- gfodor 7y agoI didn't mean responsive in the CSS sense, I meant responsive as in the "not slow to load" sense, which is the point of this article.
- lookdangerous 7y agoThe all-but defacto use of javascript transpilers especially invokes the image of 'Rube Goldberg' machines.
- nck4222 7y ago>This is 100% incidental complexity. The article talked a lot about their new dark mode feature, how they wouldn't have been able to implement it in their old tech stack, and how they were able to reduce their CSS size while adding a dark mode. But is dark mode all that important? Even as a developer I don't care at all about FB having a dark mode, did they really need to rewrite their entire site to implement features no one cares about? Also, for a photo and video sharing site, is CSS size really important? I just loaded the page and it loaded 13.2mb worth of data while making 249 requests. Thanks for cutting down your 400kb CSS file though I guess.
- splintercell 7y agoDark mode is very important. Do you use Flux by the way?
- gowld 7y agoSupporting dark mode == 2 bad UI instead of 1 good one. f.lux works well with normal UI, replicating natural light.
- robertoandred 7y agoJust because you don't care about a feature doesn't mean no one does.
- orpheansodality 7y ago"I don't care about this feature" !== "nobody cares about this feature." I feel like this is a fallacy a lot of programmers (myself included) tend to fall into, but it's a dangerous trap.
- toohotatopic 7y ago>What went wrong? From yesterday: https://news.ycombinator.com/item?id=23101483 https://news.ycombinator.com/item?id=23101483 Hello, World – Zerodha, India's largest stock broker Facebook most likely has a different attitude towards software development.
- gorgoiler 7y agoYou have a ten digit user base that you need to engage, so you have a four (five?) digit engineering team that somehow needs to coordinate their patches in a way that doesn’t cause the complexity of the site to explode. It’s huge and pretty impressive.
- gfodor 7y agoI never said it wasn't impressive. I was saying that it's sad that this level of incidental complexity is necessary to run, what is for all intents and purposes, a website.
- webdood90 7y agoI think you're unfairly trivializing it by labeling it a "website".
- gfodor 7y agoI think you're missing the point by assuming I'm making a statement about Facebook. I'm talking about the fact that this incidental complexity is necessary to do what Facebook does. I don't think my description of it as a website is relevant, it conveys the point that ultimately it's a tragedy that to render obviously simple content to users you are stuck building all this crap to make it work. Too many people in this thread seem to be projecting that I'm somehow saying this complexity speaks poorly of Facebook's product or engineering. On the contrary, my point was that it's tragic that brilliant minds at Facebook are forced to build all the stuff described in the post just to achieve simple goals like "the page loads quickly", instead of focusing on other problems.