Latency is one metric by which computing has gotten noticeably worse over the years.
Daily, I encounter multiple situations in which I take some action (click a button, type text in a text field, etc.) and the response is visibly delayed - from several hundred to several thousand milliseconds.
This used to happen only on websites, but lately is also happening on apps installed on my computer. The cause? My theory is that everything is now some sort of monstrosity of React or similar web app, running inside a browser process, and possibly even that local apps are sending data round-trip up to the mothership for tracking, surveillance, synchronization, etc.
And the UX is terrible - often while this is happening, stale data is showing, or there is no visual indication a process is underway.
[–] wpm 2 days ago
[–] milesvp 2 days ago
And it gets worse, since equipment gets chained. If you add more than a few ms to the wet channel, it accumulates and can be very problematic if you ever feed the wet back into the dry signal.
Source: have shipped multiple digital pedals
[–] superxpro12 2 days ago
good times...
[–] _moof 2 days ago
I used to be able to whip through 3-4 keyboard shortcuts in a fraction of a second and the computer would keep up. This was on an 80 MHz machine, by the way. Now I have a supercomputer and I have to wait for a quarter-to-half-second zoom/pan/slide/whatever with nearly every single interaction. It's maddening.
[–] badpun 2 days ago
[–] saturn8601 2 days ago
[–] ashkankiani 2 days ago
The end result is being completely unaffected by version changes, the trends in programming that go up and down (javascript, python, whatever, doesn't matter to me what's happening in their world).
It helps that I was also an early adopter of Rust from pre-1.0 in college around 2011, and so I've had a relatively stable implementation language. That combined with C and Luajit is my permanent stack right now, but I'm in the progress of migrating to my own programming language.
The natural terminus of the path you are suggesting is to reimplement everything. Be prepared for a long road, even with LLMs at your disposal now. An LLM can't design what you want because it can't read your mind.
[–] massysett 2 days ago
[–] ashkankiani 1 day ago
What’s the best way to get started with Common Lisp now for a very very experienced programmer?
[–] wpm 2 days ago
[–] skydhash 2 days ago
GUI are useful, but I spent so much time trying to find the perfect ones while I could quickly draft a quick CLI script for my specific problems. These days, I focus on finding libraries and utilities that solves the core of my problem, then wire them up in a way that solves my workflow. After a while, you just find that most of your computing needs are solved.
[–] pampas 2 days ago
[–] bschwindHN 2 days ago
You should be! CPUs these days are so goddamn fast, there is zero excuse that things don't respond instantly to user input. Sure, you can't escape the latency of the speed of light, but so much software lags and feels like shit even on things that involve no network interactions. I have to use notion at work sometimes and it feels like trudging through a lake of mud. Absolute garbage latency because the devs (and their clanker handlers) apparently don't know any better.
[–] buildsjets 2 days ago
[–] cowlevel 2 days ago
[–] FabHK 2 days ago
[–] crazygringo 2 days ago
It just hasn't gotten better.
Fundamentally, whenever latency gets too bad, developers fix it. But often not until then. So it always just kind of sits there at the edge of just-barely-tolerable. Which is defined by human behavior, not chip speed or similar.
I remember iTunes in the 2000's taking several seconds to respond to user actions. I remember using software like PageMaker in the 1980's that would take forever to respond. Lotus Notes in the 1990's was horrible. Running antivirus would slow your system to a crawl. Other stuff from the 2000's -- Acrobat Reader, or Outlook.
It's always been an issue with apps on the computer.
[–] publlus_enigma 2 days ago
Some aspects have definitely gotten worse. For example, the latency between pressing a key and a glyph appearing on the screen.
[–] crazygringo 2 days ago
I've been using computers for over 40 years now, and I've never been impacted by the latency between keypress and letter rendering in my life except for on e-ink. That's not something I see anybody complaining about.
[–] publlus_enigma 2 days ago
[–] crazygringo 1 day ago
[–] hulitu 19 hours ago
Just compare the start of Notepad in Win9x with the start of Notepad in Win11
[–] radicalbyte 2 days ago
Skype.
Windows File Manager.
It has been a thing for a long time in consumers software from the big guys. The people working on it don't care about UX or performance.
Now a lot of the small-company software we used to use has been replaced by slow bloated and buggy apps usually running on Electron (Slack et al) so we're seeing it everywhere as opposed to in a couple of bad apps.
[–] kalaksi 2 days ago
[–] layer8 2 days ago
[–] kalaksi 2 days ago
[–] AgentME 2 days ago
[–] etbebl 2 days ago
[–] Trlog 2 days ago
[–] publlus_enigma 2 days ago
[–] demibabs 2 days ago
[–] thereisnospork 2 days ago
[–] ted_bunny 2 days ago
[–] cnqso 2 days ago
[–] evantbyrne 2 days ago
[–] lyricaljoke 2 days ago
It really feels like the types of software which have inexplicable pauses / hiccups has grown. Sometimes even my OS (a Debian flavor, although it's a corporate managed distribution that might be to blame) locks up from time to time when I'm tethering on my phone with limited bandwidth, which is highly suspicious.
[–] arjie 2 days ago
Most of the software I use is custom now but not in like a deep way. E.g. it turns out that browser engines are blazing fast. So what’s slow? The chrome around it, the extensions. These things I just rewrite.
It turns out that MacOS GUI primitives are also really fast. It’s just that most software poorly uses it. I rewrote text viewer applications, and a terminal emulator chrome that uses libghostty. I don’t claim originality or skill. I only claim annoyance.
Now that I’ve reached the point where the thing in the way is my OS which I have trouble modifying I suddenly understand why Omarchy is compelling to so many people. And I get why DHH is so excited about it.
You can have a bespoke system on a fast, reliable base. Why wouldn’t you do it? Why suffer?
[–] chowells 2 days ago
You can do a lot at the high levels, but everything needs to be reworked from the hardware level up to match the latency of older systems.
[–] kbolino 2 days ago
PS/2 did not use polling, it was entirely event-driven. On keypress, the keyboard sent a serial message to the 8042 controller [1], which then raised the appropriate interrupt line on the CPU, which caused the keyboard ISR [2] to be executed. The serial clock was a bit flexible, but usually sat around 10-16 kHz [3], and so the 11-bit serial message took at most 1 ms to send.
It is USB that uses polling. The keyboard describes itself using endpoint descriptors, and after obtaining these, the host controller periodically polls it with an IN token, to which the keyboard responds with its state changes since the last poll [4]. The earliest USB keyboards preferred fairly slow polling rates, but modern keyboards can be polled every 1 ms [5]. If directly connected to a motherboard USB port, a modern USB keyboard will have pre-software input latency on par with a PS/2 keyboard.
[1]: https://wiki.osdev.org/I8042_PS/2_Controller
[2]: https://wiki.osdev.org/Interrupt_Service_Routines
[3]: https://retrocomputing.stackexchange.com/q/15607/25565
[4]: https://threeboard.dev/documentation/threeboard/how_usb_keyb...
[5]: https://www.usb.org/sites/default/files/hid1_11.pdf pp. 68-69
[–] chowells 2 days ago
[–] kbolino 2 days ago
[–] jiehong 2 days ago
I’m also thinking that there might be a universal solution to all animations: user-driven animation end. Like, the system could cut off the animation as soon as the user hits another key, making it faster and learning the right rate of animations over time. That would be great!
[–] publlus_enigma 2 days ago
Although I fired up Solaris 9 on an old Sun Blade a few months ago, and the GUI latency on that was imperceptible.
[–] CableNinja 2 days ago
home depots site is seriously one of the worst. Mobile phone that is from this year, on good wifi, and it takes many seconds to load any page, HOW!?!?
[–] sznio 2 days ago
never have i felt a computer react so quickly. CRTs have much less lag than LCDs.
[–] cowlevel 2 days ago
You probably can't avoid the time it takes for the pixel to physically change (~1 frame) but you can avoid all intermediate framebuffers by careful timing synchronization. E.g. when scaling, don't buffer a frame at a time, just a line.
[–] saturn8601 2 days ago
[–] cowlevel 2 days ago
[–] tikhonj 2 days ago
Point being, outside competitive games, I do not expect monitor hardware to be anywhere near the bottleneck for latency and response times.
[–] bob1029 2 days ago
Until you can demonstrate to me that you can build an async/await server that uses a single core without deadlocking, I am not so sure you should be trusted with any additional resources.
[–] TimTheTinker 2 days ago
on the contrary, native app UIs should at minimum separate the UI thread from background work, if only to keep UI controls responsive.
The UI thread may spend most of its time asleep, but it has to be available to instantly respond to user input (or events/signals from the OS)
[–] domador 2 days ago
Maybe we're talking about different things, though.
Software is hard to use for me now.