This is a response to this blog post.
I'm in agreement with my friend David - it is most annoying when I launch a program and it immediately notifies me that a new version is available. It is even more annoying when a program does so on the UI thread, thus causing the application to hang until it has determined if there is an update.
However, I have an alternative suggestion for a solution approach: create Software Updates service protocol. The approach would be similar to RSS or the Web Service protocols; it would start out as a basic definition of Operation and Data contracts based on XSD and WSDL. Over time people could add extensions to improve it's capability. You would have support for discovering update servers and enumerating available updates. You could also potential give simple automatic update functionality to XCOPY deployed applications - as long as you could discover a service that provided you with metadata specifying the location of the latest binaries. Eventually, popularity would drive major software vendors to include support for this protocol, and libraries for various development platforms would be written to make this simpler.
Anyone want to take on this challenge?