Quantcast
Pretty disappointed... - WoWInterface
Thread Tools Display Modes
08-05-09, 05:56 PM   #1
Vaest
A Murloc Raider
Join Date: Oct 2008
Posts: 7
Pretty disappointed...

So, back in the day I used Wowmatrix, simply because it was the easiest way to update my addons. One day it stopped working, and i read about how evil it was and how Curse and WowInterface has killed it. I whole-heartedly agree with blocking Wowmatrix, if I had known what they were doing, I would not have used it. Wowmatrix did almost everything wrong, and I never will use it again.

However, they did do somethings right. Mostly, having a super easy way to update all/most of a user's addons.

When I heard about the new mmoui minion thingy i was excited. Curse has most the addons I use, and WowInterface has almost all the rest, and the tabs/modules thing means it could potentially work for all addons/sites, but it's taken you several months to finally get to this point, but its pretty disappointing. (as I understand it, Curse was moving to block Wowmatrix, and you had to as well, and couldn't wait till minion was done)

My major complaint is that minion no concept of version numbers.

For example (i picked this cause its on the top of my addon list):
My currently installed AdvancedTradeSkillWindow (via the CurseClient) is 0.7.6 which is the latest as far as I can tell. WowInterface (at the time of writing) says 0.7.5 is the latest, and MMOUI minion wants to install the older version. This was one that people who hated Wowmatrix argued, that Wowmatrix installed old versions of addons and authors will get complaints about broken addons from users claiming they have the latest when they don't. I understand and respect that you guys are actually doing it legally/morally whatever, but at least add some basic math that can figure out "hmm, they have 0.7.6, we have 0.7.5, we should probably leave it alone".

Essentially, this breaks the whole program, as I can't use the "update all" and I have to manually check Curse first before updating every addon in minion

