geots wrote:Zach Wegner wrote:Graham Banks wrote:Zach Wegner wrote:Yawn... another protocol war.
UCI sucks.
Despite your aversion to uci, it currently seems to be the most accepted protocol.
I'm most appreciative of the wb2uci adaptors.

Well, Windows is the most popular operating system. Tells you something, huh?
Don't get me wrong, the XB protocol isn't the best, but there are efforts to improve it that will make it much better. IMO the design of UCI is fundamentally flawed, and the fact that it was designed by non-native English speakers just makes it that much worse.
Not trying to be ugly here- just truthful. It really matters little or nothing to me what you or Lance think. There will always be an abundance of UCI engines to test.
Both protocols have their strengths and weaknesses.
UCI is a stateless protocol, so it is very difficult to correctly implement features such as learning.
Winboard concentrates on the conversation between the engine and the chess engine manager without paying much attention to set-up details and so winboard engines are a bloody pain to set up.
There are plenty of other strengths and weaknesses.
Naturally, both protocols will evolve until they reach a state that is better than their current state.
Now, the thing that is going wrong in these conversations is the manner in which feature requests are being made.
If someone says "You ignorant sack of cat vomit, why did you choose that stupid, insipid, brainless protocol?"
I guess that I will ignore it.
If someone says "I wish you had chosen this othe protocol because it is difficult to accomplish <feature> with the one that you chose"
I guess that the response will be better. Either someone will tell you how to accomplish the same thing, or someone will expand the existing protocol, etc.
For me, I think:
Winboard is better for the engine/game controller interface
UCI is better for setup.
Both protocol owners should steal the best ideas from the other protocol.
I think that the setup data should be kept in a database with a consistent GUI interface. Perhaps Java or wxWidgets would be a good choice for the GUI.