4 ms·
The one-bit explanation for why computers feel so slow these days I have is that everything is now a web app. The instant you introduce network calls that touc
by hiAndrewQuinn 2y ago
The one-bit explanation for why computers feel so slow these days I have is that everything is now a web app.
The instant you introduce network calls that touch remote boxes, you have added a consciously-noticeable amount of lag to the operation. Yes, there are also programs which feel slow even when doing things entirely locally, but that's in a different ballgame.
Why is everything a web app these days? Many reasons. One that doesn't get enough airplay is that it's simply much harder to pirate a web app. This is not the dominant explanation, though, the real one-bit answer is non-technical end users don't have to install anything with a web app to do what they want and that massively improves one's sales funnel.
A decade plus of being able to get paid for web apps much more reliably than for local desktop applications has led to the supply of web developers increasing, and the supply of desktop GUI developers decreasing. So eventually we have even seen web app tech get retrofitted back into the traditional application market, because that's what the economics suggest is the cost-effective approach. The whole churn is fascinating to watch play out.
- YZF 2y agoI think that's part of it. But there's also a lot of badly designed software around. On the web it's not just the network. It's bloated, easy to misuse, frameworks that cause every small operation to take millions of cycles. In the backend I've seen all sorts of "slow" from taking hours to aggregate millions of records (where you should be able to do a billion in less than a second), to things slowed down by choice of wrong technologies or languages, to ridiculous overheads of wrangling data in and our of various serialized formats and passing it around with heavyweight stacks. What drives me crazy ;) is that many software developers have no sense of what is a "reasonable" amount of time/resources to accomplish certain workloads. If they can't even tell or have never seen anything that's high performance then they just think this is normal. No sense of, how many operations per second a CPU can perform, memory and disk performance etc. The slow performance is just normalized in a team.
- dclowd9901 2y agoI work on a platform team at a SaaS company, and one of our core drivers is holistic application performance. However we’ve heard everything from “it’s fast enough” to point to what I would consider “wrong-headed” react docs to push back against suggestions on increasing performance. The one that really gets me though is that they’ll “do another pass, but have to get this out now.” Of course that second pass never actually materializes. Right now, it takes almost a full second for our TTFB.
- jiggawatts 2y agoWeb apps would be fine, except that most "web" developers are actually JavaScript front-end developers. They outnumber the older generation of C++/Java/C# developers by an order of magnitude. They have no idea was "fast" looks like, in any sense. They've never experienced it, never created it, and wouldn't know where to begin if asked. These are people that think that GraphQL is what optimisation looks like. Compounding this is the current microservices fad combined with dockerisation of everything on top of virtualisation on top of layers of cloud virtualisation. Then someone thought: Not enough layers, let's add side-cars! Here's a simple lesson: The typical web app is single-threaded for one user, even if it is asynchronous and has multiple servers and layers. That means that at every instant in time, at most one core is "lit up" and doing useful work for that user. While data is "on the wire" between servers, zero cores are doing useful work. Effectively, modern web apps provide some fraction of one core of computer power for each user. The more network hops, the more load balancers, firewalls, proxies, etc... there are in the path, the smaller this fraction is, eventually approaching zero. No amount of "scale" will make the experience of ONE user better. This just hasn't sunk in. People look to FAANGs for best-practices guidance, but FAANGS care about billion-user scalability, which is a very unique and special problem. Their solutions are all about scaling out, and almost never about making one user's experience "scale up".
- flohofwoe 2y agoCounterpoint: both Xcode and Visual Studio are much slower for certain things than Visual Studio Code (most notably: startup time). Application performance is less a technical problem than an organizational and cultural problem (at least if performance has become so bad that it starts to be annoying - e.g. I'm sure at some point in the past both Xcode and VS started much faster than now, and on much slower computers). If the team cares about performance they will find ways to improve it no matter the technology they use, they "just" need to make time for performance investigation and optimizations. There's usually a lot of low hanging fruits to pick before switching to a more efficient tech stack will enable further improvements (and at that point you're probably deep in diminishing returns territory).
- hulitu 2y ago> that everything is now a web app. Notepad is not. The new version in Win 10 needs 3 to 5 seconds to start. Calc.exe is also not a web app. It also needs 3- 7 seconds to start. Today is it normal to see black region on a local program because drawing on the screen is a hard, unsolved problems. All what matters is profit.
- bradknowles 2y agoEverything is a web app these days because many developers are incompetent and don’t know how to do anything else. And that’s only going to get worse as Generative AI comes along to “help” people do development.