Hacker News new | comments | show | ask | jobs | submitlogin
Software Updates (xkcd.com)
180 points by levismaina 6 months ago | hide | past | web | 146 comments | favorite

Software 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.

You deserve an award for best "Get Off My Lawn" post of the day. Thank you.

Some of these are "power" vs "everyday" user optimizations. The one that jumps out to me is Skype. I had read some case studies of their redesign where they stated that 90%+ of Skype users only have two or three Skype contacts, and they use it to talk to their family members.

The redesign optimized for that and as a result you, I and everyone else with hundreds of contacts lost our collective minds.

I 100% get that it's worse for you (and me too) but I think it's important to look at what they were actually trying to do and it makes sense.

Why not make the software flexible enough that the user can conform it to their own needs?

Let me guess: too much trouble for a developer to implement and maintain.

Some other recent Skype features:

Calls not connecting despite both users being online

Calls dropping suddenly

Calls seeming to connect but neither user can see or hear the other

Video freezing for one user while fine for the other

User showing up as online when not

User showing up as not online when actually online

I wonder if their case studies showed these would cause users to flock to this "walking dead" app. But hey, a UX lead got to put "re-designed Skype" on their resume, and their logo animates differently while connecting, so they have that going for them.

Ok, that could be the reason but I'd had appreciated if they were honest to tell us, the people that (used to) use Skype for work "thank you, we don't want you anymore, go find some other tool."

