Categories
News

Chore revisions – let the past remain the past

Some of you who have been using ChoreBuster for a while will have noticed an odd quirk – when you edit a chore it recalculates the entire schedule from when you made your account, often months ago, to the present, then off into the future. As chores are allocated based on what work gets done, the new schedule could look totally different to the one you had moments before. 

This isn’t really a problem when you first set up your schedule but as people start to do chores it is – people who had recently finished chores would no longer be allocated those chores and so ChoreBuster would ‘forget’ they had been completed and calculating rewards based on chore completion becomes impossible.

Another side-effect of shuffling a schedule like this is that an email containing chores to do that day may no longer match what is on the website so if some people use the email and others use the website, confusion ensues.

A solution!

This week those problems have been mostly solved – whenever you change a chore the new settings will only take effect from tomorrow onward. The past will be unaffected. If you delete a chore then it will remain on older days of the schedule and stop appearing from tomorrow onward. 

This is achieved by creating revisions of a chore when it is saved, similar to how CMS software does when you edit a page. Each revision has a period of time when it is used to calculate the schedule, which is the time between revisions. The current settings, the ones you see when editing the chore are used from whenever you last saved the chore and into the future.

Caveats

When saving a chore all future days will be recalculated, as before, so if the weekly email has been sent and you make some changes the day after then the issue of emails and online not matching will still occur. This problem should not occur with the daily email as new settings take effect the day after they were saved.

This was a major rewrite of some core parts of the ChoreBuster algorithm and there were some tricky parts that are hard to be 100% sure about. If you notice any strange behavior, please let us know. If it’s working properly but it is more annoying than helpful, please let us know!

If you change the start date of a chore the revisions don’t work and past parts of the schedule may end up looking different. Sorry, fixing that was too hard for now.

That is the main update we’ve been working on. But there are a few more things we’ve managed to squeeze in recently too, so read on for more.

Chore End Date

In order to make chore deletion work the way described above, every chore needs an end date. So when you delete a chore, behind the scenes they are not really deleted, just given an end date. It was trivial to provide a field in the user interface so you can set this to a value without deleting the chore.

This field is not likely to be used often so it is hidden away in the “Optional Extras” section when editing a chore.

Cloning Chores

Often you’ll want to create a few quite similar chores with minor variations. Now, you can create a duplicate of another chore with a single click from the Show Chores screen. Look for something like this:

Be aware that if you clone a chore with a start date in the past that this will cause the schedule to be recalculated from that date onward, potentially making a mess of your finished chores and rewards tracking. To avoid this you can edit the start date on the cloned chores.