I'm very passionate about this idea for open source software, especially things like ruby gems or npm packages that I might use as a dependency, but for some reason I can't muster the indignation to care about this for apps. Maybe it's because I care primarily that the app works and the latest version is stable. I'm generally not going in and considering upgrades to apps strategically, and even if I did I have no ability to see the previous changelogs let alone install those versions. If for some reason I want to avoid an upgrade now I'm living on borrowed time and need to start thinking about a replacement or carefully curate my backups so as not to lose access. Sure in a perfect world it would be nice to have perfect changelogs, but it's so far down the list of things I want out my apps that I place zero value on it.
Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)
101–110 of 127 posts
Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)
#102Earlier quoted context omitted.
There’s also a mitigating liability aspect to this. If you start providing minutiae detail, you may start revealing pretty big faults that have escaped to prod. People question the safety of your product and now you’re open to lawsuit or at least micromanaged by some unforgiving end-customers. To cope, you start to not fix certain problems so you won’t have to report the bugs or you start lying what the bugs were. I’…
Are there ever successful software product quality liability lawsuits?
Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)
#103The problem is often the "bugfixes and performance improvements" are a list of 60 things, and for almost all users "there are less crashes and it is faster" is all they would want to know. How many users want to read (OK, possibly people here) "On some versions of glibc, the 32-bit specialisation of memcpy which used SSE2 instructions had a bug when the memory being copied crossed the 2GB boundary, so in that case we…
There’s also a mitigating liability aspect to this. If you start providing minutiae detail, you may start revealing pretty big faults that have escaped to prod. People question the safety of your product and now you’re open to lawsuit or at least micromanaged by some unforgiving end-customers. To cope, you start to not fix certain problems so you won’t have to report the bugs or you start lying what the bugs were. I’…
With good automated testing, a bug recurring should be extremely rare. A piece of the software that constantly has bugs is a sign there's high technical debt that needs to be addressed. New features consistently not working could be a sign of a problem in the team/org itself (not the right people, enough people, or enough time allocated).
Even with all the best practices, big faults will make it through sometimes -- that's just the nature of most software dev. I think the best way to handle them is be transparent, but also be specific. "Fix bug where entire database can be corrupted" will cause you a lot of grief (rightfully so). Something like "Fix critical data corruption bug when saving a record containing specific trailing unicode characters on systems with libzip 1.3.3 or earlier installed" is much better and helps reinforce that:
1. You have thoroughly investigated the problem
2. The scope of problem is limited, and doesn't affect all customers (even though it could be most)
3. It's understandable how such a bad bug could happen and why testing didn't catch it
Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)
#104The problem is often the "bugfixes and performance improvements" are a list of 60 things, and for almost all users "there are less crashes and it is faster" is all they would want to know. How many users want to read (OK, possibly people here) "On some versions of glibc, the 32-bit specialisation of memcpy which used SSE2 instructions had a bug when the memory being copied crossed the 2GB boundary, so in that case we…
I think the key is describing the user-facing effects and impact. This means knowing your users (are they developers, IT or highly technical? Do they automatically or manually update quickly, or do they take time to evaluate before rolling out updates?). It's a way to convey continuing value to users and convince them it's worthwhile to keep paying, and get motivated to get the update. I'd try to change what you wrot…
Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)
#105If you miss an update, you'll miss the intervening changelog. There's no ability to provide multiple changelog entries in the app store.
Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)
#106The problem is often the "bugfixes and performance improvements" are a list of 60 things, and for almost all users "there are less crashes and it is faster" is all they would want to know. How many users want to read (OK, possibly people here) "On some versions of glibc, the 32-bit specialisation of memcpy which used SSE2 instructions had a bug when the memory being copied crossed the 2GB boundary, so in that case we…
I think the key is describing the user-facing effects and impact. This means knowing your users (are they developers, IT or highly technical? Do they automatically or manually update quickly, or do they take time to evaluate before rolling out updates?). It's a way to convey continuing value to users and convince them it's worthwhile to keep paying, and get motivated to get the update. I'd try to change what you wrot…
I'm used to seeing from well managed projects a paragraph saying that there's new feature A and bugfixes and performance improvements.
And then a detailed change log with big feature A, smaller features B & C, and 10 bug fixes described. Maybe 2-3 performance improvements that are expected to only -really- help with degenerate cases.
And then, there's a dozen things that aren't considered important enough to be in this list.
Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)
#107Earlier quoted context omitted.
If you're shipping a mobile app with client side code (so, nearly all of them), there is no good rollout process. You can't ship a quick update with Apple, because review isn't quick. Users who upgraded soon after release will be stuck with something broken until the new version is available. You can usually ship quickly with Google, but users are slow to upgrade, but may have caught your first one, and not get your…
I'm talking about feature flag based rollouts, which don't involve going through Apple or Google.
Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)
#108Earlier quoted context omitted.
Sure, but most people accept that flaws are inevitable. It's not practical (or profitable) for most industries to produce totally flaw-free software. If you can't stop the flaws, the next best option is to shield yourself from those flaws harming your financial well being.
Having a changelog does not make you more open to lawsuits.
Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)
#109For reference: https://docs.usertrack.net/changelog#usertrack-3-3-1-11-dece...
Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)
#110Earlier quoted context omitted.
I think the key is describing the user-facing effects and impact. This means knowing your users (are they developers, IT or highly technical? Do they automatically or manually update quickly, or do they take time to evaluate before rolling out updates?). It's a way to convey continuing value to users and convince them it's worthwhile to keep paying, and get motivated to get the update. I'd try to change what you wrot…
> Doing this well takes time For us, not that much time, as everything goes through the bug tracker (even enhancements) so it's mostly a copy-pasta job. When I submit a fix for a bug, I'll often edit the subject to accurately reflect what the problem actually turned out to be.