Note that Skype has now split into "Skype for Business" (whic is it's own form of weirdness in Office 365) and then normal Skype which is for the family/individuals.

Isn't Skype for Business Microsoft's old own Lync rebranded as Skype? [1] [2] It's seems it is about to become Microsoft Teams.

[1] https://en.wikipedia.org/wiki/Skype_for_Business

[2] https://www.microsoft.com/en-us/microsoft-365/blog/2014/11/1...

> In the first half of 2015, the next version of Lync will become Skype for Business with a new client experience, new server release and updates to the service in Office 365

The TeamViewer thing will be deliberate, because they’ve sold a load of perpetual licenses for older versions so incompatibility is how they get more money out of you.

> 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.

I've given up trying to locate the program I need via the tiles. Now I hit the Windows key and start typing the application name I need. Making the interface worse has actually made things easier in many cases. Except when I end up launching a web search by mistake.

I do the same, because for some reason only microsoft knows those tiles display the latest news and try to get me to launch candy crush instead of helping me to launch programs.

So I only use the search feature which works ok most of the time. Some days ago I fixed the printer on my wife's laptop which involved a restart as usual. Right after the restart I typed "printer" in the search field and all I got was web -search. So right after a restart windows "forgets" that it has a native setting for configuring printers (and basicly everthing else).

Windows 7 had start menu search, only without the web bits, so its still worse.

That stopped working on my machine, I found a ton of articles on the web about it but none of the suggestions fixed it. In the end I did a reinstall.

Linux Desktop launchers are much, much worse I think, if only because .desktop files are among the stupidest things ever designed.

.desktop files are just the equivalent to Windows .lnk files, if anything they can contain additional metadata. The issue is the DEs that use them (and not all are of the same bad quality).

If anything i'd say that .desktop files are among the few things that Free Desktop got right (though i think that is largely because they're basically KDE1's .kdelnk or whatever they were called).

Like the old Moore's Law of "don't do anything, your software will run faster in 1 year time", we could nearly apply this to software itself "don't touch anything and, by comparison, in 1 year time it will be awesomer than it is now".

I commend microsoft for maintaining older versions far longer than most. All the replacement apps from the windows 7 -> win 10 upgrade have been slower. Luckily , i still have the old ones.

Your point on phones is the odd one out for me, my fairly new $20 Nokia/HMD phone has really good audio even when making international calls.

Maybe it's a regional thing. I'm German and things are often shittier versions here than anywhere else. I haven't had a phone conversation that felt like a latency under .5 seconds in 5+ years.

With fear of starting a fire here, are you using an Android phone?

I'm asking, because whenever I hear people complain about phone software that just breaks, it's almost always Android, and with good reason: They have to support a lot more phones than iOS, and Android is a lot more open.

So I just wanted to air the idea that you could try with an iPhone. iOS may lack some of the feature Android users are used to, but in my experience, it's just more stable, and I don't at all share the sentiment that "phones are unusable" or that the audio quality is bad or anything of the kind. If there's one device I can always count on working, it's my phone.

In android, radio stack is chipset specific and the OS interacts with it via RIL, provided by chipset vendor. It has nothing to do with "has to support a lot more phones than iOS"; in both systems the OS does not touch the audio streams, just routes them from/to input/output.

I think you jumbled up the two paragraphs. Nowhere did I suggest that poor audio quality was because Android has to support more hardware.

It depends on operator, BTS etc. and which codec it would negotiate with phone.

Recently I noticed that in specific location 3G UMTS call quality is much worse than 2G GSM...

(and there is that weird VoLTE, but it apparently requires specifically supported phone by operator with branded firmware..why!?)

I've switched to using Signal for voice calls as much as possible. Signal voice quality is very consistently excellent.

Unfortunately it does not help you if you want to use the regular dialer to access the telco voice networks and/or nobody you know has the app.

I have made calls between France and the UK and not noticed a problem.

I have the most trouble with phones while driving. I have a cheap little Bluetooth adapter for audio, but when it's connected and I receive a call it insists on handling that too, which proves difficult. Occasionally my wife and I will end up on a phone call where both ends are coming through the car speakers, having a conversation that way is pretty much impossible.

Yeah, audio quality has made huge improvements, especially when you're lucky enough to have a wideband connection (which is still limited almost exclusively to calls within a single provider, in my experience). But cell phones did cause us to accept dropped calls, garbled audio, and other issues that we would have never tolerated in a traditional POTS system.

- windows 10 has no built-in media player that can handle a DVD.

- Android Studio... don't get me started.

> windows 10 has no built-in media player that can handle a DVD

It was something like ~$15-$25 per copy in licensing fees that they could save. Moving that to a Store purchase was purely a financial move to save Windows costs. For everyone complaining about the Candy Crush installer shortcut, imagine how many ads there'd be if they still included DVD playing out of the box, even though hardly no one was using it.

Android studio feels like a skyscraper put together with glue and duct tape

A year ago I had bluetooth headphones that would call out mileage stats during my run; pausing my audiobook in the progress. I recently replaced the headphones with a newer model b/c battery life degraded on the old pair; and also recently upgraded to android 10 on my phone. But now instead of getting a full report of distance, pace, and time, I get distance followed by 5 seconds of silence. Not sure if it is the headphones, Android 10, audiobook app or workout app, but yeah, it does totally seem like software just gets worse over time.

I will say this until it changes, but it is because 1) devs care only about developer productivity and 2) shareholders are the new customer. Nobody is focusing on the real customer.

What would be nice is if software were distributed in such a way that you could always pick up the security fixes, performance improvements, and other good stuff, and skip the UI re-designs, killed features, chat functions, and other awful stuff that always seem to come with updates.

Lots of software used to do maintenance releases but sadly this practice seems to have gone out of fashion. Software upgrades are almost always now "take it all or leave it".

And like that, millions of hours of productivity were lost.

I've never gotten these "TVTropes rabbithole" memes. I've visited the site plenty, it's tickled my curiousity from time to time, but it's never really gotten me to spend hours on it. Wikipedia or HN have a much greater chance of doing that that TVTropes, for me.

Offtopic but your name reminded me to your comment from a few weeks ago https://news.ycombinator.com/item?id=21008817

What's that app? I mean which one exactly? I have some OS/2 copies in VM

System Element software is for bringing up IBM mainframes. I rescued a Multiprise 3000 from a scrap dealer. It works, but I don't have any of the software to bring it up. Some folks are helping me piece together enough bits and pieces to, hopefully, act as a system element so I can stop trying to figure out how to get it up and running and start wondering what to do with a working 20 year old mainframe.

