News for hackers. Stuff that matters.
Re:React is a fractal of bad design by codeptualize on Wednesday March 08, 2023 @05:14AM (#35067238)
> the modern webapp experience is so miserable for the average person.

I see this claim a lot and I'm curious what this is based on, can somebody drop some links to further reading?

Re:React is a fractal of bad design by iakov on Wednesday March 08, 2023 @05:39AM (#35067398)
It feels like a myth to me as well. We, tech nerds, value "optimized" solutions, "beautiful" code. We buy top-notch hardware, remove bloatware, because we really care about our tools and craft.

90% of the users use shitty hardware. Everything is sorta sluggish on their computers - they boot up slowly, the bunch of crapware in autorun take their sweet time to load & phone home, their wifi us overburdened with devices. Most of the software experience is sluggish for them. They don't care if their web app is sluggish too.

Re:React is a fractal of bad design by thegeomaster on Wednesday March 08, 2023 @05:53AM (#35067500)
Doesn't that have a corollary: if their web app is faster than everything else they use, won't they love it?

Anecdotally, those 90% of users are not happy about their experience, they just tolerate it.

Re:React is a fractal of bad design by xmcqdpt2 on Wednesday March 08, 2023 @06:57AM (#35067946)
I think if that was the case Apple would be a much smaller company. People buy iPhones because they "feel nice." And the feel they are talking about is performance.

If you are forced to use an app with bad performance (say Teams) you cope. Humans are great at coping. Maybe you turn it off and back on again periodically, or alt tab to something else while it's showing a spinner.

It's true performance isn't a major selling point but IMO that's because most software products are not sold to users. They are packaged with other products, part of monopolies and imposed to users by others.

I buy video games where performance undoubtedly matters. Apart from that, most software I use, I didn't choose, and I'm pleasantly happy when it's not garbage (Outlook, IDEA) and annoyed when it is (Teams, Facebook). In either case, performance wasn't a contributor to my choice: I didn't have a choice.

Re:React is a fractal of bad design by kunley on Wednesday March 08, 2023 @11:13AM (#35070809)
All good except of the last sentence.

All the sluggish steps led them to the usage of the web app they need to use, and they need it to be fast. At least, faster than rest of the crap so far. Heck, they may spend rest of the day with this app..

Re:React is a fractal of bad design by marginalia_nu on Wednesday March 08, 2023 @05:20AM (#35067275)
Try getting a slightly shitty phone and visit a place with spotty wifi that drops some packets. It's very enlightening.

I'm averaging a 15-30 second TTI on the most js-heavy sites.

Re:React is a fractal of bad design by gurraman on Wednesday March 08, 2023 @05:25AM (#35067304)
Same. We've been working on a huge React project for several years. Lots of graphs, 3d models etc ... and it is super-snappy. Only slow part is a WebGL-based chart component that visualizes 2-3 M rows of signal data. We can probably decimate the signal data to improve performance, but that has got nothing to do with us using React.

N.B. No one is using the app from their mobiles. iPad and computers only.

Our reasons for choosing React when there are so many alternatives: prior knowledge, ergonomics, easy onboarding, ecosystem.

Re:React is a fractal of bad design by dham on Wednesday March 08, 2023 @08:00AM (#35068461)
Super-snappy for who? You? with a $4000 Mac Book Pro? Even with 6x CPU slowdown in Chrome, that's not enough throttling for these modern computers to test with.
Re:React is a fractal of bad design by eastbound on Wednesday March 08, 2023 @01:04PM (#35072451)
Modularization. With React, you can delegate a component to one team and use it as a web-component.

Actually, why aren’t web-components a thing, that’s another story. But componentization is why React creates clean code.

Re:React is a fractal of bad design by DoesntMatter22 on Wednesday March 08, 2023 @03:20PM (#35074210)
I make this argument all the time and people think I'm an idiot, which is fine. But JSX to me is reason that Svelte and Vue aren't as good. They are faster IMO but with JSX it's nice that you can make a form and then each part of the form can be broken out into separate methods.

The reasoning I get all the time is "Why would you want to do that? That's stupid".

It's just so much nicer honestly. I'm not a react fan at all but that's one thing I miss about it.

Re:React is a fractal of bad design by josephg on Wednesday March 08, 2023 @09:58PM (#35077851)
Huh? All of the modern web frameworks let you delegate a component to a team and use it. What does react do here thats special?

Honestly, if anything I find react's modularity story much weaker than the competition. In react there's no page-wide state and the story around styling components with CSS is a huge mess.

In comparison, Svelte components feel much more modular & self contained because the styles are embedded with the component in a standard way.

Re:React is a fractal of bad design by favaq on Wednesday March 08, 2023 @05:54AM (#35067507)
Buy the average $400 windows laptop and $250 android phone and you'll see.
Re:React is a fractal of bad design by agloe_dreams on Wednesday March 08, 2023 @09:53AM (#35069671)
Would you? Most $400 laptops are on 10th gen Intel or such. Thats actually pretty good. A Pentium Gold is actually just on the edge of a modern i3 which in single core. Smokes most 8th gen chips. They are pretty good.

$250 in an Android phone can get you a SD 695 5g these days. IT's not fast per say but it absolutely doesn't suck.

Re:React is a fractal of bad design by josephg on Wednesday March 08, 2023 @10:20PM (#35077965)
Yeah I agree with the GP. Most $400 laptops come pre-loaded with all sorts of janky crap that make that 10th gen intel CPU run like a wounded animal.

Most users have no idea how to remove any of it. Or, worse, they'll enable all of the preinstalled antivirus programs because they want their computer to be safe. And it gets worse. I visited my parents once and noticed something weird on my dad's macbook air. Turned out he'd gone out and bought Norton antivirus to install on it (!?). Norton installed a chrome extension which replaced the banner ads on every website he visited with their own ads. I manually deleted the extension from chrome, but norton put it right back again after chrome restarted.

If you don't believe me, use performance counters and measure it. Your website runs way slower on your users' computer than you think it does.

Re:React is a fractal of bad design by agloe_dreams on Thursday March 09, 2023 @06:27AM (#35080250)
Oh I know, but that situation has become less common over the years. Fewer users are buying AV and most AV is getting better so people don’t complain. Users using outdated versions of Windows with IE has a much larger impact (because IE’s JS engine is incredibly awful)

But the point I was making was that the average computer has actually gotten pretty good. Most users use near-latest chrome, most laptops have gotten much quicker.

And that’s before noting that the average cell phone in the US has BETTER js performance than the average computer. Most US mobile users have a modern iPhone that is faster in single core performance than some 10th gen laptops.

Re:React is a fractal of bad design by unxdfa on Wednesday March 08, 2023 @06:00AM (#35067542)
Try selling React shit to corporates who have corporate malware infested Edge running on overloaded Citrix nodes or the average corporate android that was made about 3 years ago.

We still get <100ms page delivery with server side rendering and lightweight JavaScript DOM overlays. Our React infested competitors, not so much to the point their clients have been shitposting on twitter about it.

And we actually can debug our product!

Re:React is a fractal of bad design by davidy123 on Wednesday March 08, 2023 @06:16AM (#35067665)
I don't think you are living in the real world. Is Microsoft corporate? React is a first class choice in their frameworks.

React is like nearly any other tool, use it well, and it's great. Well optimized React is lightweight to the client and a joy to test and debug. That said, Web Components are even better, but I'm guessing that's science fiction to you.

Re:React is a fractal of bad design by unxdfa on Wednesday March 08, 2023 @06:20AM (#35067690)
I don't think you are living in the real world.

Most React applications do not end up like that in the real world. They turn into poorly architected over complicated nightmares, particularly on sprawling apps which is the reality in the corporate space. Not everyone is building hyper-focused single function tools which can be crammed in an SPA type framework. And the users suffer for this.

One of the finest turds I've seen recently is my electricity company's meter reading facility which is an over-engineered react interface for a single web form with two fields and a confirmation box. The whole thing pulls 590k down to do that and takes 5 seconds for the initial page load on an M1 MacBook Pro. That's the real end game for most people. The only reason it's like that is because the people who built it don't know how to do it any other way.

And lets be honest about Microsoft: they do everything from a front end or user interface perspective and randomly discontinue bad ideas about 5 years down the line. Like Silverlight, most of WPF, bits of ATL and MFC, an entire mobile phone platform that got rewritten. And their competing framework WinUI 3 doesn't even work properly. Their own O365 web platform is a fine example of where this turns into a buggy mess. I bet react is dead to them within 2 years on one of their schizophrenic switcharoos. The only reason they're into it now is to capture some market from Electron.

Re:React is a fractal of bad design by nerdywordy on Wednesday March 08, 2023 @06:46AM (#35067863)
RE: Microsoft

1) MSFT has already used React for far longer than 2 years.

2) They have basically never used the technologies you mentioned (WPF, Silverlight, WinUI). They offer them as UI toolkits that run in their Windows environment and that’s it. Their failure to market and support these technologies is independent of what they do for their own development strategy.

3) They bought GitHub and effectively own electron now. Many of their biggest apps are on electron (Teams, VS Code, Azure Data Studio).

Re:React is a fractal of bad design by unxdfa on Wednesday March 08, 2023 @09:48AM (#35069579)
1. Correct.

2. Yes they have. Half their developer tools were rewritten in WPF, they offered huge stacks including CRM on top of Silverlight and a huge chunk of windows 11 front end is WinUI.

3. Teams fucking sucks. VS Code is heading in the same direction. I've never used Azure Data Studio.

Re:React is a fractal of bad design by josephg on Wednesday March 08, 2023 @10:12PM (#35077920)
> Many of their biggest apps are on electron (Teams, VS Code, Azure Data Studio).

Huh? Those are Microsoft's biggest apps? Not, MS Word, the NT Kernel or ... windows 11? The XBox operating system project? Outlook express? Visual Studio? ... Github?

I'll grant that Electron is used by a few teams at microsoft. But I'd be surprised if even 1% of microsoft's engineers worked on products built with electron.

Re:React is a fractal of bad design by davidy123 on Wednesday March 08, 2023 @06:48AM (#35067879)
I can look at the javascript of many "big corporate" websites and see they are often a sprawling mess of homebrew code. I'm sorry your electricity company's React website is bad, but I don't think an anecdote is data. Any framework can get abused, not using a framework doesn't mitigate the problem. But trying to update a site that uses a different approach for every little feature spread across many pages, without any idea of what a component is, that's a nightmare. At least you can sensibly incrementally improve React across a site's components with well worn tools, especially as a team.

I don't love Microsoft, but it's for the best they adopt a well known and rounded framework like React, rather than try to invent yet another of their own frameworks, like the ones you mentioned. I don't know why this has anything to do with Electron, since their React push is for their front end frameworks for their main corporate product, Office365 (or whatever it's called today).

Re:React is a fractal of bad design by danielvaughn on Wednesday March 08, 2023 @08:32AM (#35068750)
I think what you're criticizing isn't react necessarily, but SPAs. React can be used on the server in the same way as whatever SSR solution you're using.
Re:React is a fractal of bad design by adql on Wednesday March 08, 2023 @09:53AM (#35069670)
Both Discord and MS Teams use React (afaik) and only one of them runs shit.

Both are not exactly light tho

Re:React is a fractal of bad design by unxdfa on Wednesday March 08, 2023 @03:42PM (#35074450)
Both of them run like shit in my experience. I mean Discord is basically mIRC that looks a bit better with a shit version of zoom strapped on the side.
Re:React is a fractal of bad design by josephg on Wednesday March 08, 2023 @10:02PM (#35077862)
Yeah; and mIRC opened faster in 1997 than discord does today on a $3000 M1 mac.
Re:React is a fractal of bad design by akudha on Wednesday March 08, 2023 @06:03AM (#35067559)
I have a beefy machine and fast internet. Yet, JIRA is annoyingly slow. Half the time, pages on my bank’s website take forever to load, or don’t load at all.

I don’t have any numbers, just some anecdotal experience like the above.

It is not just speed. The UI of many sites suck too. Amazon, GoDaddy, for example.

Then there are ads. We don’t see ads in between content anymore. It is content within ads these days.

I am thankful that we can do so much online these days. But the experience could be better

Re:React is a fractal of bad design by scotty79 on Wednesday March 08, 2023 @06:07AM (#35067585)
Isn't Jira server-side rendered?
Re:React is a fractal of bad design by p_l on Wednesday March 08, 2023 @08:38AM (#35068813)
Nope, a lot of JIRA runs in the browser.

But JIRA main performance issues in my experience are caused by badly sized servers for the level of use.

Re:React is a fractal of bad design by SgtBastard on Wednesday March 08, 2023 @06:51AM (#35067900)
Jira is a not very good product, implemented by worse engineers, that happens to be better than its competitors (ironically proving the point I made further up thread).
Re:React is a fractal of bad design by thiht on Wednesday March 08, 2023 @12:05PM (#35071603)
> implemented by worse engineers

Jira is a 20 years old piece of software. I'm sure today's engineers do their best with the constraints they have. And I'm sure the 2002 engineers did their best with this period's assumptions and solutions.

I hate Jira as a product, but please don't attack people like that, have you never had to work on a product you're not 100% satisfied with? :/

Re:React is a fractal of bad design by SgtBastard on Wednesday March 08, 2023 @03:43PM (#35074467)
https://www.atlassian.com/engineering/post-incident-review-a...

I stand by what I said.

>I’m sure todays engineers do their best with the constraints they have.

There are two real constraints in the software engineering world: time and money (especially when we’re talking about an issue tracker, a wiki and a repo + CI\CD pipeline).

That Jira and confluences performance remains … not very good, suggests that the engineers are unwilling to, or unable to advocate for, spending the time and money to address this.

Re:React is a fractal of bad design by nazgul17 on Thursday March 09, 2023 @02:55AM (#35079173)
Hasn't Jira been rewritten from scratch a few years ago?
Re:React is a fractal of bad design by krautsourced on Wednesday March 08, 2023 @08:03AM (#35068488)
In the case of Jira, how much of that is related to frontend code, compared to backend code / inefficient queries?

I find performance suffers mostly when media assets, advertisments, marketing and tracking scripts etc. come into play. The frontend rendering rarely makes a dent at that point.

Re:React is a fractal of bad design by DoesntMatter22 on Wednesday March 08, 2023 @03:17PM (#35074176)
The FE is like 5% of the slowness if that. You have a 2 second query and then 50-100ms to render.
Re:React is a fractal of bad design by Cthulhu_ on Wednesday March 08, 2023 @09:20AM (#35069232)
JIRA, Amazon, possibly godaddy all predate modern-day tools like React and Angular by at least a decade though; Jira seems to have a custom set, Amazon probably does as well.

But in most cases, front-end technology isn't the limiting factor.

Re:React is a fractal of bad design by agloe_dreams on Wednesday March 08, 2023 @09:51AM (#35069615)
The problem with Jira...is that it isn't for you.

No really. It is a B2B company that sells an idea to large orgs. "Know what is happening for everything and where you will be in a month.

It is not "Enable your workers to work more efficiently".

Jira simply doesn't really care about the average dev or such. In fact, most orgs use such a wildly configured version that it is pretty absurd.

Let me give you an example: Most companies have a workflow: To Do > In Progress > Testing > Done.

Foundationally, Testing and In Progress are tasks done by different operators. Jira doesn't, out of the box, conceptualize who tested a ticket and who developed it. It is all one field. You don't have seperate pointing for testing and development so you can't track QA capacity (Which is helpful to a team but not to overall planning as it just causes rushed QA). You don't have historical views of prior sprints "What was that Ticket I worked on last sprint?" (because that means nothing for forward velocity other than the final number) I could go on..but it all leads back to an absurd UI focused purely on projects and velocity above helpfulness. (And don't get me started on Jira's absurd take on SCRUM) Honestly, I'm kinda shocked no major software company has not just built their own and knocked Atlassian out of the park. I'm sure tracking velocity of other companies would be highly...helpful for Google/MS.

Re:React is a fractal of bad design by KronisLV on Wednesday March 08, 2023 @11:40AM (#35071205)
> The problem with Jira...is that it isn't for you.

It's more or less one of those enterprise software packages that will be depended upon in larger orgs, because "nobody ever got fired for choosing $VENDOR". That sort of software tries to do a bit of everything, provide lots of features and customizability, sometimes at the expense of being more complex, bloated and slow.

Most people working on their own projects, when fully in control of the decision of what software they want to pick to best suit their own direct needs, might settle on something like Trello or even Kanboard instead. Personally, I self-host OpenProject because its features are a nice fit for my needs, even if it's still a bit sluggish (Rails app, limited hardware resources). Honestly, the performance of Kanboard was blazing fast when compared to anything out there - which is in no small part thanks to how focused and minimalist it is, which in some cases will be exactly what you'll want.

As another good example, I'd also put something like the Oracle database in same category: there will be many projects out there developed around it, as well as lots of knowledge, training, as well as entire professions built around it. But most people won't necessarily reach for something like Oracle XE for their own personal projects, they'll instead pick something like PostgreSQL or MySQL/MariaDB, because both of those are a little bit simpler to get started with and keep running, while still provide sufficient functionality.

This is an anecdote, but recently I launched all of the mentioned database options one after another in containers, for some testing. Oracle took around 10-20 minutes to start up an de usable. MySQL took about 5-10 minutes to become available for connections. PostgreSQL needed just 2 minutes. That's even before I get into how much data Oracle created in a container volume meant for data persistence (an order of magnitude more than MySQL or PostgreSQL).

Re:React is a fractal of bad design by DoesntMatter22 on Wednesday March 08, 2023 @03:16PM (#35074166)
Most of JIRA being slow is the backend not the FE. I've had the same issues but you can watch the backend take 3 seconds to return. The FE isn't much of a factor there.
Re:React is a fractal of bad design by modo_mario on Wednesday March 08, 2023 @06:09AM (#35067598)
In my case it's extensive anecdotal experience. First when I was a budget constrained student with bad hardware. Of course now I use a really good midrange phone, good laptop and pc.

Then i noticed a stark differences in attitude in the 2 studies I did at uni. One was more plain compsci. The other more web/mobile design and development. The later paid absolutely 0 attention to optimisation. Whether it was speed, download size or anything of the sort. The former treated an inneficient slution as invalid or at least graded lower. (Note this was in Beligum)

First time I started paying more attention to this where it wasn't when it wasn't in the context of being a budget constraint student was when I did a temporary IT support stint at a gigantic international pharma company and the software was so sluggish it was....insane. Dozens of people at our facility staring at a slugish webinterface waiting at every action and doing loads of those for every ticket. It was so infuriating I tried to make a browser plugin to prefill stuff with comon defaults the moment they were available knowing I'd never use it beyond those 3 months. Years of time must've been wasted staring at little loading circles because management did not use the software.

Then when I made native software for a manufacturing industry niche where i was told some suggested db retrieval and prerendering optimisations and such weren't worth the time....And sure. These were lowwage foreign workers using it, it didn't hamper much at all and our time was expensive. Maybe the business wouldn't get the money out of it....but then i ventured to production and notice more than a hundred people pulling the same actions many times a day thousands of times a year ....and see them waiting split seconds or multiple seconds depending on the actions that counted up to combined wasted minutes, hours, days, weeks and I realised what a load of bollocks it was.

Additionally when I helped extend various ERP's I realised the old ones were faaar from great but the move to web based interfaces really didn't do us much favours.

Then I come home and try to help my various layman family members on their comparatively slower windows and android devices and it becomes veeery apparent that this is not just a professional software issue. Slugish UI libraries on slugish frameworks on a slugish OS with various other slugish apps.

Coming home to a fast pc running Linux and using stuff i write in my free time using C++ or rust or even just various native apps on windows feels like such a extremely stark contrast.

My conclusion is that users won't care enough up to a certain point as studies show However I do believe that what those studies don't show is that for a good part this is because it's the default for many of them. They think this is just what tech is and all those countless small waittimes behind actions is normal.

Re:React is a fractal of bad design by codeptualize on Wednesday March 08, 2023 @07:01AM (#35067972)
I’m seeing a lot of anecdotes, not a lot of research.

Nngroup used to publish analyses of the state of usability, but I don’t think they have done one recently.

The old ones always showed progress, and that’s also what I would expect talking about the average situation.

Average progress doesn’t mean there are no shitty situations and we should always strive to improve, I just think claims like this are not helpful as they are used to make blanket statements about nuanced situations.

Unless you can back them up of course, and I would still love to see the data if anyone can find it.

Re:React is a fractal of bad design by resonious on Wednesday March 08, 2023 @07:13AM (#35068076)
Sadly all I have is more anecdotes, but you can get those yourself by asking any non tech worker what they think of using any software.
Re:React is a fractal of bad design by codeptualize on Wednesday March 08, 2023 @08:15AM (#35068588)
I've been involved in quite a lot of usability testing and I'm often positively surprised by the responses. Which is why I'm sort of skeptical when reading such claims. Also because I think user experience overall has improved, by a lot, the standards now are so much higher than the used to be.

I think it almost always comes down to one thing: Can people achieve the thing they want to achieve in a somewhat efficient way?

If the answer is yes there is lots of tolerance for all sorts of crap before people experience it in a negative way.

That means managing the experience. As example a multi minute upload process can be totally fine if handled properly, a .5s delay on an input can make it unusable. My point being; reality is a lot more nuanced than the blanket "it all sucks, and performance is everything" statement, and personally I don't think it's helpful. Unless we can actually look at metrics and assess their importance and how we can address them.

Don't get me wrong; we should absolutely keep trying to improve, especially crafting well made usable interfaces that are a delight to use. Performance is certainly very important, but it's not the be all end all of user experience and atm wrongly used to justify silly points why [my fav framework] is so much better than React.

Re:React is a fractal of bad design by 0xblinq on Wednesday March 08, 2023 @04:47PM (#35075200)
Just go and use the “new” Reddit. Take any metric you want from there.
Re:React is a fractal of bad design by brettermeier on Thursday March 09, 2023 @05:36AM (#35079979)
The new Reddit is so slow... after some bingescrolling I often give up due to the annoying loading times and close the site. I always imagine that many people react like this on super slow websites, but on the other hand it's Reddit and many people don't know which site to visit instead :P
Re:React is a fractal of bad design by 0xblinq on Friday March 10, 2023 @11:22AM (#35096473)
Try https://old.reddit.com

The day they disable it, I’m not using it anymore.

Re:React is a fractal of bad design by colin_jack on Wednesday March 08, 2023 @06:37PM (#35076286)
This is part of a whole series of posts:

https://infrequently.org/2022/12/performance-baseline-2023/