@rougier note I changed this. It's possible to call `canvas.update()` when the backend hasn't been created yet (this was happening with the `glfw` timer). See if you're okay with this change.