UCI is designed with a different usage in mind. It's a protocol that basically puts the GUI in charge and thus ultimately the user.Steve Maughan wrote: Just to be clear, I did not say UCI is better because it's popular (which I think is implied by Bob's analogy). I said the best engines use it, so it must be "OK" (i.e. they must consider it does not weaken their engines).
- Steve
It seems to me to be designed for flexibility and analysis in mind.
The GUI play the book moves, the GUI does the learning, the GUI decides when you can ponder and if you got a ponder hit etc... The GUI becomes very much part of the game.
The winboard protocol is designed to allow the engine to be a "chess playing entity" of its own. The engine is in charge of everything, the book, the learning, what to ponder and when to ponder. It's all power to the engine.
The reason we don't agree on which protocol is the best is because we want different things. Many of us oldtimers don't want to just write analysis tools, we want to go all out and create battle bots for chess. An analysis feature is just a nice side affect, it's not the goal.
I don't hate the UCI protocol for what it is, I just think it has a different purpose than the winboard protocol. Sure you can work around the UCI protocol to still do some learning and such, but then you are basically working against the protocol and might as well just use winboard, IMHO.