This serves as an uncomplete and highly subjective list of things that should not happen in conjunction with software of any kind. Or, in other words: A guide to non-sucking (as in comfortable) software. And, well- the list is unordered to.
Entering Serial Numbers and or activation codes submitted by eMail or by any means electronically (should read: not written on paper) seems a good idea. But, please, allow me to copy and paste theese into the installer / activation form! Having to switch between or rearrange two windows to typewrite the code is so, erm, 80ies. This is exspecially important for keys containing dashes - either ignore them when beeing copied into the form, or don't submit them in the first place!
Automatically connecting to the internet to perform update-checks on application startup might be neccessary to keep the software up to date. But, please, inform the user of what's going on! Or at least ensure the program is connecting to any type of humam readable DNS name, like softwareupdate.yourcompany.tld. Something like "Application X/Y wants to connect to random-IP-address-in-IPV6" doesn't look good in the firewall's logs. Ah, by the way, it might be wise to register for correct reverse DNS lookup, too. Otherwise - how should I destinguish this search for updates from ET-App's Phone-Home attempt?
Polls after deinstalling an application are something very similar to the above problem. There are numerous reasons why I might uninstall a certain application, but, cm'on - you could atleast ask me if I'd like to take part in such a poll, bevore you open the webbrowser! Depending on the System, the internet connection or other software or webpages currently open this might be totally unacceptable. And, by the way, nobody knows what's submitted within the 500 characters long encoded GET-request anyway!
Error messages that read something like "Unexcepted Error", "Unknown Error" or even nothing at all, like the specimen here, are useless. Normally programmers have to deliberately write atleast one line of code to display such a message, so there's no "Unexpected Error" at all. There might be an unknown error - but this is not interesting for the user. So, please, spend some thime in designing meaninfull errormessages, messages that tell me something about the module, what was supposed to be done and give suggestions. This might be a task to perform for operation system manufaturers, too: create an API to show errormessages with a "tell me more"-button attached to it, leeding to whatever information there might exist on the error.
To be continued. And, by the way - this is ME commenting on YOU, so: comments disabled. Buha.