Also, another suggestion: I dislike the color choices. "Addon not available" should NOT be red, as red "catches people's attention, and is often used either in a negative way to indicate danger and emergency" (wikipedia), when in minion it simply means that addon is not on your site. This seems a little... evil to me, as it conveys that addons that aren't on your site are bad/red. Change the message to something more neutral like: "Addon not recognized. (More info...)" and have a link explaining that addon is not on your site, so it can't be managed with minion. Then, the "Current [Version ...]" should be changed to a light green. (Because green indicates good, in case you didn't know). And when an update is available it should say "Version 1.1 is available, you have 1.0" This is more informative to users, and it would make the whole "Minion has no concept of math/numbers/versioning" glitch slightly more manageable.

Sorry for the wall of text, and sorry for being negative, but I feel if you are going to write software that ensures you have the latest version of an addon, it should at least understand version numbers and not revert you to an older version.

Regards, Vaest
  Reply With Quote
08-05-09, 05:58 PM   #2
Shirik
Blasphemer!
Premium Member
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2007
Posts: 818
Give me an algorithm to correctly identify what is a "later version" and I will be glad to implement it. It's not as easy as you think.


That being said, there are plans to do this as much as possible in a future release.
__________________
たしかにひとつのじだいがおわるのお
ぼくはこのめでみたよ
だけどつぎがじぶんおばんだってことわ
しりたくなかったんだ
It's my turn next.

Shakespeare liked regexes too!
/(bb|[^b]{2})/
  Reply With Quote
08-05-09, 06:04 PM   #3
reg0ner
A Murloc Raider
Join Date: Jul 2009
Posts: 4
give us a way to see current versions when theres an update available i guess.
  Reply With Quote
08-05-09, 06:08 PM   #4
Shirik
Blasphemer!
Premium Member
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2007
Posts: 818
That is already planned. I'm talking about an automatic solution.
__________________
たしかにひとつのじだいがおわるのお
ぼくはこのめでみたよ
だけどつぎがじぶんおばんだってことわ
しりたくなかったんだ
It's my turn next.

Shakespeare liked regexes too!
/(bb|[^b]{2})/
  Reply With Quote
08-05-09, 06:23 PM   #5
Vaest
A Murloc Raider
Join Date: Oct 2008
Posts: 7
I imagine that the following versioning systems cover 95%+ of addons
  • (major).(minor).(etc).(etc)
    /(\d+)\.(\d+)\.(\d+)\.(\d+)/ (only does 4 numbers, i forget the syntax for repeated subpatterns.) Then just compare match 1 on both strings, match 2 on both strings, etc
  • r(revision number) (subversion, etc)
    /r\d+/ would match a revision number
  • and some kind of date string, 20090805 or such
    If they use a standard version date string (YYYYMMDD) it could be treated the same as a revision, the greater the number, the newer it is. Other date formats are also trivial with regex.

the only other concerns are words like "stable", "beta (or b)", release, etc. which i can't imagine are hard either.
  Reply With Quote
08-05-09, 06:29 PM   #6
Shirik
Blasphemer!
Premium Member
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2007
Posts: 818
Originally Posted by Vaest View Post
the only other concerns are words like "stable", "beta (or b)", release, etc. which i can't imagine are hard either.
Again, you are trivializing a problem that is not trivial. This issue is much more complicated than you would think. There are a million ways people say "beta" or "release," including sticking "r" in random places (which you already assumed to be "revision").

How about foxlit's "Delta 4" version?

Code:
## Interface: 30100
## Title: OPie
## Notes: 1. Bind infrequent actions to rings. 2. ??? 3. Eat pie.
## Author: foxlit
## SavedVariables: OneRing_Config, OPie_Locale
## OptionalDeps: ButtonFacade
## X-Version-Name-Wrath: Delta 4
## X-Update-FeedURL: http://www.go-hero.net/opie/rss/stable
## X-Update-FeedURL-Beta: http://www.go-hero.net/opie/rss/beta
## X-Website: http://www.go-hero.net/opie/
## X-API-Docs: http://www.go-hero.net/opie/api
EventLib.lua
OneRingLib.lua
OneRingIndication.lua
OneRingLocale.lua
OPieConfig.lua
OPieBindings.lua
Meta\StanceBar.lua
Meta\RingKeeper.lua
Meta\RingKeeperConfig.lua
Meta\RingKeeperShare.lua
Rings\Common.lua
Rings\RKRings.lua
__________________
たしかにひとつのじだいがおわるのお
ぼくはこのめでみたよ
だけどつぎがじぶんおばんだってことわ
しりたくなかったんだ
It's my turn next.

Shakespeare liked regexes too!
/(bb|[^b]{2})/
  Reply With Quote
08-05-09, 06:48 PM   #7
ScytheBlade1
aka Sbo
 
ScytheBlade1's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 66
First you have to figure out what version is even installed. There are a few ways.

## Version:
## X-Version:
## X-Version-Name-Wrath: (go foxlit!)

After all, "Version" isn't an officially designated attribute in the TOC. That is, of course, assuming it is even listed in the TOC - as opposed to the readme, or the in game config, or quite simply not at all.

Then you get to worry about the version numbers.

3
3.1
3.1-30200
3.1.18
3.1.18-30200
3.1.84b5
3.1.8r
3.1.8f
3.1.8BETA5
3.1.8r1984
3.1.8-git-a9deac
3.1.8 beta9
3.1.8-wrath
3.1.8-080509
3.1.8-20090805
3.1.8-20090508 (not everyone uses the same conventions! which one is newer?! all three represent the same date!)
3.1.8-FOX-FORCE-=5=- (waiting for foxlit to do this...)
__________________
<Thunder_Child> ah, nothing makes me think of WoW more than seeing 15 different addons telling me i dont know how to play
<End> Well, I'm not an AddOn, but you don't know how to play
--
<Iriel> does your 'therapy' involve pitchforks and boiling oil?
  Reply With Quote
08-05-09, 06:50 PM   #8
Vaest
A Murloc Raider
Join Date: Oct 2008
Posts: 7
an r followed by numbers (see regex above) should in all cases be a revision and numbers followed by r or beta, etc should be a beta.

"Delta 4" is a stupid way to number/version an addon. To the addon author: Make Delta 4 be the code name, but internally version it something real (think Windows Vista being 6, and Windows 7 being 6.1 internally. No program could ever interpret 7 as newer than "vista", but 6.1 < 7 is easy)

Offering the use of major.minor.etc, revisions, and dates is sufficient in my opinion. I do not expect it to work with everything, but the 5-10% (give or take) of authors who want to be cute or don't know how to version something correctly will (should) quickly correct it to make their addons update correctly.
  Reply With Quote
08-05-09, 06:59 PM   #9
ScytheBlade1
aka Sbo
 
ScytheBlade1's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 66
Originally Posted by Vaest View Post
an r followed by numbers (see regex above) should in all cases be a revision and numbers followed by r or beta, etc should be a beta.
Sure, as soon as you can fix all of the authors mentality, done.

Originally Posted by Vaest View Post
"Delta 4" is a stupid way to number/version an addon. To the addon author: Make Delta 4 be the code name, but internally version it something real (think Windows Vista being 6, and Windows 7 being 6.1 internally. No program could ever interpret 7 as newer than "vista", but 6.1 < 7 is easy)
Fun fact: there are numerous applications out there that check the windows major/minor numbers, to ensure that major >= 5 && minor >= 1 to ensure that they are at least running Windows XP, which promptly broke with Vista when the minor went to 0.

So, no, 6.1 < 7 is not as easy as one would think. This honestly happened to quite a few applications when Vista launched. In short, it is never as simple as it seems.

And, fwiw, I kinda like "Delta 4."

Originally Posted by Vaest View Post
Offering the use of major.minor.etc, revisions, and dates is sufficient in my opinion. I do not expect it to work with everything, but the 5-10% (give or take) of authors who want to be cute or don't know how to version something correctly will (should) quickly correct it to make their addons update correctly.
I'm pretty sure the plan is to provide version and date* when the addon was uploaded, which would help quite a bit.

* and if it wasn't before, it is now!
__________________
<Thunder_Child> ah, nothing makes me think of WoW more than seeing 15 different addons telling me i dont know how to play
<End> Well, I'm not an AddOn, but you don't know how to play
--
<Iriel> does your 'therapy' involve pitchforks and boiling oil?
  Reply With Quote
08-05-09, 07:11 PM   #10
Vaest
A Murloc Raider
Join Date: Oct 2008
Posts: 7
Originally Posted by ScytheBlade1 View Post
Sure, as soon as you can fix all of the authors mentality, done.
I understand that. I would say write a function that compares the versions and gets the most correct, in the most understandable way. Hopefully authors will get it, and start using one of the "correct" ways.

Originally Posted by ScytheBlade1 View Post
... major >= 5 && minor >= 1 ...
...
So, no, 6.1 < 7 is not as easy as one would think. This honestly happened to quite a few applications when Vista launched.
Yeah, it was a real problem, and it broke lots of programs, but it was purely the result of bad/lazy programming, and not thinking forward (did they honestly think that XP was going to be the last version of windows ever?)

Originally Posted by ScytheBlade1 View Post
And, fwiw, I kinda like "Delta 4."
Sure, Delta 4 sounds cool, some people like the way "Vista" sounds. By all means, call your addon release/version whatever fancy name you want. But in the addon config file, give it a real version, cause the people looking there will appreciate a real one better than your cute name.

Originally Posted by ScytheBlade1 View Post
I'm pretty sure the plan is to provide version and date* when the addon was uploaded, which would help quite a bit.

* and if it wasn't before, it is now!
Excellent. That would help.


Edit: typos
  Reply With Quote
08-05-09, 08:54 PM   #11
Jzar
A Chromatic Dragonspawn
 
Jzar's Avatar
AddOn Author - Click to view addons
Join Date: Jun 2007
Posts: 158
Woo, did I just run into my druid buddy out of the game?

I have never used WoWMatrix, and haven't actually even bothered with Minion. I've heard of lots of issues with it, and am perfectly happy manually downloading all my addons. It gives me a chance to get familiar with each one; e.g., today my brother the Shaman found out he couldn't reorder buttons in the new TotemTimers. However, I was able to tell him quite quickly that instead of having that configurable in a menu, you now just Shift+Drag the buttons to swap them.

Now, as an addon author, I have to admit that being forced into any particular version numbering system is a very unattractive. I don't recall if it was Curse or WoWInterface, but one of my early addons I published, I wanted to call 0.1. I thought this would fairly clearly mark it as early beta. Experimental, more like it. However, the website required at least five characters in the version tag, so I had to go to v0.10. Arbitrary, and annoying. Unfortunately, I don't believe that implementing any strategy that tries to require authors to conform to a standard is going to be successful. Particularly if Curse et al. decide to do the same, with a different standard. Then all of a sudden, we have to remember which convention goes with which website, and upload different versions based on where we're uploading.

I'd suggest automatically updating addons based on their upload date compared to the "last modifed" field of the Windows addon folder, but that could be incorrect for any number of a million weird reasons. It's just not a simple problem, and I say props to Shirik for wrangling with it. Good luck, and hopefully Minion will get to a point where I might start actually using it.
  Reply With Quote
08-05-09, 11:54 PM   #12
Vaest
A Murloc Raider
Join Date: Oct 2008
Posts: 7
Originally Posted by Jzar View Post
Woo, did I just run into my druid buddy out of the game?
/wave

Originally Posted by Jzar View Post
[i] am perfectly happy manually downloading all my addons. It gives me a chance to get familiar with each one;
To me, it takes to much time. I barely have time to play (and yet i somehow make time to complain to wowinterface about minion...), let alot manually update nearly 100 addons. If i run into a problem, like your totemtimer example, where i can't find something or something has changed, I'll go read about it, but I do see your point. For me however, I want the fastest, most reliable (not likely to revert to old versions) solution possible.

Originally Posted by Jzar View Post
I'd suggest automatically updating addons based on their upload date compared to the "last modifed" field of the Windows addon folder, but that could be incorrect for any number of a million weird reasons. It's just not a simple problem, and I say props to Shirik for wrangling with it. Good luck, and hopefully Minion will get to a point where I might start actually using it.
True enough. Date modified would probably be the most reliable, as long as the operating system consistently tells you the modified date correctly.

However, as for a numbering system being restrictive or "forced", from glancing through my installed addons, all of them fall into one of the three categories i described above, and I imagine most addons do as well (they do have lots of fluff to, like a "v" before it, or "release" at the end). Arbitrary rules like "version must be 5 chars are more" are stupid, but a rule like "If you want your addon to update correctly, have the version number be similar to one of the following: 1.0.0.1, r132, or 20090805". Which I don't think should be a problem, since alot of authors use subversion or similar anyways, and the others seem to use major.minor.etc with a few doing strange things.

Edit: I do want to add that I do respect you for your work Shirik, to the Wow community, for addons developers and players alike. Thanks, keep up the work.
  Reply With Quote
08-06-09, 01:04 AM   #13
Myrathi
A Fallenroot Satyr
 
Myrathi's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 20
Any programmer should be at least basically familiar with the concept of "standards compliancy." If they're not, already, then now is as good a time as any to start; even for something as (arguably not) "simple" as AddOn authoring.

The solution to this versioning problem is as simple as ensuring the authors think like this: "if I want to upload AddOn-X to WoWInterface, I need to put a version number - in format <XYZ> - both in the TOC and on the submission page, all of which is quite plainly explained on the submission page itself!"

The obvious change being that the submission page should state as such (both beside the Version input box and in the rules at the bottom).

By way of an example:
TOC entry: ## X-WoWI-Version: 1.4.5 Beta
Submission page: 1.4.5 Beta
Validation rule: maj.min[.build[.sub]] [Alpha|Beta|Patch]
(where maj/min/build/sub are digits)

Both Minion and this site's submission page could parse and validate the version details in exactly the same way. Problem solved (for submissions to WoWI). The X-tags are there for a reason: why not use them?

If the website isn't given valid version information: don't let it be uploaded.
If the Minion can't pull valid version info. client-side: don't guess - simply state that the the addon isn't WoWI version-compliant and supply a link so that the user can check manually.
If in doubt: let the user decide. Ultimately, it's their computer system that's being affected, so if it's not a guaranteed positive action that's going to occur, it should always be their choice what happens next.

If AddOn authors aren't willing to deal with this exceptionally simple, extra step (that they should be doing, anyway) then they're lazy, stubborn or both and, either way, thick as mince because, ultimately, they're only shooting themselves in the foot by making the life of their users harder.

You already require that authors upload in one of two specific archive formats, that their file-size is less than 40Mb, their optionally uploaded images are in one of three specific formats and have them verify two "additional options" radio-options. It isn't exactly a giant leap to expect them to enter version details in a plainly-stated, specific format.

If you let people be lazy: they'll be lazy (or bizarrely over-creative because they think they're so hilariously funny). Us programmer types need smacked about the head, sometimes, so that we do things right. :P

