NewsFlash: Incoming Improvements to the Curse Client

The State of the Client

I want to start out by stating that we're well aware of the issues. We're not deluded into thinking that the current state of the Curse Client is as good as it gets.

Up until this point I've been on the sidelines of the Client, however I'm pleased to say that I'm taking over the project and will be leading product development on the client.

I've spent a large portion of my time over the last several weeks reading forums and talking to people to get a better idea of what people want, need, and hate.

We've recently broken 500,000 Client installs. While that is a very exciting number for us to reach, it also shows us the level of responsibility we have to making sure that the client is the best possible.

The Big Issues

It is the primary purpose of this announcement to help communicate what's going to be changing in the near future. But first let me recap some of the things that are definite issues(in no particular order). This is also not necessarily an all inclusive list.

  • Ignoring manual deletions
  • Installing over addons
  • Downgrading addons
  • UI feedback failures
  • Poorly worded options and button text
  • Too much automation in some places, too little automation in others
  • Lack of features that are considered defacto standards
  • General reliability

Now I want to tell you what we're going to be doing in order to improve things.

What we're going to do about it!

UI Changes

First we're giving the UI an overhaul. The overall goal here is to make sure that the interface is more intuitive, more usable, and that it gives better feedback about what it's doing. To that end we're taking the following steps:

  • In an effort to increase the usefulness of the listings we're making the bottom details pane shrinkable so that you can see more addons listed at a time. You'll be able to view it if you want, but if you prefer you'll be able to use the full size of the window for the listings. Long term you'll even be able to decide what portion of the window is taken up by the bottom pane.
  • We're taking and applying some background colors the listings in order to let you know what' s happening.
    • Gray - For svn, git, and mercurial working copies.
    • Yellow - Ignored addons.
    • Red - Addons that are out of date.
    • Green - Addons that have been updated recently.
    • Purple (maybe) - Addons with unrecognizable versions. (more on that later)

In addition to the above colors we're going to be using sorting to help it make sense. All Yellows and Grays will be forced to the bottom of the listings. All Red and Purples(?) will be forced to the top for easy identification.

  • We're rewording the buttons to make things make more sense to the end user. Intuitiveness is a major concern.
  • Version numbers will be defaulted to instead of dates in the addon listings. We will provide an option for people who prefer dates.
  • Reorganization of the buttons and other controls so that the important ones are more obvious.

We're also going to be enhancing the activity log panel, making some adjustments to the change log viewers, redoing the listing controls to allow you more options, adding more messages back to the user, etc.

New Features

Like I mentioned before we're missing de facto features. And we'll be moving quickly to add them.

  • Alternate Packages - Up until now we've called this disembedded support. It is coming back.
  • Dependency Resolution
  • Manual Deletion Detection
  • Alpha Support
  • Multiple Game Support - So you can manage your PTR or Beta installs separately of your main install
  • Version Pinning - Installation of a specific version.
  • Submodule support - For example you'll be able to selectively install or update to a specific sub folders of an addon.
  • Saved Variable Scrubber - This will be on demand clean up, it will NEVER run automatically.
  • Automated and Manual Backups - We will keep an automatic backup of addons on update. And you'll be able to manually backup and restore a full backup on command.
  • Real Configuration Box
  • Deletion before upgrade - This will probably be enabled by default, I'm open to feedback though. Keep in mind that with the new fingerprint system (outlined below) a dirty upgrade could break future updates.
  • Uninstalled Package Listing - We'll be showing you a new tab of all Unrecognized packs. Limited management will be available via this listing. You'll be able to remove them, and try to identify them.

Several of these above features are considered to be advanced features and we will be labeling them as such.

Changed Behaviors & Methods

One of the larger problems we've faced is about it auto detecting the wrong addons and/or downgrading or otherwise installing things wrongly.

We're taking a few steps to fixing these problems.

Discovery and Detection of versions

First, we're changing our auto detection code. In the next major release we're switching away from toc name based matching to instead use unique version fingerprints. We will both be fingerprinting individual files and packages as a whole in order to know for sure what version you're using.

Because of the fact that this will allow us to know within a very high level of accuracy in identifying exactly what version of a addon you're using we'll be able to reliably recommend upgrades.

The question shifted at that point to knowing what to do when we don't recognize the files. So we're changing the behavior some. For unrecognized packages we'll be displaying a special Unrecognized status. From that point on we won't update the addon until either a) you tell the client to or b) we learn for sure what version that is.

This does have one potential issue, or in some cases a feature, for auto discovery. If you go in and edit an addon, add a file, remove a file, etc the fingerprint of the file will change and then the fingerprint of the whole package will change.

In the case of initial discovery we won't be able to auto detect what project the files belong to. If we do know what project the file belongs to it becomes an Unrecognized version and will no longer be updated until you tell the client to do so. Down side, if you have some zombie files in your directory from unclean upgrades you'll need to manually match the project or tell it to upgrade.

The current toc name based scanner will still be available for suggesting matches in the new Uninstalled Package Listings.

Changes to Defaults

We're changing a few default behaviors. We'll no longer be defaulting to fully automatic addons update as this seems to be counter to the majority of our users usage patterns. We'll be shifting the defaults throughout the client to match the default behaviors of our users.

Popup Questions

These annoying repetitive popup questions will be streamlined out of the client. Anytime we find ourselves saying "well we could ask the user...." we're going to smack ourselves and find away to do it without that.


As a result of the above changes, if anything we'll be overly cautious about doing the wrong thing.

The Mac Version

