Save Online should be asyncronous

• Jul 19, 2023 - 13:22

Every time you save a cloud score, it stops you a couple seconds while it saves online.

As someone that saves constantly, this is really troublesome as my options are: Continue saving on every edit and losing around 15 seconds on every edit, or working without saving risking losing all of my work on any crash, blackout, kicking the wire or any sort of unforeseen events.
With the current system, a cloud only score is unfeasible.

My suggestion is that when you save a cloud score, it runs on the background with some loading ui so that the user see that the current work is BEING saved but not yet.
That way the user can continue to work to the score while the last save is running.

The problem with that aproach is if the user saves while there is already another save routine running.
If you just cancel the current save routine and start a new one, you may cause a problem if someone like me who saves constantly keeps canceling the current save routine. Wich makes the save useless.

Otherwise, if you queue every save you can end up with a mile long queue so that it will take ages for the last element to run and save.

My suggestion is to have a mix of the two.
Let the fist save routine to run and keep running until it finishes.
If second save is made while the first one is running, it is added to a 1 length "queued".
If a third save is made while the first one is running, it delete and replace the second save on the "queued".

That way you always have at least some save routine finishing and the "queue" is never too long.

Do you still have an unanswered question? Please log in first to post your question.