Live data from Hacker News

Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)

raymii.org

51–60 of 127 posts

Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)

#51
post #5

The reason these bigger apps just put "Bugfixes" and "Performance Improvements" in their changelog is because when you have many teams contributing to the software not only through actual code editing but also feature flagging what features go out on what release, rollback policies etc this becomes a nightmare to fill in. Doubly so when different users are receiving different experiences. The article says at the end:…

Which is a good indication that the organization actually has no idea what the heck is going into the update.

Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)

#52

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

Look at SBCL's changelogs, I like those. I definitely would like that over "there are less bugs and it is faster".

Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)

#53
post #22

Earlier quoted context omitted.

I prefer the detail. You could always make the first line: “bug fixes and performance improvements” with details following. Then people who don’t care can ignore the details, but people who do care can get an understanding of what the change is about. Deep understanding of a change is really helpful when looking through history or trying to make sense of why this particular line was changed, etc.

This is about app store changelogs, not commit messages

So it is more important than ever because there are no commit messages you could go through, right?

Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)

#54
One of the reasons larger apps post unhelpful changelogs like these is because they probably run a feature flag/experimentation system. It is a backend driven system that allows app developers to remotely switch on and off features and code changes. This is really useful when rolling out updated features, you can roll it out gradually, eg 1%, 5%, 10%, 100%. Roll out a new feature 1% and notice its crashing for a subset of those users? Roll back the flag so users see the old UI and fix the problem for next release. It’s better than updating a feature for all and having it crash for everyone (yes, even with testing sometimes bugs sneak through, especially when you have millions of users).

It also allows app developers to bucket users in groups and A/B test experiments on users to see what works best. It would not be uncommon for the larger players (Microsoft, Google, Facebook, Pinterest, Uber, Spotify, etc) to have 100s or 1000s of experiments running concurrently. It also decouples rolling out features from App Store releases.

Having said that, I also hate generic changelog messages and not defending the practice. If new features are to be launched with the build, write it in the changelog and add "(rolling out)" or "(coming soon)" next to it.

Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)

#55
post #46
post #22

Earlier quoted context omitted.

This is about app store changelogs, not commit messages

I have never understood "it's an app store" precludes an expander or link to details.

Two reasons:

+ Customers will often have no understanding of what you're saying, but still click the link and give low reviews for it's content.

+ More stuff the the app store review team to refuse publishing an update for.

Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)

#56
As a tech person, I don't care.

Most general users of apps on phones wouldn't give an absolute crap if you "fixed a buffer overrun in the X function", because that means nothing to them. If they read that you've made performance improvements, then great they can continue to play Candy Crush but not have it crash so often. They won't CARE that you "optimised the use of the strcopy function" or some crap like that.

Remember the app stores are targeted towards consumer users of phones, not tech people that live on Hacker News websites.

Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)

#57
I just looked at WhatsApp (one of his examples) and it has a detailed "what's new" in both the Apple and Android app stores that's listing three high level features.

Sounds like the screen shot he took in September really was a bugfixes and performance release.

So it sounds like these apps (at least, WhatsApp) follow a wise policy - tell the users what has changed that matters and don't drown them in irrelevant information.

I had the same policy for my teams - tell users 4-5 new features/changes to workflow they are going to see and for g-d's sakes, do not drown that out by listing 400 irrelevant infrastructural changes we happen to be pushing out.

Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)

#59
For early-stage startups, writing changelogs is also a great way to close the feedback loop with their user-base. We write detailed release notes at Raycast [1] to highlight feedback that we addressed. This way our users see that we care about their feedback and feature requests.

[1] https://raycast.com/changelog

Re: Lets talk about changelogs (how I loathe 'bugfixes and performance improvements)

#60

The 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 wrote to something like:

"Fixed out-of-memory errors on some 32-bit systems"

"Improved startup time for configurations with lots of items"

This makes it easy to gauge if this update is important to get installed ASAP, such as fixing something they've experienced or are likely to experience.

Grouping "several UI fixes" or "performance improvements" is usually fine, but I tend to call out something like "fixed UI bug where a network error could result in changes not being saved with no warning" or an issue that a sizable chunk of users had reported.

Doing this well takes time, though, as you have to synthesize the internal ticket summaries, PRs and/or commit messages and reword almost everything. This is understandable for open source or free/indie apps, but for subscription/"enterprise" software it's definitely one of the differences between "great" and merely acceptable (or worse).

Post reply on HN