Question

I'm currently developing a WinForm application. In order to inform the client about the improvements and corrections made during the last version, I would like to manage and display a changelog.

I mostly found existing changelog on website (the term changelog is pretty used) or explanation on how to manage the release numbers, which I don't care.

So, these are my questions:

  1. How do I manage a changelog (using XML, pure text in the app, etc.) in a desktop application?
  2. How do I present it to the user (external website, inside the winform application)?
Was it helpful?

Solution

This is primarily a user interface question. Therefore: (1) You might want to check ux.stackexchange.com. (2) The correct answer to most, "What's the best UI?" questions is, "Do a test (such as a hallway usability test) and find out for yourself."

With that out of the way...

"Informing the client about the improvements and corrections made during the last version" can take a few different forms:

  1. "What's New", presented as end-user documentation (not programmer's perspective ocumentation) on things the user needs to know to help them better use the software.
  2. "What's New", presented as more of a marketing document, giving a list of reasons to upgrade or renew or whatever
  3. A changelog - a detailed list of every potentially user-visible change, commonly one change per line

It sounds like you're interested in a changelog, but don't neglect "What's New" documentation either.

How to manage your changelog? However you want to, really. Users won't care about the format, so do whatever format's easiest for you: auto-generated text from Git's short messages, XML, HTML, Markdown that you convert to HTML, whatever. I personally like HTML (or Markdown to HTML), because it's easy to work with and can be displayed by a variety of tools.

How to display it? Whatever presents a good UI and is easiest. I like a web browser, since the browser's UI probably gets a lot more attention than you can devote to your WinForms app, and if you host the changelog on your website and point customers to it, you can use analytics, fix typos, etc.

Whatever you do, keep in mind that, as David Platt writes, "Users don’t care about your program in and of itself." A detailed one-change-per-line changelog is likely of interest to very few users, and trying to get them to read one if all they want to do is fire up the app and get work done will likely do no good. A "What's New" guided tour or tip of the day, as long as it's not obnoxious and can be easily deferred until the customer wants to take the time to go through it, takes more work to implement but should produce better results.

Licensed under: CC-BY-SA with attribution
scroll top