That was something fun to make yesterday evening. :D
When in-game yesterday, I noticed that a huge number of people had no idea how the multiplier over the Bonus XP Weekend will work and a large number of people who did understand it were having trouble with the numbers. These discussions made me interested in how the figures actually ended up cumulatively over time, so I started off by creating a 5000 row table in Excel with various numbers in, only to find that it couldn't do quite what I wanted.
The next step was to make a very basic calculator with the same functionality as the spreadsheet, but working as I wanted. This first version had an hour split into 100 segments, with decimals to indicate minutes. At this point, I decided that if I was going to make something basic for myself, it might as well be made slightly easier to use and available for everybody.
Next was adding a way to change the start time so that you don't have to be doing the same thing for the whole weekend. For this, I decided to split the hour and minutes into separate inputs to make it nicer to use - who knows what 47 minutes is as a decimal of an hour? (it's 0.783333333...)
I then changed the Task Length input to this Hour / Minutes format so that it was easier to do calculations with the two values. This meant that the multiplier would be calculated to the nearest minute rather than nearest 36 seconds. It was only today that I got round to reading the answers by Mod Fnord in the RSOF thread and realising that this is how it'll be calculated in-game, so go me! This also solved a problem that could crash the browser if you entered a really high value rather than decimal. :)
With the basic functionality sorted, I did some playing around with the values in the input boxes so that there's a default of '0' and it'll auto-clear when you click in it. It'll also clear any values that you enter which aren't numbers - you can't easily do calculations on 'gh' xp and I didn't see the point in making Roman Numerals work... maybe next time! I also made it possible to hit Enter to calculate the multiplier rather than having to click the button simply because I found myself attempting to do so while testing.
Next came the styling - making it look nice and ensuring various element fits the table cell that they're in. This took a couple of attempts and had to be 'redone' when I decided to add a title to the table that the calculator is in, but that's all part of the fun
With that done, I realised that it would be a lot more useful if it'd actually tell you how much xp you would get rather than simply provide the multiplier. A couple of minutes of copypasting and a small addition and that functionality was added.
Finally was writing the text to go above and below the calculator as well as a bit of final testing in various browsers with a range of values to make sure they were the same as what Excel gave.
The calculator itself took about an hour to make, with styling, testing and writing the instructions adding another hour. I'd say that's two hours well spent. :)