13 ms·
Software Updates
- Jyaif 7y agoUltimately, the problem is that we are not good at creating stable APIs. If we did have stable APIs, then once something (a feature, or even entire software) is written agains this stable API it would be available forever. This is IMO one of the greatest challenge the software engineering field needs to solve.
- deleted 7y ago[deleted]
- matheusmoreira 7y agoABI compatibility is also important. For example, the Linux kernel takes it very seriously but Linux user space generally doesn't. One of the reasons why application developers like to package dependencies together with the program in containers.
- wcoenen 7y ago> ABI compatibility is also important. For example, the Linux kernel takes it very seriously The linux kernel does not provide a stable ABI for drivers. Drivers that aren't in the kernel source tree will eventually break. https://github.com/torvalds/linux/blob/master/Documentation/process/stable-api-nonsense.rst https://github.com/torvalds/linux/blob/master/Documentation/...
- hs86 7y agoI am not sure if this is good or bad. On the one hand it gives hardware vendors an incentive to contribute their drivers directly into their kernel but on the other hand most Android phones are now restricted to one old kernel version due to the lack of ongoing support from SoC vendors. I assume that the majority of Linux kernels are running on Android phones and due to this lack of stable ABI for drivers these kernels are all outdated or even unmaintained. Did this policy cause more harm than good?
- matheusmoreira 7y ago> I assume that the majority of Linux kernels are running on Android phones and due to this lack of stable ABI for drivers these kernels are all outdated or even unmaintained. No, it's because the hardware manufacturers won't upstream their drivers. All they have to do is send the code licensed under GPLv2 and it will be updated and maintained. Stable ABI for drivers will result in the Windows situation: hardware vendors will just release one driver for one Windows version and one processor architecture. They don't seem to care very much so why should people optimize for their comfort? The least they could do is release free software so that the people who do care can make it work well. My laptop has a backlit keyboard with RGB LEDs. The only driver for it is a single proprietary Windows driver coupled with a buggy and slow application. I doubt these things will ever be updated. I actually emailed the manufacturer about this. I asked for technical information in order to make it work on Linux. They didn't or couldn't help me. So I reverse engineered the keyboard, made a Linux program to control the LEDs and the result was much better than the software they wrote for Windows. At least it doesn't take a full minute to start up. There is no point in making these companies comfortable. People should do the opposite: it should be as expensive as humanly possible to not release the drivers as free software. If they insist on maintaining proprietary drivers out of tree, then they should absolutely pay the maintenance cost. Kernel hackers shouldn't have to spend one second thinking about how a change will impact some crappy proprietary driver that's not even in the kernel tree.
- hs86 7y agoWhat if they are ok with this? What if the device vendors use this lack of stable ABI to put an expiration date on their products? Android phones don't get more than 3 years of support and my fear/tinfoil theory is that the vendors abuse the good intention of the kernel devs to deprecate old devices faster.
- matheusmoreira 7y agoManufacturers already do this, stable ABI or not. They can release drivers for a specific operating system and processor architecture. When those change and the driver breaks, they aren't going to spend time and money updating the driver for an old product they aren't even selling anymore. They'll just tell people to buy their new product instead.
- matheusmoreira 7y agoTrue. I had the system call interface in mind when I made the post. I should've been more clear.
- greggman2 7y agoMany APIs are poorly designed and by design easy to use in insecure and inefficient ways. APIs also can't anticipate the future. APIs need to have a way to be deprecated and eventually discontinued.
- Crinus 7y ago...and cause applications using them to stop working.
- AnIdiotOnTheNet 7y agoWhat's more important here? Nebulous security threats or software that actually works?
- Crinus 7y agoSoftware that actually works of course, but that only happens with stable APIs, ABIs and certainly not with removing them no matter how planned and preannounced that might be (both because most will ignore things since what they do already works and doing something different just to get the same results is most of the time a waste of time but also because in many cases the software is simply not possible to upgrade/change due to other issues, including the developer not existing anymore).
- ThrowawayR2 7y ago> "What's more important here? Nebulous security threats or software that actually works?" Sounds like something would've Intel said internally before Meltdown / Spectre were discovered.
- AnIdiotOnTheNet 7y agoAnd they were right, because despite all the cries of the sky falling from the security twonks of the world, it really hasn't been that big a deal.
- sambeau 7y agoEven stable APIs may need security fixes. I'm not convinced a world where APIs continue forever and their exploits do too would be much better than what we have. And I say that as someone who has just accidentally lost an expensive, fully-working piece of audio hardware to an ill-advised software upgrade.
- arghwhat 7y agoI'm fairly confident that the vast majority of functionality broken by updates have not in any way been related to security mitigations.
- sambeau 7y agoThat wasn't the point I was trying to make. I was trying to point out that ideally you could just leave the old API there for old software to use and build a new API for new software to use. If it wasn't for security bugs you could leave the old API untouched. Sadly, security issues prevent this and after a while it becomes uneconomical to supply even security fixes. This is why hardware that relies on software has an operational life shorter than the hardware itself has.
- arghwhat 7y agoAnd that is exactly my point: API changes are rarely—if ever—caused by security fixes, and thus are not the cause of breakage, despite you attributing the impossibility of stable APIs to it. A fixed piece of software can have a limited lifetime for only two reasons: Dependence on ephemeral infrastructure (e.g. cloud services that disappear or change), and assumptions that fail over time (e.g. "the device will never be used after 2020" + hardcoded calendar). Only the first can be caused by API changes, and the API changes are usually always caused by voluntary product rewrite and infrastructure deprecation, not by security issues. In other words, the problems spawn from entirely voluntary and technically unnecessary actions, and you cannot claim that is caused by some unavoidable law of nature, such proliferation of security issues.
- 7y ago
- drawkbox 7y agoIt isn't just stable APIs but part of that is consistency of signatures, methods and usage. APIs used to be cleaner and more atomic, today they seem like very leaky abstractions and breaking changes seem to be all the rage. Previously, breaking changes were seen as a serious thing as it meant the API signatures/functionality was missing and needed to be broken. Today, breaking changes is just part of the "move fast and break things" fad that developers don't even try to make a stable/consistent API anymore. Lots of the problems are that development/engineering is no longer in the hands of developers/engineering/product people or designers, it is pushed by project managers and bizdev/MBAs/marketing/finance which is backwards. Good products should be built, with lots of thought into long living APIs and limited breaking changes and maintenance, that is then marketed and sold because it is value, instead we get the exact opposite. Rarely does software today ever get to a stable phase before the platform is version two'd, and there is no time added for software quality or solid products, features and underlying systems are in constant harvest and replanting. Stable consistent APIs don't help lock-in and they don't sell books, conferences, or allow large companies more control. For larger companies to keep control they need to break standards, and regularly break their own platforms to keep people updating and invested, it sucks and is why software is so bad today.
- Crinus 7y ago> Stable consistent APIs don't help lock-in I do not think this is true, Windows has a lock-in on desktop explicitly because it has a stable API that allowed it to amass a huge library of software that keeps people relying on it to get that software working. For the largest majority of people, Windows' worth is its stable API (even if they do not realize it).
- drawkbox 7y agoTrue but in terms of development platforms for Microsoft, it is constant churn. When they have a monopoly or near monopoly like Microsoft does with the desktop and Windows, less need for churn to keep people on it but lack of competitors. Azure has gone through lots of churn because of heavy competition. Maybe competition, which is good, causes all this breaking software changes but change is good as well. Software change should just be a little more stable and developer/engineer/product/designer led not just the money/marketing/oversight pushed. Unfortunately standards get wrecked when platforms are going for lock-in and control, Microsoft/Google etc are all to blame for that. It isn't the engineers pushing for that mostly. Standards at least promote some level of stable APIs, but they don't lock-in and so big fish and sharks eat them up and break them.
- yitchelle 7y agoI guess the abyss gets really deep when the hardware that can support this old software is also out of support (aka dead and un-repairable).
- inetknght 7y agoIf it were a car you'd still be paying off the loan
- latchkey 7y agoI just tried to fastlane a new beta version of my flutter iOS app up to the app store today. It got rejected by Apple because I was using Xcode 11.2, which was released on Nov 1st. Apparently, on Nov 5th Apple released 11.2.1, but still haven't put it in the App Store. I didn't know about it. Ended up being a 7.3gb download and about 10 minutes to extract the .xip file on my 12 core 2.9ghz macbook pro. The struggle is real.
- ainiriand 7y agoAnd if you want to be featured in the app store of your vendor of choice you have to implement the features they like. Dark mode, landscape mode, the many pay solutions they want to spoon feed the users... The struggle is real.
- OrangeMango 7y agoThe last 3 Xcode updates have always failed to install for me. Of course it downloads the full 7-8 GB before failing. My only solution thus far is to delete Xcode and then the App Store sees it as an install instead of an upgrade, which works.
- chooseaname 7y agoWait, you can't put an app on the app store when your xcode version is not the absolute latest? Why do iOS devs put up with th... oh, right, Apple.
- machello13 7y agoNo, it's not true in general, but in this case Xcode 11.2 had a bug that would cause crashes in apps built with it. 11.2.1 fixes the issue.
- s9w 7y agoSoftware getting worse, just out of my head: - VS2019 removed at least two important features from VS2017 (export of profiler results and the concurrency profiler) - Firefox "new" extension API still means you can't remove the top tab bar from tree style tabs (best FF extension) without hacks - Current Dropbox versions are incredibly invasive. They popup when opening a word document. When pluggin in my Camera. And now started showing a glowing red "error" because I "only" have a Pro account and no business account (when using 0,4% of my storage). Also they still have no way of ignoring folders. - Malwarebytes Anti-Malware just jumped the shark two (?) years ago with its redesign. It was so good back then - Skype is being almost completely unusable. Still popular because of the name unfortunately - Imgur is a joke and became what it was literally founded to avoid - The new Reddit layout is borderline unusable. They will lose the rest of the core users when they disable the old. subdomain - Teamviewer. How is it possible that such an program is not backwards compatible between versions? Everytime I want to use it it's a dance to quickly delete/find/install a version that the other side has - I don't understand how the "modern" Windows start menu works they introduced in Win 8 I think. Luckily everyone I know uses classicshell - Phones have gotten almost to the point of being unusable. The latency, audio quality, skipping and hearing your own voice made me avoid phone conversations for years now. Even landlines are all digital and horribly compressed. Humanity had that one nailed in the 60s.
- Crinus 7y ago> I don't understand how the "modern" Windows start menu works they introduced in Win 8 I think. The current start menu was introduced in Windows 10 though even the initial 10 version was a bit different. Windows 8 had a "start screen" where there were only tiles (that are now at the side) and took the entire screen. Because the Windows 8 start screen and the initial Windows 10 start menu strongly deemphasized folders (submenus) everything was placed on the top level (in Windows 8 you'd see even subfolder icons on the top level). More recent versions of Windows 10 have the start menu show proper folders by default, but they use a tree-like "flow down" approach instead of an actual popup menu approach which makes navigating them harder. These two combined makes the start menu a mess with tons of toplevel entries for applications that you are not going to use often or at all and a UI that makes it hard to create proper categories. Nowadays we have more applications and programs than we ever had in the history of personal computing, yet the UIs for launchers are now being made as if we only have a handful of applications. This is true not only for Windows but also for launchers like those found in GNOME, elementaryOS, etc.
- neelkadia 7y agoReminds me Adobe CS4
- rgrau 7y agoThe two oldest pieces of software I currently use (Emacs and Postgres) manage changes pretty well and somehow, they now scale at a ratio of features, speed, and size that's pretty decent. They probably evolve slower than newer younger players because of their stability (and baggage). I'd be interested in knowing what they do right.
- buboard 7y ago> what they do right Everything! But most importanlty, the people who make them use them. There are so many bugs in skype nowadays that it's fair to assume its developers have switched to something else!
- donatj 7y agoI’ve been running Navicat 11 and 12 side by side for almost a year because of missing features and a wrecked UI, with the newer version supporting newer MariaDB features. I just received a new work laptop and the license for 11 refused to deactivate, so I can’t activate it on my new Laptop. Usually IT or whoever would contact support but with a couple buyouts under us it was licensed to a company that no longer exists. Trying to talk IT into getting me a new expensive license for an outdated piece of software I’m not even sure they’ll sell you so I can have a couple convenience features is out of the question. I’m very frustrated.
- BubRoss 7y agoI think a lot of developers don't realize that features and functionality are only a part of a program. Many times what a program like that accomplishes is somewhat trivial and the interface is the whole point. Redesigning an interface is basically redoing the most fundamental part of the program. The design is why people use it.
- buboard 7y agoThings i tried to keep using way longer than most: -windows 7 (upgraded only for widi support - and i miss them) - skype (i d never upgrade if i could) - photoshop standalone (still use it) - office 2007 ( still use it) - dropbox (no option there) - old reddit - iphone 6 - jquery (plan to avoid npm until it dies of natural causes) - windows movie maker / photos In fact it s getting harder to think of things that are clearly better. Not only are newer versions slower, they re lacking features that were working just fine. Something happened in the past 4 years and suddenly worse became cool again. There s def a worrying trend. My theory: the mobilification of everything is destroying tech. It's a self-fulfilling prophecy: make everything mobile-friendly so more people switch to mobile-only (why?). Second, mobile has terrible user feedback mechanisms. It's too burdensome to send feedback and the apps are so limited that there's physically no space for asking to add new features on the screen. That's why it's largely desktop apps that are affected - not server apps. (Ironically, table-based HN has the best responsive behavior for reading text on mobile than any "responsive" site).
- MrGilbert 7y ago> (Ironically, table-based HN has the best responsive behavior for reading text on mobile than any "responsive" site). Until you have a certain nesting depth of comments, then they get condensed pretty hard.
- buboard 7y agotilt your phone sideways. The thing i like about tables is you can zoom out and see the whole map of comments, instead of re-rendering a responsive site 10 times and losing my eye's cursor. That's a smarter way to use the zoom gesture
- oneeyedpigeon 7y agoOnly anecdotal, but I suspect you didn't keep using old.reddit.com longer than most (of the hold-outs that ever did).
- buboard 7y ago
- nickjj 7y ago2 Windows programs that I've been using for ~15 years have done a great job at avoiding the abyss. They would be IrfanView[0] (image viewer) and foobar2000[1] (mp3 player). Both programs are very minimal and have stayed true to their vision. Using them today feels similar to how it was 5 or even 10 years ago, but at the same time subtle improvements have been made too. Both are still under active development, so it's not a matter of them not being updated for years. [0]: https://www.irfanview.com/ https://www.irfanview.com/ [1]: https://www.foobar2000.org/ https://www.foobar2000.org/
- theandrewbailey 7y agoI never stopped using Winamp. I've been whippin that llama for over 20 years.
- Leace 7y agoI used them too and they're fantastic. I even bought a couple of licenses for IrfanView although I didn't need them. Too bad there's no Linux version.
- monocasa 7y agoRuns beautifully under WINE.
- yread 7y agoSame here. Plus Windows/Total Commander
- evolve2k 7y agoActually this would be cool as a real generatable graph. Who would you create this? I’m thinking with access to the git repo as well as the relevant package manager you could get pretty close. Good way to illustrate upgrade requirements to a product owner.
- excalibur 7y agoQuite happy to see xkcd on the front page. It gets a lot of grief around here, it's good to know that it's not universally despised. EDIT: Downvote me all you want. The fact remains that many here do not agree with you. Nyah nyah.
- skinnymuch 7y agoI’ve only seen xkcd referenced positively in comments randomly.
- organsnyder 7y agoWho despises xkcd?
- paleogizmo 7y agoLinks to XKCD cartoons frequently get posted in the comments. While they might be funny in the context of the conversation, they don't usually add any information, so I assume they get downvoted for that reason.