Pages

Tuesday, May 3, 2011

BankAlt.com adds saving of recipe component costs

In my previous update on BankAlt, when I was announcing that BankAlt.com was officially out of beta, I was expressing my regret that I couldn't see any logical way in which to implement saving (but mostly restoring) of component costs for recipes.

Today I am happy to make another announcement: I have found a way to save and restore costs and it works the way I intended. After some internal testing I've decided to launch this new feature into the wild.

To quickly recap what BankAlt does, the site is a personal project consisting of a database of World of Warcraft professions, containing all the recipes in the game. There are various ways in which to search for a recipe but one of the most important features of BankAlt is the ability to dig deep into the full hierarchy of materials (or components) required to craft a recipe.

This should prove useful to crafters and people who like to make gold with their professions or who simply want to know what are the total materials (and sub-materials) needed to craft a particular recipe.

The second important feature of BankAlt is the ability to enter gold/silver/copper costs for each component and have the site calculate the total cost for the recipe on the fly.

Finally, the third important feature and the one which is the subject of today's post, is the ability to save those costs for later use.

It is important to note that this feature requires you to have cookies enabled in your browser in order for it to work. The component costs are saved as cookies on your local machine. Clearing the cookies from your browser will also wipe out all saved prices. It is unfortunate that this happens but it's the quickest solution I could implement. If the site will get more use in the feature I am considering a more permanent solution, in the form of a personal account where you can save your costs to the server such that they will never be lost.

I have implemented the save/restore feature partly with an idea from my reader Echo so if you are reading this, Echo, shout-out to you and thanks for your input man!

Because the way I initially thought about doing this turned out to be logically unfeasible, I had to arrive at a compromise. So here's how the new feature works.

To save the cost of a component, when you start typing a value in one of the gold/silver/copper boxes next to the component, a link will appear on the right, appropriately named "save". Click this and the cost for that component will be saved to a cookie. Once the cost is saved (which is practically instant), two new links will pop up next to the first one: "restore" and "×".

To restore a saved cost, just click the "restore" link whenever it shows up next to a component. This will restore the saved cost and automatically populate all the parent components for that component.

This solution is the best I could imagine (in my humble opinion) because it allows you to both save and restore mats regardless whether they are child or parent components. Restoring a child component will populate all parents. Restoring a parent component (one which also has children) will populate its parents but also wipe out all child components (the saved costs of those children remain saved).

You can also delete a saved cost if you wish, by clicking the "×" link. This does not clear the values in the gold/silver/copper boxes for that component. It simply removes the cost associated with that component from the cookie. Note that saving a cost when there is already a saved cost will overwrite the first cost.

So it's that simple, though I apologize if I've made it sound more complicated than it really is. That's what happens when you get an engineer to write documentation :)

I hope people will find the save/restore feature useful and, again, if the BankAlt.com gains some momentum, I'm planning to make it more permanent. Until then, I appreciate your feedback (any feedback) and please spread the word if you find BankAlt useful.

1 comment:

Echo said...

/wave + /hug

;-)