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!
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.
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.
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?).
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.