user3468: I am writing a chess engine in C++ https://github.com/RomainGoussault/Deepov.
I know there are several interface protocols out there (UCI, Winboard protocol, etc) and I don't know which to implement. I would like one that:

enables my engine to play online tournaments
has several GUI for Linux, Windows and iOS
has some sort of documentation

Thanks

user8309: I don't think it's possible to create a GUI or engine as separate apps in iOS. iOS prevents one app from invoking another as part of its security setup. An engine author has to write the GUI, and integrate it with the engine before he can apply to Apple for approval for release on the App Store.  This may be true of Windows RT as well.  Android has GUIs and engines.
Also apart from UCI and CECP (Chess Engine Communication Protocol, i.e. winboard/xboard), Chessbase has its own proprietary protocol. Many of the strongest engines use UCI, while beginning programmers quite commonly use CECP.

user825: There're only two protocols - UCI and Winboard. Winboard is an old protocol and not really being used nowadays. Crafty is the only major engine still supporting the Winboard protocol, but it's only because the engine is also very old. UCI is a newer protocol developed by Shredder, and is used everywhere - Windows, Macs, Linux, Android, iOS etc. UCI is really the only protocol you should consider.

UCI is supported everywhere
Every chess GUI other than xboard supports UCI, such as, Chessbase, Scid, Arena etc. Even xboard can connect to a UCI engine by something known as Polyglot.
UCI documentation is at http://wbec-ridderkerk.nl/html/UCIProtocol.html

Winboard has more or less obsoleted because the protocol is more complicated than the cleaner UCI. Winboard is a stated protocol, it means the engine state depends on the previous iterations, whereas UCI is easier to deal with as you only have to supply with your current FEN or a move-list.

3468: <p>I am writing a chess engine in C++ <a href="https://github.com/RomainGoussault/Deepov" rel="noreferrer">https://github.com/RomainGoussault/Deepov</a>.</p>

<p>I know there are several interface protocols out there (UCI, Winboard protocol, etc) and I don't know which to implement. I would like one that:</p>

<ul>
<li>enables my engine to play online tournaments</li>
<li>has several GUI for Linux, Windows and iOS</li>
<li>has some sort of documentation</li>
</ul>

<p>Thanks</p>
 8309: <p>I don't think it's possible to create a GUI or engine as separate apps in iOS. iOS prevents one app from invoking another as part of its security setup. An engine author has to write the GUI, and integrate it with the engine before he can apply to Apple for approval for release on the App Store.  This may be true of Windows RT as well.  Android has GUIs and engines.</p>

<p>Also apart from UCI and CECP (Chess Engine Communication Protocol, i.e. winboard/xboard), Chessbase has its own proprietary protocol. Many of the strongest engines use UCI, while beginning programmers quite commonly use CECP.</p>
 825: <p>There're only two protocols - UCI and Winboard. Winboard is an old protocol and not really being used nowadays. Crafty is the only major engine still supporting the Winboard protocol, but it's only because the engine is also very old. UCI is a newer protocol developed by Shredder, and is used everywhere - Windows, Macs, Linux, Android, iOS etc. UCI is really the only protocol you should consider.</p>

<ol>
<li>UCI is supported everywhere</li>
<li>Every chess GUI other than xboard supports UCI, such as, Chessbase, Scid, Arena etc. Even xboard can connect to a UCI engine by something known as Polyglot.</li>
<li>UCI documentation is at <a href="http://wbec-ridderkerk.nl/html/UCIProtocol.html" rel="nofollow noreferrer">http://wbec-ridderkerk.nl/html/UCIProtocol.html</a></li>
</ol>

<p>Winboard has more or less obsoleted because the protocol is more complicated than the cleaner UCI. Winboard is a stated protocol, it means the engine state depends on the previous iterations, whereas UCI is easier to deal with as you only have to supply with your current FEN or a move-list.</p>
