8 ms·
I know of almost no software that's ever finished. This is not some conspiracy. It's just a fact of life. Examples, image editors need to load new formats. Old
by greggman3 5y ago
I know of almost no software that's ever finished. This is not some conspiracy. It's just a fact of life. Examples, image editors need to load new formats. Old computers didn't have cameras, now they do, many softwares would suck without support for them. New input devices come out (mice, touch screens), software needs an update to support them. Old old computers didn't have networking. Once networking exists plenty of software will be effectively obsolete if not updated to take advantagae. Old software was ASCII only, then the net connected us to the world and not all that old software needs to support full unicode. Old software didn't support useful rich copy and paste, new use cases appear (copy and paste text, images, audio clips, video, URL links, rich text, structured graphics). Old software that can't handle this is obsolete. Old software didn't handle multiple resolutions. Try running some non-HD-DPI aware Windows software on an HD-DPI screen. Good luck reading the text. Old software thought it could own the machine. OSes realized they needed to put the user in control. Now the software needs to be updated to ask for permission instead of just crash when it fails to access something.
Most software has to be updated, period.
- andrewchambers 5y ago> Examples, image editors need to load new formats Alternatively, they could be designed to support plugins.
- creshal 5y agoSomeone still needs to write those, and you'd need to be a psychic to succeed in making an immutable API that can handle all possible future requirements. E.g., up until a while back, 32-bit ARGB as exchange format would've been sufficient, but is now insufficient to handle 10 bit channels and/or stuff like HDR. What if we get a standard for 3D images? It gets worse if you want to handle animated images as well, whatever exchange format you specify will break once a decade at least. And god forbid someone tries DRM for images again…
- selfhoster11 5y agoAmiga did it. We can do it again. Besides, such an API is a slow-moving target, so still better than status quo.
- BrightGlow 5y agoAre we thinking about the same thing? Amiga did not have a perfectly future-proof API. Such an invention would be the holy grail of API design.
- selfhoster11 5y agoSome future proofing is better than none, right?
- creshal 5y agoThe status quo is the continued existence of IrfanView, which is probably as close as it gets to the ideal. Hasn't changed much since the 1990s, and looks like it, but supports about everything via plugins.
- BrightGlow 5y agoIrfanView is updated constantly though.
- selfhoster11 5y agoYes, but the idea is that even if the original author dies, people can still keep using the last release of the application, but independently write new plugins to interpret new image formats that come out in the future. Winamp has a similar property. If in 2030 FLAC is replaced by some fancy neural-network based lossless encoder, it can still read the files and play them without touching the core of the application, because all that's needed is a single plugin.
- 5y ago
- joshuamorton 5y agoThis works, until something about the image violate your expectation. To use the image example, say you have an image editor that uses the common assumption that a pixel is a 3-byte item, with 255 possible values. Lots of stuff worked this way, its sort of a base assumption around which you have to build all your other stuff. Violating it requires you to like change sizes everywhere, which may mean performance of your fancy vectorized algorithm plummets somewhere. Anyway, lots of stuff follows this 8-bit-per-channel api. Until you use RAW images or any number of higher color depth . Then you need 12 or 16 or 24 or 32 (or more) bits per channel.
- kbenson 5y agoAt the point your text processing utility that was ASCII capably gets a plugin to support UTF-8 or UTF-16 you've made so much of the core modular that it no longer serves the benefit your proposed them for. Replacing core plugins of a program that provide the actual usefulness of it is no better than just upgrading the program. Modularity can be useful, but there's always a core, and sometimes the core needs a change. And that's before we even get into security issues. Sometimes entirely new classes of security problems are discovered, and if they weren't known at the time of writing, how were the authors supposed to guard against them? How much can we fault browsers for not guarding against spectre/meltdown when they were first written and released?
- GrumpyNl 5y agoThats a update to.
- nopzor 5y agoagreed. your software isn’t finished when it passes final qa. it isn’t finished when you deploy it to production. it isn’t finished when it has no known bugs. it’s only finished when your last user is dead.
- lexapro 5y agoAnd not just software, _everything_ is updated quite regularly because of technological advances and changing preferences: cars, clothes, beverages, laws, ...
- stonemetal12 5y agoTools generally don't, I know they have added some antivibration stuff to hammers but an old hammer still works. As far as socket sets and crow bars go I can't think of a new feature that happened in my life time. For screw drivers the biggest change is companies keep inventing new heads for security by obscurity reasons, not better performance.
- lostcolony 5y agoFor screw drivers that may be the case now, or it may not be. Screws became popularized in the 1700s, but it wasn't until the early 1900s we see evidence of people trying different heads (square head), and it wasn't until the Phillips head in the 1930s that we adopted a standard. Even then it was a while before it entered consumer goods; I encountered a 1940 Fibber Mcgee and Molly episode (which is what led me to looking up the history of the screw) where Fibber went to buy a screwdriver, and literally asked for "a screwdriver with a black handle", no other qualifier, and the shop keep didn't ask for clarification.
- adolph 5y agoScrew drivers, who need them when you have a perfectly good hammer, amirit?
- conductr 5y agoReminds me of a joke I made in passing by the pool this summer. All the ladies were drinking their hard seltzer cans, which is very trendy last couple years in US anyways. All of them using the Yeti/similar insulated can holders (coozies). My joke was something about how the entire beverage industry aligned on a new narrow and tall can size for seltzers just so they all had to buy new drink accessories
- betwixthewires 5y agoI agree with you that a lot of software needs open ended development, but I don't believe most of it does. I like the philosophy used in the development of the Gemini protocol: software should have a clearly defined scope, it should break not bend and it should eventually be done. I think the vast majority of software doesn't actually need continuous updates. Look at the downsides, web browsers in particular are the biggest example of the downsides to this approach. They've become megalithic blobs of unmaintainable bloat. If they'd just stuck to delivering documents and let "web app" developers develop standalone clients we wouldn't be in the situation we are in with the web. Some software can never be done, but most of it should be done.
- jaywalk 5y agoIf web browsers had stuck to just delivering documents, the Internet wouldn't have become what it is today. We'd end up with a bunch of AOL-like walled gardens, which benefits nobody. Your "get off my lawn" ideal for web browsers would have never worked.
- betwixthewires 5y agoThat's just ridiculous. It's not a dichotomy between news sites running megabytes of software on your machine and proprietary walled garden networks. There was a near decade long golden age where people used protocols and clients, browsers delivered documents and everyone used the same global network, and you're conveniently just ignoring that to make your invalid point. Do you like what the web is today? I know almost nobody that does. "We wouldn't have the web we have today" isn't a selling point.
- jaywalk 5y agoI have many issues with what the web is today, but removing all interactive features from web browsers would be a very negative change in my opinion.
- betwixthewires 5y ago
- inetknght 5y ago> This is not some conspiracy. It's just a fact of life. I disagree. > Examples, image editors need to load new formats. An image editor doesn't need to load new formats. An image editor just needs a library to convert to a format it can edit easier which almost always ends up being a bitmap of some sort. That smells like a library. And that smells like not one library for _all_ image formats but instead one library for _each_ image format. User wants to support the new copyright-compressed-image-video? Add a library. User doesn't want support for old-copyright-expired-and-is-now-public-domain-image-video? Don't update that library. > Old computers didn't have cameras, now they do, many softwares would suck without support for them. Nearly all softwares suck with support for them! Different features on the camera, different features in the software. What's needed is for software to just have a library to process an image stream and let the OS handle the camera... > New input devices come out (mice, touch screens), software needs an update to support them. What's new about mice that needs a software update? What's new about touch screens that needs a software update? These things haven't fundamentally changed in fifty years. > Old old computers didn't have networking. Once networking exists plenty of software will be effectively obsolete if not updated to take advantagae I disagree. Plenty of software shouldn't _need_ networking. That image editor? Yeah no it doesn't need networking. Your OS does though. Your OS should transparently provide any networking that you might need to edit an image on the network. Mount that network drive and your image editor should see it as if it's a local file. No update needed to the app. > Old software was ASCII only, then the net connected us to the world and not all that old software needs to support full unicode. Well yes but have you noticed how broken full unicode support often is? ASCII just worked. > Old software didn't support useful rich copy and paste And thank God for it. Rich copy and paste is a security nightmare and always ends up pasting junk and trash and vomit into something. I don't want rich copy and paste. How do I turn it off??!?!?!?! > OSes realized they needed to put the user in control. Hahahaha yeah... uhhh... no. Modern paid-for OSes (Windows, macOS, Android, et al) often take away more user control than they give. Dumb down the user interface so that they don't have to teach the user how things actually work and don't have to support that weird use case that the one power user used and most people wouldn't even understand. So take it away because it's just not worth the cost involved.
- BrightGlow 5y ago
- marcosdumay 5y agoIf it was the case that you needed your image processing software to handle new formats, or your OS to handle a camera, you would go to the supplier and buy an upgrade. If that case was any common, then upgrades would be hugely lucrative, and software distributors wouldn't be forcing people to move into a different model.
- phkahler 5y ago>> I know of almost no software that's ever finished. All appliances including TVs until recently. 10s to 100s of modules on cars - until recently. I knew someone who worked in over-the-air updates at <big car company> who said the software teams kept wanting to push updates after start of production. I said "no, updates are so you can avoid the cost of recalls, not so they can finish late" and we had complete agreement. Updates are potentially good by allowing critical fixes, but they are more commonly wanted by developers who can't wrap-up a solid release on schedule. To be clear, suppliers to the auto companies have HARD deadlines - your customer has hundreds of suppliers delivering components for a particular model year SOP and they aren't going to disrupt everyone else because your software team is late. This leads to incremental (manageable) improvements rather than big new developments (which do happen but not tied to a particular program). Abusing OTA updates to allow more slop in this is probably going to lead to some issues.
- JohnFen 5y ago> I know of almost no software that's ever finished. I know of quite a lot of software that is "finished" as far as I'm concerned. Developers tend not to think it is, though.
- ghoward 5y agoA lot of Unix utilities have not been updated for years. My thoughts on finishing software: https://gavinhoward.com/2019/11/finishing-software/ https://gavinhoward.com/2019/11/finishing-software/ .
- lasereyes136 5y agoAll software needs to be maintained much like food needs to be grown every year. The environment, need, situation, and security around the software is always changing so static software rots. Some rots quickly and some rots slowly but without maintenance it all rots.