Assuming most use windows 10 by now not win 8 so everything relevant for the start menu is back. Tiles can all be removed (I don't like them) The top 10 most used programs should be pinned to the taskbar. WIN+1,2,3,...0 will start them/lay the focus on them Everything else I start with WIN+"type some letters of the name" Right click on the windows "start"-logo brings up shortcuts to jump basically everywhere in the windows settings for example "event viewer" or "device manager".

Note that WIN+search orders results by hits so if you use it for a while it gets better. Also if you don't use file search you should turn it off as this makes search faster for starting programs.

Great list. Also twitter employs around four thousand people but throttles mobile users. They use multiple megabytes to deliver 288 characters.

Two things - pi hole or something like it is a godsend. It makes many sites filled to brim with nonsense become usable.

For phones, one plus seems to have done well with using fast CPUs and cutting down on bloat at the same time.

> Current Dropbox versions are incredibly invasive.

OT, but does anyone know if there is an API-shim for dropbox integrations? I use YNAB classic and that’s the only reason I have dropbox and it is utterly horrible.

edit: I just deleted dropbox. I’ll sync YNAB manually instead. Dropbox behaves like malware.

I don't know if it would help, but I use Mountain Duck ($) to map cloud storage as a network drive.

Would be fine with payware, but sadly that is not how ynab sync is done :/ I have nextcloud and tried syncing the YNAB files directly, but that just breaks tons of things.

I've used odrive since it launched, and have never installed any native sync tools since. It's exactly what I want cloud sync to be.

Doesn’t YNAB have its own sync?

No, classic has only dropbox as an option and uses some kind of Dropbox api to manage it :/

I guess what we see is in part due to the transition towards more and more ”highlevel”. Now don’t get me wrong here, ”high level” in general is supposed to make life easier for developers, more rapid development and for corporate a better ROI. The downside is that it requires less understanding of the underlaying foundations (it hides it on purpose) from the developers/engineers.

Now I’m not saying that ”high level engineers” are less engineers than others, but it’s not surprising that we’re moving in the direction we’re moving. It’s by design.

(Now this doesn’t explain everything, far from it, but IMO it’s why we see an image writer weighting in on 300MB compared to a C/C++ version at <1MB)

That would put form over function , and would be dangerous. There is no reason to go "high level" just to convenience the engineers (except perhaps being able to hire cheaper, less qualified ones). The tradeoffs can be dangerous. Imagine this kind of fragility being installed in robocars.

> - The new Reddit layout is borderline unusable. They will lose the rest of the core users when they disable the old. subdomain

While I agree with you here, there is also a point that it might attract new and younger users with its more 'modern' look.

Personally I like sites like HN or the old style wikipedia for its information density and out of the way design. But that might just be the age talking here. People that grow up now that mostly scroll by touching the screen with their fingers have other requirements and ideas about good UI.

I doubt age has anything to do with it (unless you imply younger people prefer shitty interfaces) since Reddit's new site is awful even on mobile. I always switch to i.reddit.com not only because it is much faster, but also because the new layout just unusable with somehow combining both oversized (even for mobile standards) elements and tiny elements all over the place, needing a ton of taps to just read comments (which means you'll often mistap something and the slow loading takes ages), popups getting in the way, etc.

It plainly sucks.

At least unlike other sites, they have the decency to leave the old UIs around, so not everything is bad.

When a pocket supercomputer takes 10 seconds to display a list of comments in your website (and your previous version did it in 0.5s), it's time to stop and reflect how it went so wrong.

I have yet to come across a normal friend who doesn’t think HN is a super ugly site which essentially means if they had interest in the site, they prob wouldn’t use it.

All the HN comments here about Reddit are talking about how they feel and their bubble feels. Which I personally agree with. But I’m not representative of every day user.

There is no such thing as "every day user" though, every user is different and if anything a major source of those UX issues people have is "designers" who come up with imaginary "every day users" (usually to justify their own preferences) instead of performing actual usability tests on real users (and accepting when their ideas are bad or wrong) or just sticking with things that we already know that works and perhaps tweaking them (but again accept when they screw up and users say so and revert their changes instead of doubling down on them).

How about users who don’t know too much or don’t look too into the internet, web dev, or web design. And don’t read up on tech (not gadget) news specifically.

That keeps my point in tact and covers the vast majority of the population