Your submission page is where the buck stops (as far as uploads go)... the rules of engagement are yours to make. It is as simple as that.
  Reply With Quote
08-06-09, 07:22 AM   #14
forty2j
A Cobalt Mageweaver
Join Date: May 2007
Posts: 232
Originally Posted by Myrathi View Post
The obvious change being that the submission page should state as such (both beside the Version input box and in the rules at the bottom).
And THEN, you need to get WoWI, Curse, and WowUI (or whatever their name is now), at a minimum, to all agree upon and enforce a format. Because the issue here isn't Minion serving up old versions hosted on WoWI, it's Minion serving up WoWI's latest version when the author only updated Curse this time around.


... Which is why there is the "ignore addon" option.
  Reply With Quote
08-06-09, 08:02 AM   #15
Myrathi
A Fallenroot Satyr
 
Myrathi's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 20
Originally Posted by forty2j View Post
And THEN, you need to get WoWI, Curse, and WowUI (or whatever their name is now), at a minimum, to all agree upon and enforce a format.
Not at all (though it would definitely be a good thing if they did all agree). You just need one of the sites to take the lead in enforcing a specific format and, when authors start following it, I'd expect the other sites to follow suit (being saved the effort of getting people to start). The biggest issue is getting authors to start doing it... but that's easily accomplished by requiring it on the submission page. Actually getting other addon sites to join in with enforcing version standards would be much better, though: it would benefit the community, as a whole.

