hgm wrote:I am pretty sure that online connectivity has nothing to do with it. It is not trivial to run engines on another machine as the GUI, and only very few people have ever managed to do it.
It's trivial today - just start the appropriate app. You can e.g. play Shredder over the internet, which has the great advantage that the computations don't drain the battery of the smartphone.
Besides, UCI is not robust against random disconnection at all.
That's correct, but syncing up after the reconnect is easy because there is no special syncing at all, just the normal procedure.
But I don't think any existing GUI does that.
No, but that's because most programs have regular output with the nodes, NPS and hash table usage. I'm doing that once per second, on top of the info when a new depth has been reached.
The required action (restarting of the latest search) can be taken in any protocol.
True, you can use new/force with Winboard also. However, since Winboard doesn't require the engine to answer anything while computing, there is no way to check whether the engine is still alive during computations.
An optional feature "immediate ping" would help here, a ping that has to be answered immediately and possibly out of order with other commands. Optional because that would not work with engines that don't use any threading. Something like "feature iping=1".
Would you want to amend the protocol with that idea?
Plus of course that syncing is even necessary and therefore requires special action.
Non-standard castlings can already be defined this way too, as special moves of the King.
So, assuming that any engine would support this, you could actually do the super-long castling to a freshly promoted rook? Illegal as per FIDE rules these days, but Tim Krabbé's famous puzzle was really fun.
(What is 'overpromotion', btw?)
Having more promoted pieces than the amount of absent pawns would allow for.