develop a resurfacing module that enables users to redesign surface positions. Resurfacing code already exists. But, key challenges will be:
-
resurfacing is slow, so need to provide real-time updates of what the calculation is doing. Maybe just text? Or maybe show the currently searched fragments.
-
in some cases, resurfacing could take a really long time (say, if very many surface positions are selected). It would be useful to have session management, such that one can reconnect to a calculation. This would also be great for dealing with lost connections. Key question on the server side: when is it "safe" to abandon a long calculation? Users may accidentally specify wrong inputs, it would be good not to compute in vain. Could deal with this with a priority based system. Every time the user checks in, the priority goes up, but then it drops down over time as there is no checks from the user.
develop a resurfacing module that enables users to redesign surface positions. Resurfacing code already exists. But, key challenges will be:
resurfacing is slow, so need to provide real-time updates of what the calculation is doing. Maybe just text? Or maybe show the currently searched fragments.
in some cases, resurfacing could take a really long time (say, if very many surface positions are selected). It would be useful to have session management, such that one can reconnect to a calculation. This would also be great for dealing with lost connections. Key question on the server side: when is it "safe" to abandon a long calculation? Users may accidentally specify wrong inputs, it would be good not to compute in vain. Could deal with this with a priority based system. Every time the user checks in, the priority goes up, but then it drops down over time as there is no checks from the user.