Because the issue here isn't Minion serving up old versions hosted on WoWI, it's Minion serving up WoWI's latest version when the author only updated Curse this time around.
That isn't as great an issue as you seem to think if for no other reason than authors (at least, the ones I know) don't like uploading different versions to different sites (as previously stated by another poster). All it takes is authors starting to use the "version standard" in their addon just to get it on WoWI, then it will automatically have that same information in it when they upload it to another site. Bingo. Problem solved. The version-info is in the uploaded version across sites, regardless of the site, so the client-side Minion can look at the ToC and go "ooo! not latest!" and update or "hm. this one is more recent." and tell the user such.

If the version doesn't have the version-info in it? Then it's obviously an older version or it just doesn't follow standards and was uploaded before the standards were put in place. Either way, a simple "let's see if it has any sort of version" check could be done and, if it doesn't help, the user is linked to the WoWI page for that addon and the user asked to manually verify it. Give the user options; never force things on them.

That aside: if WoWI enforces the version standard to start with, the problem wouldn't exist and your point becomes moot.

What could be done better (than the example I gave) is if WoWI led the way with a "Minion TOC tag" that other sites could work upon and tied it directly to the author's version string (using the "new standard"): something more like "## X-Minion-Version: x.x.x"

In the end, it wouldn't actually matter if other sites decided to be spiteful and use a different standard, because they'd almost invariably use a different TOC tag to hold the value... and Minion could support that, as well.

