I was reading through the latest posts in the TinyTip thread and found a lot of frustrated users and developers. Basically, the author made some major rewrites to TinyTip and committed the code to TinyTip trunk. Many of the users considered the new code a "downgrade" or "broken". There seems to be a lot of confusion on what the quality of code in trunk should be. Is it BETA, ALPHA, Release quality? Traditional developers claim that trunk is beta. You develop in trunk, then tag releases and upload them to curse, wowinterface, or wherever. However, as a few people pointed out, the reality of WowAce's download system and WAU is that users treat trunk as release quality or at least expect it to work and rarely break.
Anyhow, there needs to be a decision made here. Either make it clear that trunk should be semi-stable and large code changes should happen in branches or change the download section and WAU to use tags and warn the user when they choose to download from trunk.
In either case some documentation needs to be written setting the policy and describing how to correctly develop within the system. In the first case: How to create a branch and merge on to another branch. In the second: how to tag your branch. If the consensus is to adopt the 2nd system, WAU and the download page need to be taught to read tags and a standard tag format needs to be adopted, e.g. /tags/TinyTip-2.0
I apologize if this discussion already happened but I missed it. What do some of the senior WowAce guys think? I'd be willing to write some of the wiki svn documentation once a decision is made if no one else wants to.
The trunk is effectively release since that's where joe ace user downloads his addons from. Developers are aware of this, and its not the first time there's been some mass breakage before (can you say Rock?).
One could switch all development to the branches, but then we'd not be able to trick users into testing for us. Either way, A single developer switching their development method to a more conservative approach will not prevent their addon from breaking if they're using external libs, assuming those libraries are not adopting the same approach to development.
The trunk is effectively release since that's where joe ace user downloads his addons from. Developers are aware of this, and its not the first time there's been some mass breakage before (can you say Rock?).
anyone that doesn't understand that trunk / wau is beta and it breaks need to suffer and download off a RELEASE SITE not a BETA SITE...
I've said it before, and I'll say it again -- the majority of addons available on wowace are NOT available on release sites, or are not updated with any regularity. PitBull has never appeared on a release site. FuBar and Grid haven't been updated on release sites in nearly a year. These are very popular addons, yet the only place to get them is wowace, and wowace offers addon authors no way to provide the average user any distinction between "development" and "stable" versions. Advanced users understand what pulling updates off the SVN means, and put up with the fact that sometimes updating your addons means you'll get something totally broken and have to spend 45 minutes rolling back to find a working version, but it's simply absurd to expect the average user to have any awarenss of the situation at all, and even more absurd to hurl insults at them for complaining about the situation.
To be completely honest, I would be much happier downloading only off release sites, but for many of the wowace-hosted addons I use (Grid, for example) there simply is nothing else that compares. If addon authors want to complain about users who complain about unstable SVN beta "releases", they should stop being lazy and upload stable versions to release sites on some kind of regular schedule. If you're not an addon author, then you don't really have any room to complain about complaining users at all.
I've said it before, and I'll say it again -- the majority of addons available on wowace are NOT available on release sites, or are not updated with any regularity. PitBull has never appeared on a release site. FuBar and Grid haven't been updated on release sites in nearly a year. These are very popular addons, yet the only place to get them is wowace, and wowace offers addon authors no way to provide the average user any distinction between "development" and "stable" versions. Advanced users understand what pulling updates off the SVN means, and put up with the fact that sometimes updating your addons means you'll get something totally broken and have to spend 45 minutes rolling back to find a working version, but it's simply absurd to expect the average user to have any awarenss of the situation at all, and even more absurd to hurl insults at them for complaining about the situation.
To be completely honest, I would be much happier downloading only off release sites, but for many of the wowace-hosted addons I use (Grid, for example) there simply is nothing else that compares. If addon authors want to complain about users who complain about unstable SVN beta "releases", they should stop being lazy and upload stable versions to release sites on some kind of regular schedule. If you're not an addon author, then you don't really have any room to complain about complaining users at all.
QFT
Devs made it a release site themselfs NOT the users. Yet the devs whine we say something about it. I simply say that they should release their stuff on what you call stable sites and quit whining here. The most popular addons here can't be found on other sites or have release dates so old it's near the launch of TBC.
So yeah I treat Trunks a release rdy (with at the most some minor bugs), but not as a place as early beta or alpha state projects that was what the branch was suppost to be.
Nevertheless it shouldn't mean we need to go mental if someone breaks a mod. Users who go mental and devs which continually bash about trunk is a beta platform and isn't meant a release platform should take a breather, because both are wrong.
Devs made it a release site themselfs NOT the users. Yet the devs whine we say something about it. I simply say that they should release their stuff on what you call stable sites and quit whining here. The most popular addons here can't be found on other sites or have release dates so old it's near the launch of TBC.
So yeah I treat Trunks a release rdy (with at the most some minor bugs), but not as a place as early beta or alpha state projects that was what the branch was suppost to be.
Nevertheless it shouldn't mean we need to go mental if someone breaks a mod. Users who go mental and devs which continually bash about trunk is a beta platform and isn't meant a release platform should take a breather, because both are wrong.
Its a release site for beta addons so the users can test them and provide feedback. Stuff is supposed to break so it can be fixed. That is the whole point...that's how the process works. If the bugs get worked out - the addon may still never be available elsewhere - there is no incentive for the author to do so...none.
This is indeed true, I've released broken stuff before :)
Meh, worse things happen.
Seriously, here - you get bleeding edge stuff. Some exceptionally well coded addons (not saying non wowace svn-users are poor coders, not saying that at all), sometimes things break. Is it really that damn hard to hit up files.wowace.com/AddOn name correct with caps/ pick whether you want with externals or without, and get the previous version to roll back?
Everything comes at a cost, getting the newest of the newest has this as price. I've tried so many "new" addons, reverted, done unspeakable things, I know that every time I hit up WAU and update, I could be breaking shit horribly.
Imo, the main reason some authors don't use release sites, is the simple fact that WAU (and other updaters as well but mostly WAU) provides an easy distribution mechanism that requires little action/effort on behalf of the author. However and I'm sorry if I missed it, there is nothing alerting random WAU user #8212372187321 that doesn't visit WoWAce or has no desire whatsoever to test addons and provide feedback, that the things he is getting is beta quality (or maybe not even that). Now, here comes the obvious question. Should the updater do that in first place or is it really the EU responsibility to know what he is getting into ? I personally think it's the second, but good luck trying to convince EU about it.
I think it would be a reasonable compromise for WAU to alert new users on first run that the addons available through WAU are not guaranteed to be stable releases. A similar message should appear on files.wowace.com.
Quote from sylvanaar »
If the bugs get worked out - the addon may still never be available elsewhere - there is no incentive for the author to do so...none.
I don't know about you, but I'd think it would be incentive enough to curb the flood of completely inexperienced users posting incessant complaints about addons being broken to simply, once a week, take 5 minutes to upload a stable zip to a release site. Committing updates via SVN isn't THAT much easier... /shrug
Either way, I'm tired of people going "omg stupid fucking morons wowace addons r beta stop qqing bc ur addon broke!1!!!1!" when the average user who downloads through WAU makes their first post on the forums asking why Addon X is broken and there is nothing anywhere notifying the average user that they are downloading betas.
So here's the two main issues I've gathered from this:
1. End users should be aware that WowAce addons are considered beta quality
The link to files.wowace is "Beta downloads", which should alert users
WAU doesn't really make this clear, the recommendation to display a warning seems like a good one.
2. Many users treat trunk as fairly stable and look at WowAce as a release site
Do we want WowAce to be a release site? Do we have the bandwidth?
Should we modify WAU and files.wowace to better handle versioning?
If WowAce is not a release site, than authors need to upload to curse/wowinterface more frequently.
Is alpha quality code in /trunk unacceptable? Should a policy on branching be made?
I think the most important point here is that we can't claim beta status and tell users to "use at your own risk" and at the same time not supply users with a way of finding stable releases of WowAce addons.
So here are my thoughts on solutions. Uploading to curse/wowinterface isn't that much of a pain, but some developers make frequent releases and the work involved does add up. If we want WowAce to take on the role of a stable release site we should do the following:
Authors should tag their releases in /tags, e.g.
/tags/PitBull/1.0
/tags/PitBull/1.1
WAU and files.wowace should be modified to link users to the highest version in tags rather than trunk. The users should also have the ability to choose among releases within these interfaces. For example, in WAU, I should be able to right-click an addon, select "Revert to", and have a menu of all the tagged versions of that addon. Maybe also have the option to type in a subversion release number. The same should go for files.wowace: by default addon download links should provide the latest tagged version. Next to this link should be a link to "Other releases". This link would give you a listing of all the tags and also let you choose to download from trunk. Users who select to download from trunk should be shown a warning about the beta quality of trunk.
Now I realize this is a lot of extra work for the authors of those two systems depending on how much functionality you want. At a minimum you could just implement the download the highest tag logic and direct users to subversion documentation if they want to download another release or trunk. However, in WAU's case I think it should be fairly easy to add the "revert to" feature as it's integrated with a real svn client. The hard part is probably tracking what addons the user has reverted and representing that status to the user and providing the option to "unrevert" addons.
If these modifications aren't made to WowAce's release systems then authors need to be encouraged to make more frequent releases to curse and wowinterface. I'd like to hear from the authors. Would you rather tag your addon with X.Y and be done, or upload to curse and wowinterface. What do the WAU and files.wowace authors think about these modifications to their systems?
A few more thoughts that I forgot to address: Transitioning to a tags system will take a little while. Untagged addons will have to default to trunk and show the beta warning. One benefit of tagged releases is that it should reduce bandwidth usage substantially. Users will be downloading addon source code less frequently since they won't be following trunk. However, it may actually drive more users to the site as they will see WowAce as the source for the most recent stable releases.
Either way, I'm tired of people going "omg stupid fucking morons wowace addons r beta stop qqing bc ur addon broke!1!!!1!" when the average user who downloads through WAU makes their first post on the forums asking why Addon X is broken and there is nothing anywhere notifying the average user that they are downloading betas.
Not sure on this one, but to *get* WAU, don't they have to come to the site? And on the page where they get WAU in the first place, in big bold letters right at the top, it reads:
These are BETA addons you are updating and you should expect to see cutting edge features which may not be fully functional or bug-free. If this doesn't sound appealing for you, stop reading this page and update your addons through release versions from mod sites instead. Some addons are more beta than others.
Do we want WowAce to be a release site? Do we have the bandwidth?
I don't believe it's a matter of bandwidth, more like a matter of principle and I also believe that most authors will answer "no" to that question. In reality of course, WoWAce has been treated as a release site but many End Users, ever since WAU was introduced (for the most part).
Should we modify WAU and files.wowace to better handle versioning?
Absolutely.
If WowAce is not a release site, than authors need to upload to curse/wowinterface more frequently.
Perhaps true but you cannot force them to do so.
Is alpha quality code in /trunk unacceptable? Should a policy on branching be made?
Personally, I don't think anything can be deemed as unacceptable in the trunk. In most cases, it's being used for development in almost every repository I've seen, not limited to WoWAce. The best thing would a choice in updaters such as WAU, as in what has been already suggested, either download a semi-stable release or the very last, cutting-edge code, with a cherry on top that is not even guaranteed to work.
Addons break, change, get their dependencies broken, or work, or work well, or work well but have hidden problems that only surface down the road or when another addon comes around and there is interferences.
Any other addon site has broken stuff on it. If you use one of the wider updaters you will get the same phenomenon, that you will get updated from an addon that didn't throw errors to one that does.
This holds for all but the simplest addon. An excellently programmed addon can get broken because software is complex and it is just way easy for a something to be out of line. It also can break because Blizz changed something. Also some things simply cannot be properly tested (you need a raid, you need a certain skill, etc etc) and authors rely on people trying it and report if it is broken.
This too holds for any addon site.
To expect a clear distinction between release, beta and alpha may be neat and comforting, and it may be appropriate for a company that makes money.
From an addon programming standpoint you want things to work, but at times things that you thought were release-worthy will break horribly making them into virtual alphas again. Oddly enough if that happens you often want a lot of testing and constructive feedback to iron out the kinks.
The thing about WAU is that yeah it can break an addon after an update. But that also gives rapid feedback and in my experience problems are fixed very quickly, between half an hour to a day or two. You'll have to find other software development cycles that rivals this report-to-fix turnaround time!
And all this despite the fact that in actuality noone is even entitled to have any addons by someone else. We just happen to share our code and yeah we could flag it with "Hobby activity, use at your own risk, if angry yell at your dog". That being said I'm very grateful about the feedback I get from users and at least in my experience the vast majority of feedback is cordial.
I don't think that the majority of WAU users are under the false impression that every update they get will automatically work. Occasionally something goes fubar and some people get upset, but that's just human nature.
And even when we have release-flagging, noone should be under the false impression that this guarantees that they are bug-free.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Anyhow, there needs to be a decision made here. Either make it clear that trunk should be semi-stable and large code changes should happen in branches or change the download section and WAU to use tags and warn the user when they choose to download from trunk.
In either case some documentation needs to be written setting the policy and describing how to correctly develop within the system. In the first case: How to create a branch and merge on to another branch. In the second: how to tag your branch. If the consensus is to adopt the 2nd system, WAU and the download page need to be taught to read tags and a standard tag format needs to be adopted, e.g. /tags/TinyTip-2.0
I apologize if this discussion already happened but I missed it. What do some of the senior WowAce guys think? I'd be willing to write some of the wiki svn documentation once a decision is made if no one else wants to.
-Javek
One could switch all development to the branches, but then we'd not be able to trick users into testing for us. Either way, A single developer switching their development method to a more conservative approach will not prevent their addon from breaking if they're using external libs, assuming those libraries are not adopting the same approach to development.
Around the Clock...
We release from trunk. Addons on wowace just as stable or unstable as addons from anywhere else.
I've said it before, and I'll say it again -- the majority of addons available on wowace are NOT available on release sites, or are not updated with any regularity. PitBull has never appeared on a release site. FuBar and Grid haven't been updated on release sites in nearly a year. These are very popular addons, yet the only place to get them is wowace, and wowace offers addon authors no way to provide the average user any distinction between "development" and "stable" versions. Advanced users understand what pulling updates off the SVN means, and put up with the fact that sometimes updating your addons means you'll get something totally broken and have to spend 45 minutes rolling back to find a working version, but it's simply absurd to expect the average user to have any awarenss of the situation at all, and even more absurd to hurl insults at them for complaining about the situation.
To be completely honest, I would be much happier downloading only off release sites, but for many of the wowace-hosted addons I use (Grid, for example) there simply is nothing else that compares. If addon authors want to complain about users who complain about unstable SVN beta "releases", they should stop being lazy and upload stable versions to release sites on some kind of regular schedule. If you're not an addon author, then you don't really have any room to complain about complaining users at all.
QFT
Devs made it a release site themselfs NOT the users. Yet the devs whine we say something about it. I simply say that they should release their stuff on what you call stable sites and quit whining here. The most popular addons here can't be found on other sites or have release dates so old it's near the launch of TBC.
So yeah I treat Trunks a release rdy (with at the most some minor bugs), but not as a place as early beta or alpha state projects that was what the branch was suppost to be.
Nevertheless it shouldn't mean we need to go mental if someone breaks a mod. Users who go mental and devs which continually bash about trunk is a beta platform and isn't meant a release platform should take a breather, because both are wrong.
Its a release site for beta addons so the users can test them and provide feedback. Stuff is supposed to break so it can be fixed. That is the whole point...that's how the process works. If the bugs get worked out - the addon may still never be available elsewhere - there is no incentive for the author to do so...none.
This is indeed true, I've released broken stuff before :)
Meh, worse things happen.
Seriously, here - you get bleeding edge stuff. Some exceptionally well coded addons (not saying non wowace svn-users are poor coders, not saying that at all), sometimes things break. Is it really that damn hard to hit up files.wowace.com/AddOn name correct with caps/ pick whether you want with externals or without, and get the previous version to roll back?
Everything comes at a cost, getting the newest of the newest has this as price. I've tried so many "new" addons, reverted, done unspeakable things, I know that every time I hit up WAU and update, I could be breaking shit horribly.
I don't know about you, but I'd think it would be incentive enough to curb the flood of completely inexperienced users posting incessant complaints about addons being broken to simply, once a week, take 5 minutes to upload a stable zip to a release site. Committing updates via SVN isn't THAT much easier... /shrug
Either way, I'm tired of people going "omg stupid fucking morons wowace addons r beta stop qqing bc ur addon broke!1!!!1!" when the average user who downloads through WAU makes their first post on the forums asking why Addon X is broken and there is nothing anywhere notifying the average user that they are downloading betas.
1. End users should be aware that WowAce addons are considered beta quality
2. Many users treat trunk as fairly stable and look at WowAce as a release site
I think the most important point here is that we can't claim beta status and tell users to "use at your own risk" and at the same time not supply users with a way of finding stable releases of WowAce addons.
So here are my thoughts on solutions. Uploading to curse/wowinterface isn't that much of a pain, but some developers make frequent releases and the work involved does add up. If we want WowAce to take on the role of a stable release site we should do the following:
Authors should tag their releases in /tags, e.g.
/tags/PitBull/1.0
/tags/PitBull/1.1
WAU and files.wowace should be modified to link users to the highest version in tags rather than trunk. The users should also have the ability to choose among releases within these interfaces. For example, in WAU, I should be able to right-click an addon, select "Revert to", and have a menu of all the tagged versions of that addon. Maybe also have the option to type in a subversion release number. The same should go for files.wowace: by default addon download links should provide the latest tagged version. Next to this link should be a link to "Other releases". This link would give you a listing of all the tags and also let you choose to download from trunk. Users who select to download from trunk should be shown a warning about the beta quality of trunk.
Now I realize this is a lot of extra work for the authors of those two systems depending on how much functionality you want. At a minimum you could just implement the download the highest tag logic and direct users to subversion documentation if they want to download another release or trunk. However, in WAU's case I think it should be fairly easy to add the "revert to" feature as it's integrated with a real svn client. The hard part is probably tracking what addons the user has reverted and representing that status to the user and providing the option to "unrevert" addons.
If these modifications aren't made to WowAce's release systems then authors need to be encouraged to make more frequent releases to curse and wowinterface. I'd like to hear from the authors. Would you rather tag your addon with X.Y and be done, or upload to curse and wowinterface. What do the WAU and files.wowace authors think about these modifications to their systems?
-Javek
-Javek
Not sure on this one, but to *get* WAU, don't they have to come to the site? And on the page where they get WAU in the first place, in big bold letters right at the top, it reads:
I don't believe it's a matter of bandwidth, more like a matter of principle and I also believe that most authors will answer "no" to that question. In reality of course, WoWAce has been treated as a release site but many End Users, ever since WAU was introduced (for the most part).
Absolutely.
Perhaps true but you cannot force them to do so.
Personally, I don't think anything can be deemed as unacceptable in the trunk. In most cases, it's being used for development in almost every repository I've seen, not limited to WoWAce. The best thing would a choice in updaters such as WAU, as in what has been already suggested, either download a semi-stable release or the very last, cutting-edge code, with a cherry on top that is not even guaranteed to work.
Addons break, change, get their dependencies broken, or work, or work well, or work well but have hidden problems that only surface down the road or when another addon comes around and there is interferences.
Any other addon site has broken stuff on it. If you use one of the wider updaters you will get the same phenomenon, that you will get updated from an addon that didn't throw errors to one that does.
This holds for all but the simplest addon. An excellently programmed addon can get broken because software is complex and it is just way easy for a something to be out of line. It also can break because Blizz changed something. Also some things simply cannot be properly tested (you need a raid, you need a certain skill, etc etc) and authors rely on people trying it and report if it is broken.
This too holds for any addon site.
To expect a clear distinction between release, beta and alpha may be neat and comforting, and it may be appropriate for a company that makes money.
From an addon programming standpoint you want things to work, but at times things that you thought were release-worthy will break horribly making them into virtual alphas again. Oddly enough if that happens you often want a lot of testing and constructive feedback to iron out the kinks.
The thing about WAU is that yeah it can break an addon after an update. But that also gives rapid feedback and in my experience problems are fixed very quickly, between half an hour to a day or two. You'll have to find other software development cycles that rivals this report-to-fix turnaround time!
And all this despite the fact that in actuality noone is even entitled to have any addons by someone else. We just happen to share our code and yeah we could flag it with "Hobby activity, use at your own risk, if angry yell at your dog". That being said I'm very grateful about the feedback I get from users and at least in my experience the vast majority of feedback is cordial.
I don't think that the majority of WAU users are under the false impression that every update they get will automatically work. Occasionally something goes fubar and some people get upset, but that's just human nature.
And even when we have release-flagging, noone should be under the false impression that this guarantees that they are bug-free.