Hacker News new | ask | show | jobs
by rgbrgb 1749 days ago
Lots of classic HN dismissals here, though I am glad we as a community have finally gotten past the anger around requiring JS to use the site.

In my mouth, Twitter is probably the best, most responsive web app I've ever used. It is not trivial to make a responsive infinite scroll that remembers your place on back, live updates gracefully, has useful shareable URLs, keeps memory usage low, loads quickly, etc. To me it's the real proof point for RN web and web workers.

8 comments

> we as a community have finally gotten past the anger around requiring JS to use the site.

We have not. It still sucks.

As for the twitter responsiveness experience... You must be living in an alternate universe.

Indeed. If Twitter is your definition of a good webapp, I'm scared to know what "average" or "bad" is like...
> Twitter is probably the best, most responsive web app I've ever used

What machine are you running it on?

I'm a regular Twitter user and it is hands down the slowest most unresponsive webapp I use: worse than Slack or Gmail.

Fwiw probably the best complex responsive webapp I use is YouTube (loathe as I am to compliment anything produced by Google's web frontend teams as the rest of their webapps have been consistently poor for so long)

What universe are you living in? Slack and GMail are horrendous compared to twitter. Twitter loads almost instantaneously. Only web app that correctly handles infinite scroll.
I'm living in a universe where Slack and Gmail are horrendous yes. That's why I brought them up as examples of low bars. Twitter is somehow even worse.

There's nothing "correct" about Twitter's infinite scroll: back button is never quite sure where in the timeline it should bring you. Occasionally the top or your last position, but most frequently a random tweet somewhere in between.

But the major issue isn't UX: I don't find it as bad as some here say. The real problem is the abysmal performance. Not just the load time (the page loads blank, then starts loading actual content) but then after everything is loaded every single interaction comes with enormous UI lag. Literally an active click-wait-click-wait cycle.

Wait, what? What's horrendous about Gmail? It's one of the few sites that's predictable, gets out of my way, has a smooth workflow, and doesn't leave me shouting, "WTF? Why would you do that?"

The only issues I remember having are that sometimes label autocomplete is flaky and sometimes the new emails take too long to show up.[1] It has good support for vim-like keyboard shortcuts as well.

Don't want to sound like a shill, but I've found Gmail to be an outlier.

[1] There was also the April Fools "mic drop" feature where you could accidentally mute a conversation but I didn't experience that personally.

Try opening a few Gmail tabs on a machine that's more than a few years old or has a relatively low amount of memory. It might be an okay experience if opening Gmail is literally the only thing you're doing with the machine.
I’ve done that before, for working with multiple email accounts, and don’t remember it interfering with system memory needs.

Although google has had a huge problem with keeping accounts separate in the same browser, but that’s not a gmail thing.

my favorite is when I open a thread from a tweet partway through and try to scroll before the page finishes fully loading. it dumps you way back at the top
Agreed. I’d love to hear some alternative examples to Twitter’s web app or how one could build it faster.

Also I’m curious if the original Twitter lite was well engineered. I generally share all the criticisms above about the web but I thought Twitter’s Scala back end actually made the response fast and resilient. I mostly use the iOS app but never had problems with the mobile (until recent changes).

https://blog.twitter.com/en_us/topics/product/2017/introduci...

>Agreed. I’d love to hear some alternative examples to Twitter’s web app or how one could build it faster.

Sure, Twitter from 2011. Backend handling might be faster today but that's decoupled from the frontend bloat and UI anti-patterns.

Maybe not trivial but these are all solved problems - media queries, http get requests and history state manipulation are all mature and well understood. In common with 90% of the web twitter’s performance and memory usage is utterly abysmal. We’ve been trained to accept this kind of thing but it doesn’t have to be this way. Im prepared to accept that there are complications that i don’t know about but Twitter is not that complicated a front end and it shouldn’t be beyond the wit of a tech company the size of Twitter to make something that y’know actually shows a tweet when you click a link to see a tweet.
Twitter is unbearable for me on mobile web. Takes multiple reloads many times.
In my experience, Twitter is only bearable on a Zen 3 or equivalent processor with at least 16GB of memory. Anything less than that is almost guaranteed to slow to a crawl if you're doing something other than reading a single tweet and closing the tab immediately afterwards.
Good thing we’re finally able to display text and images with all that hardware.
Try out Nitter, a Twitter web frontend that doesn't require JS. Same content but way faster, leaner, and nonsense-free (excluding the tweets themselves).
This is actually not that hard to do and has been done many many many times before.

URLs can be unique ids for scrolling to.

Simple Ajax function to attach cards on scroll.

Poll or get pinged by SSE to pull updates, swap by url as Id

Loads fast if you simply render html and lazy load the images. Css is almost instant.

We can do better with so much less. Unfortunately we now have front end engineers everywhere doing web development.