If anything, ADHD-ed kids will find the older interface snappier. The newer interface is literally for dummies who don't even know how to use reddit-markup. Kids don't care about this stuff

I felt puzzled by Reddit's redesign until I started using the mobile app. Then as I was just scrolling and scrolling infinitely, just seeing what it would offer me next -- THAT is when I think I understood what the new Reddit interface was likely optimizing for.

To be honest, I actually don't mind that so much. The thing that annoys me about Reddit is the whole ads-that-look-like-posts thing.

Surely everyone likes a fast interface though.

> Imgur is a joke and became what it was literally founded to avoid

It literally fails utterly at the singular thing it is supposed to do. Makes me feel less bad about my own managerial driven development.

What does it fail at?

> 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.

Have you tried Nextcloud? It is not invasive and is able to ignore folders. There are paid providers available though I have never tried them, I host my own instance.

Newer Dropbox features like smart sync are pretty cool and useful though.

They give you more free disk space with little extra UI.

This has happened to me with Firefox. Thankfully there is Waterfox.

Recently this came up in discussion with a software developer who was overly concerned with openssl certificate minutiae. I advised the only durable solution for his concerns is a method to change the entire implementation, not only the certs.

I’m slowly moving away from graphical applications and towards FOSS software. It’s a giant pain but once done, it’s done until I want to mess with it again.

Eventually I may get to the point where my whole operating system has a lock file. That would be nice.

> I’m slowly moving away from graphical applications and towards FOSS software.

That's a weird statement. You can move from graphical apps towards text-based ones, or from proprietary software to FOSS, or even from graphical, proprietary apps to text-based, FOSS ones, but the combination you gave mixes up two mainly unrelated factors.

- Skype, everything

- Vizio Smartcast. I bought it as a simple display plus Chromecast. Later, updates turned in into a household ad billboard every time I turn it on.

The "Photos" app in Windows. Thankfully the old Windows Image Viewer is still there, just need a registry hack to enable it back.

Things 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).

> Ironically, table-based HN has the best responsive behavior for reading text on mobile than any "responsive" site

No it doesn't, HN literally sucks on mobile. From the top of my head:

- On the front page I always click the stories title when I want to click on the "xxx comments" link

- When reading comments, it's impossible to use the tiny [-] buttons to collapse threads

- "code" blocks are still broken

The first two are some of the best things about browsing the site on a BlackBerry with Firefox and Vimium: clicking links are only a keyboard shortcut away.

Same goes for sites that don't scale nicely and have interfaces designed for desktop. "Clicking" links is always easy.

i agree about the typography but that wouldn't be fixed if the site was responsive

- Paint Shop Pro 7 (the last good version and one of the easiest and snappiest image editors IMO)

> - old reddit

I use this extension and it's super useful: https://addons.mozilla.org/en-US/firefox/addon/old-reddit-re...

The new site is way way slower to load, which i can notice immediately if i open it on a browser that doesn't have the extension installed :/

If you have an a/c, you can just opt out from using new under https://www.reddit.com/prefs/

Does anyone like the new site? Why don't they just revert already?

Would you revert after such a momentous change? I think they're waiting for something exceptional to happen (e.g. another acquisition) so that the reversal is buried under more important news.

This requires you to be logged in all the time though. Some people like to avoid that.

> (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.

tilt 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

>- office 2007

Mon dieu. What witchcraft have you invoked to keep that working for so long? Surely not on the same computer for all these years? I feel like MS Office was total garbage until they hit v2013.

Hmm , i just checked my version,yes it's 2007. I use it often and even share version-tracked documents with others back and forth for years. Mendeley works, everything else works. Why change ?

I am still using old.reddit.com Works very well with my RSS reader.

Only anecdotal, but I suspect you didn't keep using old.reddit.com longer than most (of the hold-outs that ever did).

true. and only a few months ago, reddit was trying to force us to the new system by conveniently "forgetting" our saved setting

OK, this is embarrassing (†) but I didn't even realise there was an option other than manually editing the url to "old." :-| Your comment has probably done more for my productivity today than anything else that will happen — thanks!

(†) I'd like to put it down to only having tried it during that period of time you're referring to, so I will :)

