I'm not using any updater atm (too much manual tinkering happening in my addons folder daily),
but I had to say that this was an amazing author response.
When you went to the Addon Manager panel, you were supposed to have clicked the rightmost button (Next Step) to load the adddons.
That was the last thing i wanted to do on that page - after all, if you don't know what a program is up to, would you click a button named "Next Step" and risk it doing a lot of stuff, when you don't even know what the current step is?
Quote from lhunath »
Clicking 'The Whole Works' will do this all for you automatically. You don't have to look through the addons or evaluate the changes that will be made. But you can!
I understand your train of thoughts here, but personally i would like it to be like this:
1) Program presents me with a proposed action (i.e. list of addons to update)
2) Program asks me if I want to do it (or provide an "Update All" button).
I can always choose not to look at the information presented in 1 - no need to hide it! If people complain about too much information it is because it is presented in a way that is unpleasant or impossible to digest (this is a general rule for all information-presentation).
Right now the program just skips 1, and assumes that the user doesn't care about it. Of course you can just go into the Addon Manager and check everything out and do it manually by clicking the "Next Step" button, but because of the less than optimal layout of that panel, it is far from obvious that there's even a correlation between clicking the "The Whole Works" button and doing the stuff manually on the addon manager pane. In my opinion, the separate "The Whole Works" button is *only* needed if the Addon Manager is not designed correctly (i.e. not intuitive).
Try comparing to WAU (which I really like UI-wise). When you load it, you click F5 to sync with wowace, and it graphically shows which addons need updating (grey bar behind those lines), and you then click F12 to update all. Very simple and you have full information of what is going on, and you're free to ignore the information if you just want to update all, and i have never heard anyone complain about information overload on that main page of WAU.
Quote from lhunath »
On a side note, the upload stuff is there for uploading addon data to online web applications such as WoWRoster, WebDKP, etc. NetherPanel is not just an updater; it's more a WoW tool.
In my opinion stuff like that should be in a separate tool. I just want an addon updater.
Finally, I expected (don't know why now) that this tool was also capable of fetching from wowinterface, curse and wowui, but it seems that it can't? If not, these are absolutely required. I know it takes some work, but without this feature there's only few reasons to consider it as an alternative to WAU.
Thanks for your effort, and keep up the good work!
That was the last thing i wanted to do on that page - after all, if you don't know what a program is up to, would you click a button named "Next Step" and risk it doing a lot of stuff, when you don't even know what the current step is?
Quite understandable.
Quote from xbeeps »
I understand your train of thoughts here, but personally i would like it to be like this:
1) Program presents me with a proposed action (i.e. list of addons to update)
2) Program asks me if I want to do it (or provide an "Update All" button).
I will definately keep these pointers in mind when updating the interface. Thanks for the insights.
Quote from xbeeps »
In my opinion stuff like that should be in a separate tool. I just want an addon updater.
NetherPanel was originally mostly an Uploader tool for WoWRoster (pre-Armoury the roster was a tool used by guilds to provide information on all guild members via the website) with some addon updating functionality -- it was called jUniUploader back then. Now it's been renamed and mainly oriented toward Ace addons. The WoWRoster community still uses it for updating their Roster.
Quote from xbeeps »
Finally, I expected (don't know why now) that this tool was also capable of fetching from wowinterface, curse and wowui, but it seems that it can't? If not, these are absolutely required. I know it takes some work, but without this feature there's only few reasons to consider it as an alternative to WAU.
That's already scheduled for NetherPanel M2. Currently NetherPanel has support for two Addon Providers: Ace and UniAdmin. UniAdmin can be used to update non-ace addons but you need to maintain them in UniAdmin. I'm adding Addon Providers for WoWInterface and Curse soon enough. I'll be working with the developers of WUU(python) to provide a python-based plugin interface to NetherPanel that'll allow python modules to be written to add support, for example, for custom Addon Providers, too.
NetherPanel is still growing a lot. I'll just need to find a good way of keeping the complexity that can be offered hidden to users that don't give a damn and not let it slow the thing down at all.
Quote from xbeeps »
Thanks for your effort, and keep up the good work!
Thanks a lot for that! I should have fixed the issue now. Try launching NetherPanel again, WebStart should update it and let me know if it sees your addons as installed now.
Thanks lhunath, everything seems to be working now. Im sorry I couldn't give you a faster update but I was only able to check this thread today :)
That you so much for the excellent description of the flow through the application. I like xbeeps had a little problem immediately groking the Zen. For the sake of redundancy, I'll post my own initial impressions. (The uncharitable will call it rambling...the charitable will call it a Human Factors-style narrative :-)):
Initial screen:
After I got over my initial ooh-ing and ahh-ing at the visuals, it was not immediately obvious to me what I was supposed to do here. Not being familiar with the history of of the application. I was expecting a list of my addons.
That being said there were some nice verbose mouse overs. I was expecting one of the Big Buttons to be "List My Addons" at this point. "The Works" sounded scary to me.
I finally noticed the little icon on the bottom and found "Addon Manager".
Addon Manager:
I got a text description which I summarily ignored (don't you hate it when users don't read your carefully prepared documentation?).
Still looking for my list of addons I looked at my button choices. The layout seemed to suggest there was a some sort of sequence involved and we seemed to be on the "Purge" step as there was a yellow arrow above it. (Yeah, I know...but that was my initial impression :-))
The most likely button seemed to be Show Updateable. Find AddOns seemed to suggest something similar to WUU's "Install From WowAce". (And Show Updateable was on the left and I was still under the impression there was going to be some sort of Wizard type progression where the buttons "lit up" one by one.)
Show Updateable:
So I click on this button and get a popup telling me to fill up the addon list. No guidance on how I might do that, I mouse over the buttons again. (Under the impression that I had messed something up and that's why it thought I was on the Purge step.)
Find Addons:
So maybe I was wrong...maybe Find Addons mean Find Addons on your harddrive. So I click on that and get the same dialog.
Hmmm...what next...
Reload:
Ahh...reload...that says "repeat the steps" and should result in an addon list (still operating under the assumption that I screwed something up).
Nope...doesn't do anything. Maybe it is greyed out? Hard to tell.
Next Steps:
So...not having a lot of optimism I fire up Filemon to see if I can see where Netherpanel is storing state so I can nuke it and relaunch (still on the I-corrupted-something theory). While playing with that I have the bright idea of hitting Next steps. Ok...now I haven't as far as I can tell done the first step so I don't have any idea what will happen if I do the next step, but maybe it will notice that I've messed something up and offer to start over? I click on it.
Oooh...I see status bars. That's a good sign!
Add On List! Hurray!
Hmmm..."Updating" does that mean:
It is in the process" of updating them
It will update them if I find the magic "Update Now" button
Or has it already updated them
I notice that if I keep my mouse still over the entry I get a list of the changes since I last update. Impression: "ZOMG...that rocks!"
Plus it has the SVN revision number in it so I can use that to see if I've updated yet. Hmm ok..."Updating" meens either in progress or eligible to be Upgraded. I'm guessing eligible since I don't see any disk activity from Filemon indicating there is an upgrade actively going on.
Hmm...where is the "Update Now" button?
I scroll to the bottom.
Nope.
Search the buttons at the bottom. Nope.
Ok...well I have obviously done something now. Maybe hitting Next again?
Woot! Success! I get progress bars and disk access I think we're in good shape!
ZOMG! It is telling me which files it is updating. That is *so* cool.
I think I've done everything correctly but I hit Next Steps again just in case.
<NarrativeBreak> Maybe a mouse over or some other text to indicated. What "Next Step" would be taken if you hit the button?</NarrativeBreak>
Now I get a blank list. Hmmm...did I break it again? Crap...
I now no longer trust that I did in fact upgrade. I fire up WUU. WUU starts updating every WowAce addon. Weird. Maybe NetherPanel is nuking some piece of state that WUU uses? Maybe WUU just glitched. Investigate later. Ok...let's think a second...I saw messages talking about downloading zip files. Surely that meant I did it right?
Time to look at something else.
Purge:
Pretty excited about this one. My WTF and AddOn directories have accumulated a lot of cruft over the years. Having Automated cleanup will kick booty.
I mouse over the Purge button to see how it differs from Cleanup. Ok...Purge nukes orphaned config files. Excellent. I go look for a couple. Detox and WishListTracker are two that I see after a quick perusal of my WTF.
I click Purge. Nothing Happens. I click it again. Nothing. No progress bars. Hmmm...maybe there is a pre-req you have to do first? Ahh...no...something is happening I see Filemon spinning in the background. NetherPanel is doing something with my WTF directory. I don't see any writes though. Maybe I have to Next Step it? I see something briefly about "previewing" and then my category list disappears. I click Next again as that always seems to be a good option. Hmmm...looks like it is reloading the list again. Booger. I later notice that while the Detox.lua file in my WTF is gone, the WishListTracker.lua is not.
Next.
Cleanup
I've picked ag_Unitframes as the addon I expect to go away. I've checked each of my alts to make sure that no one is still using it. I click Cleanup. Nothing happens. I see some Filemon activity but it all seems to be internal java stuff. Hmm...I click Next Steps just for the heck of it. I get a long list of Libraries but no ag_Unitframes. Ok...still useful though. Although expanding the functionality (at least optionally) to "Nuke all the Addons I'm not actively using" would be cool. I click Next Steps again, because I now know that the "-ing" statuses mean "I am about to..." It tells me it is "Installing..." the applications on the list. Probably not what it means, thinks I. Sure enough. AbacusLib (one of the directories on the list) is gone. Excellent.
---
Let me say I am *super* excited about this app. I cannot wait for the support for WUU's addon providers. Thank you so much for the (obviously) large amount of work you put into this application.
I am extremely impressed. I hope my comments can be useful to you.
Baraius: Wonderful outline of your experience. That's exactly what I need, a glimps in the mind of what people go through trying to figure out the interface =). I can hear I have a lot of work trying to make it all seem a bit more intuitive. I can promise you that's become a high priority now; and the resulting new UI will definately benefit from input such as yours.
Perhaps a little more insight on how things are now:
There are three steps to the whole addon progress; when first firing up NetherPanel, you are at step 0/3, which is to say, you haven't actually started any step yet.
Next Step brings you to step 1/3: List addons, calculate addon state information and autoselect outdated addons.
This step shows a list of all addons and for each of them shows what it's current state is and what netherpanel has decided it's going to be doing with it. After the progress bars have disappeared bringing you to step 1 you get the chance to influence the automatic decisions NetherPanel took by selecting additional addons for installation or unselecting certain addons for upgrading, or purging or cleaning or uninstalling ....
All actions you can perform on addons will mark the addon as selected and give it a certain "Action" state which will be performed in the next steps only (Nothing happens to your addons in step 1! This is just a step where you tell NetherPanel what you want it to do.)
Hitting Next Step again brings you to step 2/3: Preview operations. NetherPanel downloads Addon ZIP files for addons it needs to install/upgrade and starts calculating what exactly will happen to your disk if you choose to go through with things. It tells you which addon files wil change, which addons will get deleted or which addon files will get deleted; which WTF files will get removed, etc. For addon files that will be modified you can see a Diff of the changes to that file.
Once again you're given the chance to unselect any addons for which you disagree with the actions NetherPanel is going to undertake before clicking next step again to exclude that addon from the operations.
Punching Next Step one more time will take you to step 3/3: Apply changes. This step executes everything you just saw outlined in the preview. ONLY JUST NOW will anything be changed to your addons, not earlier. This step doesn't give any feedback; it just applies, leaving a blank screen.
After applying everything, NetherPanel starts reloading your addon list bringing you back to Step 1/3, now with all your addon states adjusted as applied in the last step. You should have no more updatable addons unless you had deselected those during the previous steps.
The big "Whole Works" button in the beginning does all the above without giving you the chance to manually select/unselect addons. It just does it all automatically thus giving you a one-click update-my-crap button.
Mind you that NetherPanel does not have the ability to detect whether your addons are using embedded or external libraries when you first start using it. You have to configure this yourself. NetherPanel DEFAULTS to embedding libraries in addons. If you want your libraries externalized; go to the settings pane and toggle this option; reload your addon list, and NetherPanel will need to reinstall your addons and will automatically select all required external libraries for you from the list.
If i may make a suggestion/request. WAU has the option to view the changelogs of the updated addons after they have been updated. Could you please implement something similar please as seeing what changes have been made to addons can be handy. Thank you and excellent work.
For some reason, this updater decided to remove over half of my currently-installed addons, including some of my personal addons, which had .svn directories in them, when I chose to do the "Purge" and "Cleanup" options..
Also, I've noticed that this updater does not support splitting up some of the addons.. Addons which can be split should all have a file included, called "filelist.wau" which details the folders that should be moved to the main addons folder. See Prat, and/or BigWigs for details on this.
Also, I feel like I need to read a 300page manual just to figure out how to use it.. I like the idea of being able to view changes before applying them, but I feel that more information about said changes should be presented, as was mentioned previously.. changelogs..
The UI is beautiful. But clunky-feeling. Looks like most of the UI's design choice was form over function. Being a Macintosh lover, as well as Gnome, I do like good looking UIs.. but -not- at the cost of intuitiveness. Easy-to-use is the whole point of an updater.. This one is, unfortunately, returning to the shelf for me. It's almost easier to just download all my addons manually..
I thought i would try a little comparison between WowAceUpdater and Netherpanel This is what i have found.
WAU: Very quickly and immediatly show all addons. Install and Uninstalled
NetherPanel: After waiting a short period, loads. Then have to click something else just to see the addons.
WAU: After a quick refresh the full list of addons appears, with the addons i have installed that need updating highlighted in blue. very easy to see. I can also click one tab so i can view just the addons that have updates.
NetherPanel:After Shows updated addons, only noticable by 3 little letters next to the addon. Also doesnt list updated libraries.(i found this out after loading WAU and Netherpanel and comparing the updated addons list. Updated libraries wernt listed in Netherpanel but were in WAU)
All in all, i do like Netherpanel. I looks a treat and after a bit of getting used to pretty nice to use.
But unfortunatly i feel there a few functions missing form Netherpanel that i have come to enjoy about WAU e.g (sorry if repeat myself here):
Ability for Netherpanel to list only the updated addons in a sperate tab.
Showing of Updated Libraries
Showing of a changlelog after update
Also a tab or something showing the newly added addons to the files.wowace.com would be nice. i am always on the hunt for something new.
But i will give you credit for an awsome peice of work and look forward to further updates
For some reason, this updater decided to remove over half of my currently-installed addons, including some of my personal addons, which had .svn directories in them, when I chose to do the "Purge" and "Cleanup" options..
Also, I've noticed that this updater does not support splitting up some of the addons.. Addons which can be split should all have a file included, called "filelist.wau" which details the folders that should be moved to the main addons folder. See Prat, and/or BigWigs for details on this.
I have been considdering implementing this feature. Though so far I've put it off mainly because of the .wau file not being documented well enough for me to reliably implement it.
Quote from break19 »
Also, I feel like I need to read a 300page manual just to figure out how to use it.. I like the idea of being able to view changes before applying them, but I feel that more information about said changes should be presented, as was mentioned previously.. changelogs..
Changelogs will be viewed after installation finishes in the next version. If there is any more information you'd like me to display, definately let me know.
Quote from break19 »
The UI is beautiful. But clunky-feeling. Looks like most of the UI's design choice was form over function. Being a Macintosh lover, as well as Gnome, I do like good looking UIs.. but -not- at the cost of intuitiveness. Easy-to-use is the whole point of an updater.. This one is, unfortunately, returning to the shelf for me. It's almost easier to just download all my addons manually..
The UI is counter-intuitive appearantly. I personally hadn't noticed mostly probably because it just grew on me as I developed it. I am redesigning it now. The more info & tips I get on how things could be better, the better the end result will be; so if you have any hints, I'd love to hear them.
I am definately making it easier to find your way to the addon manager, am loading the addons immediately instead of waiting until you click the "Next Step" button; am changing the way the buttons are layed out so that it's easier to find the button you need and am changing the text on the buttons to prevent confusion as to what they are for. I'm adding a help function in the program itself just in case people are still left clueless after reading the tooltip or looking through the UI. I'm trying to get rid of long descriptions and keep it short.
NetherPanel has appearantly gotten the impression of being complicated even though all you need to do is press the "Works" button or click next step a few times (this button will be renamed to tell you what step it will perform when you click it). It really isn't that complex unless you want it to be. There must be something that's making it seem complex -- obviously the annoying interface can't help -- but if anything else can be improved that I haven't thought of yet, let me know.
Quote from Gothicknight »
WAU: Very quickly and immediatly show all addons. Install and Uninstalled
NetherPanel: After waiting a short period, loads. Then have to click something else just to see the addons.
I have been thinking of getting rid of the launcher panel and just bringing up the addon panel on launch, but I figured perhaps this is just something you have to get used to as a first-time user. The launcher panel does give access to the "Works" button which does it all. I'm not sure what to do.
Quote from Gothicknight »
WAU: After a quick refresh the full list of addons appears, with the addons i have installed that need updating highlighted in blue. very easy to see. I can also click one tab so i can view just the addons that have updates.
NetherPanel:After Shows updated addons, only noticable by 3 little letters next to the addon. Also doesnt list updated libraries.(i found this out after loading WAU and Netherpanel and comparing the updated addons list. Updated libraries wernt listed in Netherpanel but were in WAU)
NetherPanel also color-codes addons depending on their status. So you don't just have the three letters, but also the color to go on, and the (Updating) message next to the name of selected addons. I'm going to make a tooltip over the letter codes say what they stand for. Also, NetherPanel defaults to making your addons use Embedded Libraries. This means no dependency management. If you want dependency management and externalized libraries; toggle that option on in the settings panel. Do you want me to set this on by default? Currently NetherPanel doesn't show you which libraries a certain addon is linked to unless you fold open the graph pane and hover over the addon (you get a nice graph showing the relation between the addon and dependencies). The filter button in NetherPanel also hides all addons that aren't selected so that you can easily see the addons that you need to look at; like you said, the addons to upgrade.
I think mostly, the functionality is there, or being worked on by me, but it's perhaps not easy to find. Sorry for that and once more -- if you have any tips .. =)
Quote from Gothicknight »
Also a tab or something showing the newly added addons to the files.wowace.com would be nice. i am always on the hunt for something new.
-snip-
I have been considdering implementing this feature. Though so far I've put it off mainly because of the .wau file not being documented well enough for me to reliably implement it.
there's only two ways the file is added to the .wau file.
If the addon's folder needs to be renamed, as in AuldLangSyne's, and if the folder can just simply moved as-is.
Assuming addon name Package, and 2 module folders underneath Package named Module1 and Module2
filelist.wau will look like this:
@Module1
@Module2
This will unpack the modules, replacing '@' with 'Package_':
Package_Module1
Package_Module2
This is how -most- addon packages work.
However, some, like prat, do not need to have their internal folders renamed, like this example:
Package, with modules name Package_Module1 Package Module2
filelist.wau structure:
Package_Module1
Package_Module2
It's really pretty simple stuff.. Whatever folder is listed inside of filelist.wau should become a separate, new addon, and all instances of @ should be replaced by the parent addon's foldername.
What you describe is, as far as I am aware, the old version of the WAU files which syl would like to see deprecated. The new version is just '.wau' files containing something like this:
filelist=modules\KC_SellValues
I'd like to know just exactly which of these files is supposed to survive (I am not going to support both), and will probably not implement this until there is some sort of official backing for this, not just a "WAU feature". It's rather strange having .wau files laying around when WAU is a dead application which might completely disappear in a year or so.
I don't understand why these addons must embed optional modules in them. The concept is just completely flawed. In my opinion the devs of these addons need to stop being silly and just make these "modules" as real addons and have their main addon reference them as Optional Dependencies. Because that is EXACTLY the definition of an OptDep. Embedding addons in addons is just crazy-talk, unless I'm missing a really obvious reason why these are not OptDeps (in which case I take most of this back).
That's LibPeriodicTable-3.1's filelist.wau, and it -also- uses exactly the method I showed you..
As for why? Well, in the case of LibPeriodicTable, I would think it'd be fairly obvious.. You download a single lib, and when addons need to run it, instead of having to load the entire libPT database into memory, it only loads those itemtypes it wants, such as -Gear, or -Consumable etc.
In the case of addons like BigWigs, it allows you to load -only- the modules -you- want, instead of the whole thing, yet still provides functionality without having to go out and find all the different modules you want.
In both cases, the main reason is this: packages are easier for both the User, and the Developer to release.. "In your screenshot, I see X addon doing Y, I cant get mine to do that! this addon sucks!" When there's default functionality, that can be disable, you make it into a separately-loadable addon. But if you want that functionality enabled by DEFAULT, you must include the addon into the download package.. these two ideas were mutually exclusive until the idea of auto-packages, using filelist.wau
I am aware why you'd want to be able to toggle addons on or off; but that's exactly why they should be OptDeps.
I suppose your argument of making them enabled by default is a valid one -- the addons will be downloaded in the BigWigs package and all addons will be enabled by default until you manually disable them. Granted. But the concept is still flawed. Hacks like these completely invalidate any dependency management and should be abolished.
Instead, the dependency management needs to be fixed to satisfy the requirements.
I stand by my point that packaging addons inside addons and then expecting the UPDATER tool to sort things out for you by moving folders around is WRONG. It is not the responsability of the tool. Instead, there should be addons called BigWigs_Foo and BigWigs_Bar, one (dummy) addon called BigWigs with OptDeps to BigWigs_Foo and BigWigs_Bar. These OptDeps should get a boolean property selectedByDefault or something.
The theory is all this is management of dependencies. And doing dependency management behind the back of the dependency management is just wrong, no matter how you word it. These relationships need to be declared in the latest.xml file. If they are not declared there I will not take them into account. WAU is a nice tool; but when you look at the code you shriek. It is ridden with work-arounds and hacks to get things done.
NetherPanel will not implement hacks to achieve a feature the WAU author wanted to implement behind the back of the maintainers of the dependency management behind Ace.
If you can tell me who in the Ace community I need to talk to in order to settle this issue in a correct manner relying on the dependency relations defined between Ace addons I will definately go talk to them about it because I do think the concept is definately interesting and will hurry to implement it as soon as I can do it in a sane manner that does not involve a second layer of dependency or addon management.
I've been talking to a few people and appearantly it's not always technically feasable for my alternative (defining those modules as real addons and establishing an OptDep relationship between the main addon and its module addons) to work.
Appearantly WoW forces OptDeps to be loaded immediately and they cannot be LoD. For that reason it's definately impossible to define an OptDep relationship between, say, BigWigs and BigWigs_BlackTemple because the latter would get loaded when you enter WoW, rather than when you enter the instance. Sucks.
With that, the only alternative I'd prefer over this method is adding an extra field to the latest.xml file that declares which addons are modules of a given addon. That way, the addon BigWigs would have this:
Here's the question you -should- be asking.. which is more likely to happen:
every single ace2/3 addon author decides you are right and implements the "new standard" -or-
your updater is modified to support the -current- standard?
Simple reasoning states that it is far easier for a single developer to support an already-decided, and working, implementation, rather than attempt to convince a few thousand -other- developers to support a completely different implementation..
Again.. I state my observation of -most- coders.. They -love- to fix stuff that aint broke...
but! if you are, indeed, hellbent on attempting to simplify and beautify the whole addon/package thing..
simply begin a request for comments on the idea of adding
#X-Modules: Module1, Module2
updaters could then look for folders inside the addon's main folder called either, "Module1" or "Addon_Module1"
and subsequently move the folder into the main addons folder as "Addon_Module1"
but in the interim, until everyone begins to update their tocs to reflect the new 'standard' I would suggest backwards compatibility with filelist.wau for a while, to allow time for authors to change their addons..
I'm not going to be stubburn and just implement this feature using the filelist.wau file even though I've my personal objections against it. My objections are known and hopefully some smart people have read them and might think about what I've said as well.
By the way, whether the modules are listed using X-Modules or a filelist.wau; my main point is they should not exist in the main addon's folder but should exist as separate entities in the Ace SVN -- that is where my objection lies. If they are addons, they should be addons, not directories inside addons; an updater updates addons by checking out the latest from the SVN; it should not create addons by modifying the SVN's content locally.
Enough said; I'll put this on my todo list; (which is ever growing now).
I have been thinking of getting rid of the launcher panel and just bringing up the addon panel on launch, but I figured perhaps this is just something you have to get used to as a first-time user. The launcher panel does give access to the "Works" button which does it all. I'm not sure what to do.
How about putting an option in the configuration screen allowing the user to set how Netherpanel launches. User a might like the launcher and yet user b might just want to get right in a update there addons. So put an option in to say something like: Show Launch Panel at startup or Show Addons at startup (sorry i dot have alot of knowledge when it comes to programming or software development). But i just thought that could work as it give the user the option instead of you working out whether to keep or get rid of the launcher. This -should- keep all the for and against the launcher happy.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
but I had to say that this was an amazing author response.
That was the last thing i wanted to do on that page - after all, if you don't know what a program is up to, would you click a button named "Next Step" and risk it doing a lot of stuff, when you don't even know what the current step is?
I understand your train of thoughts here, but personally i would like it to be like this:
1) Program presents me with a proposed action (i.e. list of addons to update)
2) Program asks me if I want to do it (or provide an "Update All" button).
I can always choose not to look at the information presented in 1 - no need to hide it! If people complain about too much information it is because it is presented in a way that is unpleasant or impossible to digest (this is a general rule for all information-presentation).
Right now the program just skips 1, and assumes that the user doesn't care about it. Of course you can just go into the Addon Manager and check everything out and do it manually by clicking the "Next Step" button, but because of the less than optimal layout of that panel, it is far from obvious that there's even a correlation between clicking the "The Whole Works" button and doing the stuff manually on the addon manager pane. In my opinion, the separate "The Whole Works" button is *only* needed if the Addon Manager is not designed correctly (i.e. not intuitive).
Try comparing to WAU (which I really like UI-wise). When you load it, you click F5 to sync with wowace, and it graphically shows which addons need updating (grey bar behind those lines), and you then click F12 to update all. Very simple and you have full information of what is going on, and you're free to ignore the information if you just want to update all, and i have never heard anyone complain about information overload on that main page of WAU.
In my opinion stuff like that should be in a separate tool. I just want an addon updater.
Finally, I expected (don't know why now) that this tool was also capable of fetching from wowinterface, curse and wowui, but it seems that it can't? If not, these are absolutely required. I know it takes some work, but without this feature there's only few reasons to consider it as an alternative to WAU.
Thanks for your effort, and keep up the good work!
I will definately keep these pointers in mind when updating the interface. Thanks for the insights.
NetherPanel was originally mostly an Uploader tool for WoWRoster (pre-Armoury the roster was a tool used by guilds to provide information on all guild members via the website) with some addon updating functionality -- it was called jUniUploader back then. Now it's been renamed and mainly oriented toward Ace addons. The WoWRoster community still uses it for updating their Roster.
That's already scheduled for NetherPanel M2. Currently NetherPanel has support for two Addon Providers: Ace and UniAdmin. UniAdmin can be used to update non-ace addons but you need to maintain them in UniAdmin. I'm adding Addon Providers for WoWInterface and Curse soon enough. I'll be working with the developers of WUU(python) to provide a python-based plugin interface to NetherPanel that'll allow python modules to be written to add support, for example, for custom Addon Providers, too.
NetherPanel is still growing a lot. I'll just need to find a good way of keeping the complexity that can be offered hidden to users that don't give a damn and not let it slow the thing down at all.
Cheers, appreciated.
~lhunath
Thanks lhunath, everything seems to be working now. Im sorry I couldn't give you a faster update but I was only able to check this thread today :)
Thanks again for your work
Greetings,
That you so much for the excellent description of the flow through the application. I like xbeeps had a little problem immediately groking the Zen. For the sake of redundancy, I'll post my own initial impressions. (The uncharitable will call it rambling...the charitable will call it a Human Factors-style narrative :-)):
Initial screen:
After I got over my initial ooh-ing and ahh-ing at the visuals, it was not immediately obvious to me what I was supposed to do here. Not being familiar with the history of of the application. I was expecting a list of my addons.
That being said there were some nice verbose mouse overs. I was expecting one of the Big Buttons to be "List My Addons" at this point. "The Works" sounded scary to me.
I finally noticed the little icon on the bottom and found "Addon Manager".
Addon Manager:
I got a text description which I summarily ignored (don't you hate it when users don't read your carefully prepared documentation?).
Still looking for my list of addons I looked at my button choices. The layout seemed to suggest there was a some sort of sequence involved and we seemed to be on the "Purge" step as there was a yellow arrow above it. (Yeah, I know...but that was my initial impression :-))
The most likely button seemed to be Show Updateable. Find AddOns seemed to suggest something similar to WUU's "Install From WowAce". (And Show Updateable was on the left and I was still under the impression there was going to be some sort of Wizard type progression where the buttons "lit up" one by one.)
Show Updateable:
So I click on this button and get a popup telling me to fill up the addon list. No guidance on how I might do that, I mouse over the buttons again. (Under the impression that I had messed something up and that's why it thought I was on the Purge step.)
Find Addons:
So maybe I was wrong...maybe Find Addons mean Find Addons on your harddrive. So I click on that and get the same dialog.
Hmmm...what next...
Reload:
Ahh...reload...that says "repeat the steps" and should result in an addon list (still operating under the assumption that I screwed something up).
Nope...doesn't do anything. Maybe it is greyed out? Hard to tell.
Next Steps:
So...not having a lot of optimism I fire up Filemon to see if I can see where Netherpanel is storing state so I can nuke it and relaunch (still on the I-corrupted-something theory). While playing with that I have the bright idea of hitting Next steps. Ok...now I haven't as far as I can tell done the first step so I don't have any idea what will happen if I do the next step, but maybe it will notice that I've messed something up and offer to start over? I click on it.
Oooh...I see status bars. That's a good sign!
Add On List! Hurray!
Hmmm..."Updating" does that mean:
I notice that if I keep my mouse still over the entry I get a list of the changes since I last update. Impression: "ZOMG...that rocks!"
Plus it has the SVN revision number in it so I can use that to see if I've updated yet. Hmm ok..."Updating" meens either in progress or eligible to be Upgraded. I'm guessing eligible since I don't see any disk activity from Filemon indicating there is an upgrade actively going on.
Hmm...where is the "Update Now" button?
I scroll to the bottom.
Nope.
Search the buttons at the bottom. Nope.
Ok...well I have obviously done something now. Maybe hitting Next again?
Woot! Success! I get progress bars and disk access I think we're in good shape!
ZOMG! It is telling me which files it is updating. That is *so* cool.
I think I've done everything correctly but I hit Next Steps again just in case.
<NarrativeBreak> Maybe a mouse over or some other text to indicated. What "Next Step" would be taken if you hit the button?</NarrativeBreak>
Now I get a blank list. Hmmm...did I break it again? Crap...
I now no longer trust that I did in fact upgrade. I fire up WUU. WUU starts updating every WowAce addon. Weird. Maybe NetherPanel is nuking some piece of state that WUU uses? Maybe WUU just glitched. Investigate later. Ok...let's think a second...I saw messages talking about downloading zip files. Surely that meant I did it right?
Time to look at something else.
Purge:
Pretty excited about this one. My WTF and AddOn directories have accumulated a lot of cruft over the years. Having Automated cleanup will kick booty.
I mouse over the Purge button to see how it differs from Cleanup. Ok...Purge nukes orphaned config files. Excellent. I go look for a couple. Detox and WishListTracker are two that I see after a quick perusal of my WTF.
I click Purge. Nothing Happens. I click it again. Nothing. No progress bars. Hmmm...maybe there is a pre-req you have to do first? Ahh...no...something is happening I see Filemon spinning in the background. NetherPanel is doing something with my WTF directory. I don't see any writes though. Maybe I have to Next Step it? I see something briefly about "previewing" and then my category list disappears. I click Next again as that always seems to be a good option. Hmmm...looks like it is reloading the list again. Booger. I later notice that while the Detox.lua file in my WTF is gone, the WishListTracker.lua is not.
Next.
Cleanup
I've picked ag_Unitframes as the addon I expect to go away. I've checked each of my alts to make sure that no one is still using it. I click Cleanup. Nothing happens. I see some Filemon activity but it all seems to be internal java stuff. Hmm...I click Next Steps just for the heck of it. I get a long list of Libraries but no ag_Unitframes. Ok...still useful though. Although expanding the functionality (at least optionally) to "Nuke all the Addons I'm not actively using" would be cool. I click Next Steps again, because I now know that the "-ing" statuses mean "I am about to..." It tells me it is "Installing..." the applications on the list. Probably not what it means, thinks I. Sure enough. AbacusLib (one of the directories on the list) is gone. Excellent.
---
Let me say I am *super* excited about this app. I cannot wait for the support for WUU's addon providers. Thank you so much for the (obviously) large amount of work you put into this application.
I am extremely impressed. I hope my comments can be useful to you.
-Baraius
Perhaps a little more insight on how things are now:
There are three steps to the whole addon progress; when first firing up NetherPanel, you are at step 0/3, which is to say, you haven't actually started any step yet.
Next Step brings you to step 1/3: List addons, calculate addon state information and autoselect outdated addons.
This step shows a list of all addons and for each of them shows what it's current state is and what netherpanel has decided it's going to be doing with it. After the progress bars have disappeared bringing you to step 1 you get the chance to influence the automatic decisions NetherPanel took by selecting additional addons for installation or unselecting certain addons for upgrading, or purging or cleaning or uninstalling ....
All actions you can perform on addons will mark the addon as selected and give it a certain "Action" state which will be performed in the next steps only (Nothing happens to your addons in step 1! This is just a step where you tell NetherPanel what you want it to do.)
Hitting Next Step again brings you to step 2/3: Preview operations. NetherPanel downloads Addon ZIP files for addons it needs to install/upgrade and starts calculating what exactly will happen to your disk if you choose to go through with things. It tells you which addon files wil change, which addons will get deleted or which addon files will get deleted; which WTF files will get removed, etc. For addon files that will be modified you can see a Diff of the changes to that file.
Once again you're given the chance to unselect any addons for which you disagree with the actions NetherPanel is going to undertake before clicking next step again to exclude that addon from the operations.
Punching Next Step one more time will take you to step 3/3: Apply changes. This step executes everything you just saw outlined in the preview. ONLY JUST NOW will anything be changed to your addons, not earlier. This step doesn't give any feedback; it just applies, leaving a blank screen.
After applying everything, NetherPanel starts reloading your addon list bringing you back to Step 1/3, now with all your addon states adjusted as applied in the last step. You should have no more updatable addons unless you had deselected those during the previous steps.
The big "Whole Works" button in the beginning does all the above without giving you the chance to manually select/unselect addons. It just does it all automatically thus giving you a one-click update-my-crap button.
Mind you that NetherPanel does not have the ability to detect whether your addons are using embedded or external libraries when you first start using it. You have to configure this yourself. NetherPanel DEFAULTS to embedding libraries in addons. If you want your libraries externalized; go to the settings pane and toggle this option; reload your addon list, and NetherPanel will need to reinstall your addons and will automatically select all required external libraries for you from the list.
Considder it done.
Also, I've noticed that this updater does not support splitting up some of the addons.. Addons which can be split should all have a file included, called "filelist.wau" which details the folders that should be moved to the main addons folder. See Prat, and/or BigWigs for details on this.
Also, I feel like I need to read a 300page manual just to figure out how to use it.. I like the idea of being able to view changes before applying them, but I feel that more information about said changes should be presented, as was mentioned previously.. changelogs..
The UI is beautiful. But clunky-feeling. Looks like most of the UI's design choice was form over function. Being a Macintosh lover, as well as Gnome, I do like good looking UIs.. but -not- at the cost of intuitiveness. Easy-to-use is the whole point of an updater.. This one is, unfortunately, returning to the shelf for me. It's almost easier to just download all my addons manually..
break19
WAU: Very quickly and immediatly show all addons. Install and Uninstalled
NetherPanel: After waiting a short period, loads. Then have to click something else just to see the addons.
WAU: After a quick refresh the full list of addons appears, with the addons i have installed that need updating highlighted in blue. very easy to see. I can also click one tab so i can view just the addons that have updates.
NetherPanel:After Shows updated addons, only noticable by 3 little letters next to the addon. Also doesnt list updated libraries.(i found this out after loading WAU and Netherpanel and comparing the updated addons list. Updated libraries wernt listed in Netherpanel but were in WAU)
All in all, i do like Netherpanel. I looks a treat and after a bit of getting used to pretty nice to use.
But unfortunatly i feel there a few functions missing form Netherpanel that i have come to enjoy about WAU e.g (sorry if repeat myself here):
Ability for Netherpanel to list only the updated addons in a sperate tab.
Showing of Updated Libraries
Showing of a changlelog after update
Also a tab or something showing the newly added addons to the files.wowace.com would be nice. i am always on the hunt for something new.
But i will give you credit for an awsome peice of work and look forward to further updates
http://netherpanel.lyndir.com/trac/ticket/22 -- Ticketed; sorry for the inconvenience. I hope you didn't actually apply these changes as they were previewed to you.
I have been considdering implementing this feature. Though so far I've put it off mainly because of the .wau file not being documented well enough for me to reliably implement it.
Changelogs will be viewed after installation finishes in the next version. If there is any more information you'd like me to display, definately let me know.
The UI is counter-intuitive appearantly. I personally hadn't noticed mostly probably because it just grew on me as I developed it. I am redesigning it now. The more info & tips I get on how things could be better, the better the end result will be; so if you have any hints, I'd love to hear them.
I am definately making it easier to find your way to the addon manager, am loading the addons immediately instead of waiting until you click the "Next Step" button; am changing the way the buttons are layed out so that it's easier to find the button you need and am changing the text on the buttons to prevent confusion as to what they are for. I'm adding a help function in the program itself just in case people are still left clueless after reading the tooltip or looking through the UI. I'm trying to get rid of long descriptions and keep it short.
NetherPanel has appearantly gotten the impression of being complicated even though all you need to do is press the "Works" button or click next step a few times (this button will be renamed to tell you what step it will perform when you click it). It really isn't that complex unless you want it to be. There must be something that's making it seem complex -- obviously the annoying interface can't help -- but if anything else can be improved that I haven't thought of yet, let me know.
I have been thinking of getting rid of the launcher panel and just bringing up the addon panel on launch, but I figured perhaps this is just something you have to get used to as a first-time user. The launcher panel does give access to the "Works" button which does it all. I'm not sure what to do.
NetherPanel also color-codes addons depending on their status. So you don't just have the three letters, but also the color to go on, and the (Updating) message next to the name of selected addons. I'm going to make a tooltip over the letter codes say what they stand for. Also, NetherPanel defaults to making your addons use Embedded Libraries. This means no dependency management. If you want dependency management and externalized libraries; toggle that option on in the settings panel. Do you want me to set this on by default? Currently NetherPanel doesn't show you which libraries a certain addon is linked to unless you fold open the graph pane and hover over the addon (you get a nice graph showing the relation between the addon and dependencies). The filter button in NetherPanel also hides all addons that aren't selected so that you can easily see the addons that you need to look at; like you said, the addons to upgrade.
I think mostly, the functionality is there, or being worked on by me, but it's perhaps not easy to find. Sorry for that and once more -- if you have any tips .. =)
Good idea. Ticketed: http://netherpanel.lyndir.com/trac/ticket/23
Cheers - I hope I can fix the flaws NetherPanel currently struggles with soon.
there's only two ways the file is added to the .wau file.
If the addon's folder needs to be renamed, as in AuldLangSyne's, and if the folder can just simply moved as-is.
Assuming addon name Package, and 2 module folders underneath Package named Module1 and Module2
filelist.wau will look like this:
@Module1
@Module2
This will unpack the modules, replacing '@' with 'Package_':
Package_Module1
Package_Module2
This is how -most- addon packages work.
However, some, like prat, do not need to have their internal folders renamed, like this example:
Package, with modules name Package_Module1 Package Module2
filelist.wau structure:
Package_Module1
Package_Module2
It's really pretty simple stuff.. Whatever folder is listed inside of filelist.wau should become a separate, new addon, and all instances of @ should be replaced by the parent addon's foldername.
That's BigWigs' filelist.wau.. and it uses exactly the method I showed you..
http://svn.wowace.com/wowace/trunk/LibPeriodicTable-3.1/filelist.wau
That's LibPeriodicTable-3.1's filelist.wau, and it -also- uses exactly the method I showed you..
As for why? Well, in the case of LibPeriodicTable, I would think it'd be fairly obvious.. You download a single lib, and when addons need to run it, instead of having to load the entire libPT database into memory, it only loads those itemtypes it wants, such as -Gear, or -Consumable etc.
In the case of addons like BigWigs, it allows you to load -only- the modules -you- want, instead of the whole thing, yet still provides functionality without having to go out and find all the different modules you want.
In both cases, the main reason is this: packages are easier for both the User, and the Developer to release.. "In your screenshot, I see X addon doing Y, I cant get mine to do that! this addon sucks!" When there's default functionality, that can be disable, you make it into a separately-loadable addon. But if you want that functionality enabled by DEFAULT, you must include the addon into the download package.. these two ideas were mutually exclusive until the idea of auto-packages, using filelist.wau
I suppose your argument of making them enabled by default is a valid one -- the addons will be downloaded in the BigWigs package and all addons will be enabled by default until you manually disable them. Granted. But the concept is still flawed. Hacks like these completely invalidate any dependency management and should be abolished.
Instead, the dependency management needs to be fixed to satisfy the requirements.
I stand by my point that packaging addons inside addons and then expecting the UPDATER tool to sort things out for you by moving folders around is WRONG. It is not the responsability of the tool. Instead, there should be addons called BigWigs_Foo and BigWigs_Bar, one (dummy) addon called BigWigs with OptDeps to BigWigs_Foo and BigWigs_Bar. These OptDeps should get a boolean property selectedByDefault or something.
The theory is all this is management of dependencies. And doing dependency management behind the back of the dependency management is just wrong, no matter how you word it. These relationships need to be declared in the latest.xml file. If they are not declared there I will not take them into account. WAU is a nice tool; but when you look at the code you shriek. It is ridden with work-arounds and hacks to get things done.
NetherPanel will not implement hacks to achieve a feature the WAU author wanted to implement behind the back of the maintainers of the dependency management behind Ace.
If you can tell me who in the Ace community I need to talk to in order to settle this issue in a correct manner relying on the dependency relations defined between Ace addons I will definately go talk to them about it because I do think the concept is definately interesting and will hurry to implement it as soon as I can do it in a sane manner that does not involve a second layer of dependency or addon management.
Appearantly WoW forces OptDeps to be loaded immediately and they cannot be LoD. For that reason it's definately impossible to define an OptDep relationship between, say, BigWigs and BigWigs_BlackTemple because the latter would get loaded when you enter WoW, rather than when you enter the instance. Sucks.
With that, the only alternative I'd prefer over this method is adding an extra field to the latest.xml file that declares which addons are modules of a given addon. That way, the addon BigWigs would have this:
I noticed BigWigs' definition already contains this:
Recon I could use this relationship to reliably tell addon modules? Probably not.
Anyway, trying to think of a non-hackish solution to the problem.
every single ace2/3 addon author decides you are right and implements the "new standard" -or-
your updater is modified to support the -current- standard?
Simple reasoning states that it is far easier for a single developer to support an already-decided, and working, implementation, rather than attempt to convince a few thousand -other- developers to support a completely different implementation..
Again.. I state my observation of -most- coders.. They -love- to fix stuff that aint broke...
simply begin a request for comments on the idea of adding
#X-Modules: Module1, Module2
updaters could then look for folders inside the addon's main folder called either, "Module1" or "Addon_Module1"
and subsequently move the folder into the main addons folder as "Addon_Module1"
but in the interim, until everyone begins to update their tocs to reflect the new 'standard' I would suggest backwards compatibility with filelist.wau for a while, to allow time for authors to change their addons..
By the way, whether the modules are listed using X-Modules or a filelist.wau; my main point is they should not exist in the main addon's folder but should exist as separate entities in the Ace SVN -- that is where my objection lies. If they are addons, they should be addons, not directories inside addons; an updater updates addons by checking out the latest from the SVN; it should not create addons by modifying the SVN's content locally.
Enough said; I'll put this on my todo list; (which is ever growing now).
How about putting an option in the configuration screen allowing the user to set how Netherpanel launches. User a might like the launcher and yet user b might just want to get right in a update there addons. So put an option in to say something like: Show Launch Panel at startup or Show Addons at startup (sorry i dot have alot of knowledge when it comes to programming or software development). But i just thought that could work as it give the user the option instead of you working out whether to keep or get rid of the launcher. This -should- keep all the for and against the launcher happy.