... Which is why there is the "ignore addon" option.
A useful option within the software, regardless, but only of note in this discussion in relation to a user possibly "not wanting to upgrade past a specific version." Definitely useful for many reasons.
  Reply With Quote
08-06-09, 08:08 AM   #16
forty2j
A Cobalt Mageweaver
Join Date: May 2007
Posts: 232
Originally Posted by Myrathi View Post
Not at all (though it would definitely be a good thing if they did all agree). You just need one of the sites to take the lead in enforcing a specific format and, when authors start following it, I'd expect the other sites to follow suit (being saved the effort of getting people to start). The biggest issue is getting authors to start doing it... but that's easily accomplished by requiring it on the submission page. Actually getting other addon sites to join in with enforcing version standards would be much better, though: it would benefit the community, as a whole.
Ideally, yes..

But authors are finicky people. Particularly because they are putting a lot of time into coding that they could be spending playing, and getting no tangible benefit outside of the odd donation, and a lot of users yelling at them because their blender app isn't a good coffee grinder.

.. Which, to me, means that if WoWI unilaterally imposed a version # standard, I'd expect about a 50/50 split between authors who follow it and authors who think it's so stupid they can't name their version "Delta 4" and just stop posting updates to WoWI at all.
  Reply With Quote
08-06-09, 08:12 AM   #17
Tristanian
Andúril
Premium Member
AddOn Author - Click to view addons
Join Date: Nov 2007
Posts: 279
Originally Posted by Myrathi View Post
What could be done better (than the example I gave) is if WoWI led the way with a "Minion TOC tag" that other sites could work upon and tied it directly to the author's version string (using the "new standard"): something more like "## X-Minion-Version: x.x.x"
Something like this has already been proposed here : http://www.wowinterface.com/forums/s...ad.php?t=24340

