4 ms·
I understand why it's hard to make a popular, globally-reachable web service -- you have to run a bunch of servers in different locations, and distribute the da
by csande17 7y ago
I understand why it's hard to make a popular, globally-reachable web service -- you have to run a bunch of servers in different locations, and distribute the database, and solve concurrency problems and stuff. So I get why Twitter might have large back-end and ops teams.
But client-side code doesn't have scaling issues like that. If I put some JavaScript code in a static file, it'll work exactly the same when 1 person runs it as when a million people run it. What "complexity" is Twitter's front-end team facing as a result of their global reach?
Like, I guess they have to localize their app, but the hard part there is getting the text translated; the technical implementation is usually as easy as putting all your UI strings in a dictionary that you swap out based on the user's language. (Maybe if they're extra fancy, they make a version of their stylesheet that flips the layout horizontally for Arabic users.)
- x0x0 7y agoI doubt you've ever done a translation in a large webapp. Wait until German overflows your text boxes. Or you have to deal with date formats and number formats and ... And rtl languages are just a stylesheet away. Hah, but no. And how many devices across how many OSes do you test on? Particularly all the devices that functionally no one in the global north purchases? What is your accessibility test plan and how often do you run it?
- TeMPOraL 7y ago> Wait until German overflows your text boxes. Or you have to deal with date formats and number formats and ... And rtl languages are just a stylesheet away. Web browsers handle all of that correctly by default. A big part of web bloat is just developers including frameworks and libraries than break things by trying to reimplement them in a way more convenient for devs and designers - and then having to include more libraries and custom code to fix the breakage. All of that is self-inflicted.
- dx034 7y ago> Web browsers handle all of that correctly by default. Unfortunately, they don't. Many websites don't look nice in languages that tend to have longer words (e.g. German). Yes, the browser will cut if off so that it doesn't destroy the design. But that makes it unreadable and not nice to use for speakers of that language. To have a beautiful design that works with many translations is an enormous task.
- as1mov 7y agoI used to do fullstack development, but have recently moved to pretty much full time backend because the amount of headache present in the frontend dev. > If I put some JavaScript code in a static file, it'll work exactly the same when 1 person runs it as when a million people run it. No it wouldn't, because the million people have million different devices with different screen sizes, browser implementation and HTML/CSS/JS support for standards. The website should render properly on devices ranging from 5" mobile screens to 32" 4k monitors, while looking beautiful. This is in addition to proper support for multiple languages, accessibility features, and whatever new-fangled PWA bullshit that the business team wants. Implying that frontend is `just` making API calls and putting JSON responses on the screen reeks of naivety. This could've been true in 2005, but in 2019 unfortunately websites have taken place of full blown desktop apps, and are required to behave as one. There's a reason why frontend dev is a specialist job position now and pays on par with backend dev.
- Izkata 7y ago> (Maybe if they're extra fancy, they make a version of their stylesheet that flips the layout horizontally for Arabic users.) Twitter does do that.
- ericb 7y agoOften on Hacker News, and other places too, I see an argument where one person is hand-waving away a task and saying how easy and trivial it is. The simple heuristic for deciding which person is correct is that the one saying it is simple and easy is always wrong.