Is some software getting worse?
Fixed for ya.
It seems to me that the author doesn’t remember all the struggles we had back then with bugs and features not working. And masses of needed functionality that never got skipped into the hands of users. It also strikes me that maybe there is a bit of nostalgia, just a bit of reluctance to change his ways. He found a workflow around the missing functionality that might be blocking for others and he has a harder time adjusting to the new functionality.
A bit like my father that refused to change his workflow, to make images for webpages (all static) he used for different Amiga programs because one could scale the images, one could edit them add lines and stuff, one for helping him make image maps, and they one so they could be converted to jpg/png as anim files used by everything else on the amiga didn’t work well on the internet.
Bug testing back then was awful, we never had time to catch any issues but the biggest. The time plan for the release was fixed years ahead, the functionality that was needed was fixed years ahead. All the needed time for testing was eaten up by the developers working into the final skip to customers, trying to make the software actually run. It wasn’t uncommon for test teams trying to cramp months of eating into a weekend to have the software skipped on Monday morning. Well including masses of needed bug fixes during that weekend that no one knew what code each issue was actually tested on. Remember that software version control system was almost not used, there was no CI build system all all software was built on some random developers workstation. Maybe, with some additional changes for his or her convenience. No software development has come a long way since the 90s. A very long way!
Yes. Case in point: there are at least 10 Lemmy iOS apps. I’ll give you ten guesses on which ones are actually native Swift…
There are a quite a few Android apps in progress too. How many are written in Kotlin?
Voyager isn’t native and it’s good. I’m not totally sure what the hate is for React Native for apps like this. It’s an abstraction over Swift, it’s still Swift under the hood isn’t it?
In my experience, Voyager is still pretty buggy too. For example, try editing a post then go to do anything else after the fact. I always have to restart the whole app when I go to edit a post I made. They have a ton more features than anyone else but there are still tons of bugs.
react native is another layer and lags behind the dev of swift by at least a year. This is a huge problem for new api’s like SwiftUI, in my experience. Ps. Native is ALWAYS better than an approximation of native.
Yet it still feels sloppy (and I couldn’t find why to the defense of Jerboa, I skimmed through the relevant code but couldn’t find immediate issues and there’s an open issue: https://github.com/dessalines/jerboa/issues/445)
I don’t get why, with so much hardware power we still have these issues…
everything went down when we allow web technologies be part of the desktop, everything electron or any other incarnation is an abomination
I can understand it tho. What other GUI toolkits have a markup language like HTML? It’s so easy compared to having 50 billion different widgets, adding stuff through code is so verbose…
Plenty of them?
Okay but do you expect me to actually know anything about what I’m saying?
(Jokes aside my bad TIL thanks)
I have two hypotheses for why some kinds of software grow worse over time. They are not mutually exclusive and, in fact, may both be at work in some cases.
Software has transitioned from merely complex to chaotic. That is, there is so much going on within a piece of software and its interactions with other pieces of software, including the operating system itself, that the mathematics of chaos are often more applicable than logic. In a chaotic system, everything from seemingly trivial differences between two ostensibly identical chips to the order in which software is installed, updated, and executed has an effect on the operating environment, producing unpredictable outcomes. I started thinking about the systems I was using with this in mind sometime in the early 2000s.
The “masters” in the field are not paying enough attention to the “apprentices” and "journeymen. Put another way, there are too many programmers like me left unsupervised. I couldn’t have had a successful career without tools like Visual Basic and Access, the masterful documentation and tutorials they came with, and the wisdom to make sure I was never in a position where my software might have more than a dozen users at a time at any one site. Now we have people who don’t know enough to use one selection to limit the options for the next selection juggling different software and frameworks trying to work in teams to do the bidding of someone who can barely type. And the end result is supposed to be used by thousands of people on all manner of equipment and network connections.
One reason that open source software seems more reliable is that people like me, even if we think we can contribute, are mostly dissuaded by the very complexity of the process. The few of us who do navigate the system to make a contribution have our offerings carefully scrutinized before acceptance.
Another reason that open source software seems more reliable is that most of it is aimed at those with expertise or desiring expertise. At least in my experience, that cohort is much more tolerant of those things that more casual users find frustrating.