A lot of authors have already implemented support for the suggested tag and have been pushing versions out with it. Assuming this is already supported in the next push of Minion, things will become infinitely better, in terms of version detection.
__________________
  Reply With Quote
08-06-09, 09:28 AM   #18
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Mod
Featured
Join Date: Oct 2006
Posts: 10,734
That wasn't for version numbers, though, Trist, but for the actual file ID here in the site's DB. So that one addon doesn't get confused with another addon.
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

  Reply With Quote
08-06-09, 09:38 AM   #19
Tristanian
Andúril
Premium Member
AddOn Author - Click to view addons
Join Date: Nov 2007
Posts: 279
Originally Posted by Seerah View Post
That wasn't for version numbers, though, Trist, but for the actual file ID here in the site's DB. So that one addon doesn't get confused with another addon.
True, very much true, however I was thinking of the possibility of using said tag (if it exists) to automatically retrieve the version number straight from the addon page, which would potentially make it easier to devise some kind of rough "standard".
__________________
  Reply With Quote
08-06-09, 10:19 AM   #20
Tithulta
A Black Drake
 
Tithulta's Avatar
AddOn Author - Click to view addons
Join Date: Dec 2006
Posts: 80
Originally Posted by Tristanian View Post
True, very much true, however I was thinking of the possibility of using said tag (if it exists) to automatically retrieve the version number straight from the addon page, which would potentially make it easier to devise some kind of rough "standard".

Oh God Love you all for dealing with this. I have so much respect for addon authors i wish i could donate to them all. Props for all you do
  Reply With Quote

WoWInterface » Site Forums » Minion » Archive » Pretty disappointed...

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off