I enjoy manually putting the old in Reddit url. It’s rare for me to need Reddit for actual productive needs and when I do, it’s usually going to a shorter thread of comments where I’m fine using the bad new interface in a pinch.

There is a firefox extension that automatically redirects all reddit urls to old-dot

2 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/

[1]: https://www.foobar2000.org/

I never stopped using Winamp. I've been whippin that llama for over 20 years.

So have I. And if anyone would write a plugin for it so that I could play Youtube Music through it (not sure if the API even allows that), I'd pay for that.

whipping the llama's ass* - "whipping the llama" sounds like non-sequitur innuendo (:

I 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.

Runs beautifully under WINE.

Same here. Plus Windows/Total Commander

I 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.

Wait, 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.

No, 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.

The 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.

And 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.

The 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.

> 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!

I’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.

I 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.

I 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).

If it were a car you'd still be paying off the loan

Ultimately, 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.

It 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.

> 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).

True 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.

I find it curious that you left Apple out.

Apple does similar.

However Apple is greatly responsible for HTML5 and browsers today, as well as the handheld gaming revolution on mobile.

Webkit, Canvas, SVG, OpenGL ES + WebGL (through Khronos sponsorship) and more were open sourced or pushed by Apple.

Chrome/Safari basically every browser that is good came from Webkit and Apple opening that up. Granted that originally game from KHTML and KJS libraries from KDE but it exploded with Apple support.

I left them out because they still have some grace left.

Google and Microsoft squash standards and Microsoft is famous for "embrace, extend, extinguish" which Google now employs.

Microsoft has been better recently but only because they lost developers during the Ballmer era and they have a desktop monopoly and their new OS is cloud where they are competitive with Azure so they are pushing standards more and cross platform to win back developers.

Google is entering their Ballmer era currently.

Apple doesn't have the power for that yet with developers, though they are not engineer/open focused typically and especially now in the COO era and have their own Ballmer vibe currently, but they are still riding on some fuel from Webkit, Canvas, SVG, HTML5, OpenGL ES + WebGL support which really helped handheld gaming and web gaming.

ABI 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.

> 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.


I 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?

> 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.

What 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.

> 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.

Uh, I dare say Windows hardware + driver compatibility is pretty damn good, so this doesn't really resonate with me... at all. Has not being able to install Windows XP on a modern machine left you bitter...? Or have I been living in a bubble?

> 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.

You probably know this, but that's most definitely not true. After they get their code correctly licensed, they still have to get the code up to the standards of the mainline kernel, get it through reviews, plus at least act like they intend to maintain it. Probably actually do that too, if you want any future changes to go in.

> All they have to do is send the code licensed under GPLv2 and it will be updated and maintained.

That seems like a dubious assertion. I've heard several cases of driver regressions in new kernel versions, and because of the model that means you can't just use the older one.

True. I had the system call interface in mind when I made the post. I should've been more clear.

Even 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.

I'm fairly confident that the vast majority of functionality broken by updates have not in any way been related to security mitigations.

I remember Microsoft around 2001 fixing a security issue in Windows Media Player. This security issue was combined with a feature which added DRM support to Windows Media Player. I'm still puzzled by decisions like these, and why they are even legal to begin with.

That 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.

And 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.

I was not trying say that security fixes cause breakages. I was trying to suggest that security fixes cost money and therefore old APIs would get withdrawn for monetary reasons (if they weren't simply replaced by something new and shiny which is the usual reason).

If old APIs required no maintenance it would be fairly simple to leave them around.

However, APIs are built on an ever deeper stack of APIs that go all the way back to the Operating system and through internet protocols (APIs) right across the internet. Each API gets updates and fixes and things get deprecated. Bit-rot sets in and things stop working.

My original comment was suggesting that if everyone just left their old APIs around forever then the world would be filled with unpatched APIs with security flaws and I was not sure that would be a better place to be than the world of bit-rot that we have now.

Many 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.

...and cause applications using them to stop working.

What's more important here? Nebulous security threats or software that actually works?

Software 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).

> "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.

And 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.

Actually 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.

Reminds me Adobe CS4

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact