4 ms·
Except it means unbounded growth in complexity, which inevitably leads to, among other things, - More bugs - More vulnerabilities - Increasing cost of suppor
by _bxg1 7y ago
Except it means unbounded growth in complexity, which inevitably leads to, among other things,
- More bugs
- More vulnerabilities
- Increasing cost of support
Which absolutely impact the customer experience, just not in the short-term. A little bit of short-term friction averts long-term intractability.
- deleted 7y ago[deleted]
- ori_b 7y agoYou forgot lower performance.
- _bxg1 7y ago"among other things" :P
- CharlesColeman 7y agoThat's true: those things do negatively affect customer experience. However they don't affect customer experience as negatively as the experience of having their software break. To put this in another context: newer building codes may result in better and safer homes, but it'd be extremely user hostile to force homeowners proactively upgrade their homes to compliance each time a new version is released (at the threat of having their home condemned if they do not). The sensible compromise, in buildings and software, is to allow things to be upgraded over time, as they're modified.
- boring_twenties 7y ago> However they don't affect customer experience as negatively as the experience of having their software break. They affect it far worse, because they affect _every_ user. Having unmaintained/outdated software break only affects the subset of users that want to use that particular software.
- yjftsjthsd-h 7y agoYou know the saying about how no Excel user uses more than 10% of its features? But everyone uses a different 10%, so ~100% matters? I defy you to find me a business, or probably even a human, more than 2 years old (using computers for more than 2 years) and not using any "legacy" applications. We maintain compatibility for everyone, because everyone uses it.
- boring_twenties 7y agoWho is using these legacy applications and for what? 99% of people use a web browser only these days. As for myself, the closest thing I can think of some in-house legacy crap but even that was 10 years ago. The majority of businesses and humans don't have any of this. What kind of circles do you run in where people are routinely using legacy software?
- colatkinson 7y agoIf you've walked into a bank, hospital, or anywhere using a PoS system, you've interacted with legacy software--in some cases, literally jury-rigged DOS software. Outside of trendy dev circles, legacy software is the name of the game.
- boring_twenties 7y agoOK, banks, hospitals. You forgot SCADA systems. How on earth do you leap from these to not only all business, but all humans?
- chungus_khan 7y agoNearly all retail and food service businesses in the west operate POS systems. Very few of those run anything more than Windows XP, and a huge number run DOS or OS/2.
- 7y ago
- thayne 7y agoFrom the OP: > declining concern for the future in comparison to the present Breaking backwards compatibility has a larger negative impact in the _present_ than the cruft of old APIs and code. But that impact is temporary. However, the negative impacts of cruft can have a larger impact _in total_ over the entire lifetime of the operating system.
- markjdb 7y agoExcept it may or may not be a only little bit of friction, depending on the breakage, and it is not short-term if it happens regularly.
- mike_hock 7y ago> A little bit of short-term friction averts long-term intractability. It's not a bit of short-term friction, it's constant friction. As long as development is continuing, there's always something about the API that can be improved and would really pay off if only that was actually its final state and not just the next step until we find a good reason to break it again.
- JeremyNT 7y agoRight - maintaining backwards compatibility is deciding to take on additional technical debt. I think the implicit calculation here is that if you push a release that breaks the user's workflow, they can point to a specific point in time where things became frustrating and there will be a PR hit at that moment in time. If instead you maintain compatibility, the small costs of all the technical debt accrue over time to make the experience worse than it might otherwise be, but users may not even notice or have a conception of what they may be missing for having stayed on this path. They ultimately may end up with a worse product / UX, but they have no specific reason to complain about it.