Having a fully functional Client under Mac is very important to us. We know that it does not follow many of the standard conventions on macs at this time. We will be addressing as many of those as possible, however our first focus is on having a solid product with all the needed features. After we get there we will then focus on asethetics and the macesqueness of the client (is that a word?).

Conclusion

I'm very happy to be stepping up my participation with the Client. I hope that this massive wall of text I've posted has helped you realize just HOW serious we are about delivering the best possible updater.

We will be continuing the free premium preview until we've gotten most of the things in this announcement out the way. We hope to have everything in this missive out to you guys in just a few short weeks.

And as always, please give me as much feedback as possible. Any and all constructive feedback on the things outlined in this announcement is most certainly welcomed.

It's a lot of work to do. We're making daily progress. And I'll keep you posted.


You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of RLD RLD Tue, 28 Oct 2008 13:14:47

    well unfortunately those us still on OSX 10.4.11 will be out of luck all together. the only clients on all sites that actually work are WowInterface updater (barely) and the hateful wowmatrix (which now provides descriptions and actual addon links to the sites that they d/l from). Curse client won't even launch on my version of OSX and neither will jwowupdater. newer versions of dylib and java are not available for for those of us that do not feel it necessary to upgrade our OS for $120. the embedded libs in the apps are not being accessed at all or if they are they are making calls on the OS version that is a lower version that is not being used by the prospective apps.

    Not all of us can afford a new OS or machine.

    To be honest (personally) I don't want an application automatically updating. I want to know if there is a version chg., the date of the chg., and compariosn of the version numbers. If it d/l when I select it that would be a plus; but not needed. I just need to know if the addon is updated w/o manually hunting thru a website that won't sort by date (curse specifically). wowui and wowinterface at least sort by date.

    RLD

  • Avatar of OrionShock OrionShock Tue, 28 Oct 2008 12:27:52

    in a word "Woot!"

  • Avatar of Laibcoms Laibcoms Tue, 28 Oct 2008 01:50:45

    GNU/Linux version please?  :p If Mac gets some love, we should too! hehe..

    Gratz and good luck Kaelten and the team!

  • Avatar of WanderingFox WanderingFox Tue, 28 Oct 2008 00:19:17

    If all of that actually gets implemented we might finally have a reason to use it! As it stands now, manual updating was less of a hassle. ^_^

  • Avatar of Kaelten Kaelten Mon, 27 Oct 2008 23:47:17

    Phanx: My comment was referring that there might end up being a separate tab for that. I'm not 100% sure they'd be useful in the main addon listing. But yes, I do agree with you completely about the fact that they should be viewable in the client.

    Also, when I made my note earlier about the other accessibility issue, I also added a note about font sizes :)

    WowAce.com & CurseForge.com Adminstrator
    Developer of Ace3, OneBag3, and many other addons and libraries
    Project lead and Mac developer for the Curse Client

  • Avatar of Becoming Becoming Mon, 27 Oct 2008 23:09:54

    This is great news! I can't wait. :)

  • Avatar of Phanx Phanx Mon, 27 Oct 2008 22:06:19

    Also add to your list that the text size of everything in the client is so small as to be nearly unreadable (for me). It would be nice if it used the Windows equivalent of WoW's "font objects"... i.e. the specific "types" of text that the Display control panel allows me to configure. It already does this for the program menus.

    And, "purples" should indeed show up in the list. With 250 addons installed, it's rather a pain in the ass to have to keep switching between my addons folder and the client to hold its hand through finding them on Curse. Right-clicking on a "purple" addon could bring up a context menu with an entry to search Curse for a match. Right now it's a bit strange how you have the client acting like an all-in-one addon manager in some regards but like a mere updater in other regards. One or the other!

  • Avatar of Kaelten Kaelten Mon, 27 Oct 2008 21:17:13

    It is also possible that purples may not show up in this listing at all.

  • Avatar of Kaelten Kaelten Mon, 27 Oct 2008 21:15:47

    Actually phanx I apologize, that was a bug as we switched the colors at the last moment and no one caught the fact I only remember to change the one.

    I've fixed it. I'll also make some notes about accessibility issues with the suggestions you put forth.

  • Avatar of Phanx Phanx Mon, 27 Oct 2008 21:01:39

    "All Red and Grays will be forced to the bottom of the listings. All Yellows and Purples(?) will be forced to the top for easy identification."

    If red is going to be the color code for "this addon needs to be updated", shouldn't it be at the top of the list so users can see what needs to be updated?

    Also, to point out the (hopefully) obvious, colored background highlights won't work for colorblind users, and will almost certainly make the already tiny text even more difficult to read for visually impaired users, and will probably be an unsightly rainbow of clashing colors even for users with normal vision.

    Using a uniquely shaped status icon for each type would solve all of these issues. Green check mark for "up to date", yellow exclamation point for "out of date", red X for "ignored", gray gear for "working copy", any color question mark for "unrecognized".

    I would also question your "force _ to _ of the list" idea. First, if a user is looking for a specific addon in the list, but doesn't know what its status is, why should they have to scroll all around looking through five different sub-lists to find it? Status icons, again, would fix this -- the icon could be placed in its own column, allowing sorting by status or by name.

    Also, why would you push addons that need to be updated to the bottom of the list? By far the most common use of the Client is updating addons, so addons that need to be updated should be at the top of the list where the user can look them over quickly without having to scroll to the bottom of the list. I would suggest the following order when sorting by status:

    • Out of date
    • Up to date
    • Unrecognized
    • Ignored
    • Working copy