Sparkle 2.0: Branching
I quite like the idea of using posets for versioning, but I'm not sure how to present branch selection in the user interface.
Would it be reasonable to have a "branch" column in the applications tab of the preferences pane? That column could have a popup button that contains all previous branch names in the appcast. The issue would then be that if you picked a "beta" branch, you wouldn't also receive updates to the "stable" branch. Which is, I think, expected behavior. The user is just saying that he wants to be on the bleeding edge.
Well strictly speaking, the user should receive updates to the "Stable" branch - after all, what happens when an app moves from 1.3 (stable) and 2.0b5 (beta) to only 2.0 (stable)? Obviously, the user wants to receive the stable updates in this case.
I think it would make the most sense to have a simple method of showing promotion of one version over another (e.g. 2.x > 1.x) but also tagging releases with "stable", "beta", "alpha", etc. That way, you have a consistent concept of which version is higher, but you know whether to exclude some of the higher versions for being in the wrong 'branch' (beta) if the user does not want them (or does not have access to them - e.g. closed betas).
(note: I have not seen anything about the following issue, and I thought maybe it belongs here, sorry if I missed it or if I should have edited another page, but here it is). Is there a way to tie some specific version numbers to an OS X version, ie not show the newer version when the user is running Tiger, for instance if we know it only works on Leopard?