I finally got around to purchasing a bike this weekend. Yay me! I had forgotten how fun it is to blast between lanes on gridlocked streets at 40kph. Whee! In other news, I'm in pretty bad shape these days, having not biked in a while. Need to work on that...
Not in the programming sense, but in the UI sense. IMO, notifications have become public enemy number one. There are way too many of them, and they're almost all for stuff I don't care about.
My music player just started a new song? You know what, I know that! I can bloody well hear it! No need to pop up a stupid, ugly yellow box in my face! My software update is complete? Who the fuck cares? Such-and-such program that I manually started needs to access the Internet, and you need me to click "yes"? Would I have started the stupid thing in the first place if I didn't want to use it?
No operating system is immune here: the above 3 examples came from Linux, Mac and Windows respectively.
The thing is, notifications are distracting to the user. If you're going to disrupt the user's train of thought and get in the way of what they're doing, it better be for a damn good reason. "Your battery is almost dead," for example. If I don't know that, my computer will die and that will be even more annoying than getting the notification. But if the notification does not help the user avoid something more annoying than the notification itself, it's not worth it.
BTW, Microsoft has an item about notifications in their new HIG. Though it recommends them for "non-critical" information; I strongly disagree with that. It does, however, say to use them "judiciously," whatever that means. As pphaneuf says, you can tell something is easy when it's done often, badly. Maybe vendors should make APIs that do annoying things like notifications exceptionally difficult to use :P
I became one of those people with a vanity domain recently. You can now reach me at firstname.lastname@example.org.