does anyone have any ideas for a gui/workflow that would allow people to decide how to be handle the idea of having multiple releases of a program corresponding to stable/beta versions? how to present the info to user? how to let user say which they want to be notified about, etc.
I think a simple checkbox in the options would be enough to allow the user to decide if they want to keep track of beta releases. Something like:
 Let me know about beta releases. NOTE: These might be unstable and buggy.
Or it might be a good idea to allow the user to select individually (per program) whether or not to check for betas. In that case you'd need to ask somewhere else and store the choice somewhere so that it is remembered between updates That is, the .dcupdate file won't be a good place to store whether or not betas should be checked because each time you update the app it will replace the .dcupdate file.
And then perhaps the .dcupdate file will contain info about where to find betas and the server.xml file will have an xml tag to indicate stable or not. Though it would probably be better to default to stable (omitting the tag means it is stable) and only require extra stuff for betas.
Is this the kind of information you're asking about?