This is an important piece on a whole bunch of levels, everything from the very micro Notifications are actually one of the hardest problems in software, to the very macro Just because a developer calls a feature complete, doesn’t make it usable
On the notifications front, I personally worked, first as a Support Tech, then a developer on a product where notifications were basically the key feature. It was an all-in-one monitoring application that did network and systems monitoring from a central server.
As a support engineer, one of the most frequent questions was: “Why was I not notified of this?” In our product it usually came down to one of two things, either “You were notified, I can see the notification was triggered and sent to your email, but you didn’t see/ignored it” or, “Because you inadvertently configured the notification to suppress the notification”.
The developers realized that notifications were key to the product, and made it so configurable that I once described the notification system as “The notification systems prior to version x were insanely complex and byzantine, then in version x+1 they made them far worse”
As a sysadmin at another job I spent what seemed like half my working life tweaking the Icinga2 notifications, both to notify me when there was a problem, and not notify me when intermittent problems were solved before I could get to action them. For example. You expect a CPU to spike when kicking off multiple builds on the build server. You don’t want to get notified everytime the CPU goes to 100%. You do want to get notified when the build server spends over an hour with cpu at 100%.
As to the very macro point: I work on the Terminator terminal emulator, and there was a feature that took me so long to figure out the very mechanics of how to implement it (it took about 6 months), so that when it came down to wiring up the interface, I did a terrible job that the first person to try and use it, couldn’t, for various reasons. I suffered a really bad case of what pilots call “Get-there-itis” and messed up the really easy parts. And this was on an Open Source project that I don’t get paid for.
Totally agree about the Pandora’s Box that is Notifications.
A good way to phrase it would be “Oh, you sent a message from Thing 1 to Thing 2? Enjoy your new distributed system! 😢”