Chess for Android consists of a chess engine and a GUI. The application accepts moves through the touch screen, trackball, or keyboard (e2e4 pushes the king pawn, e1g1 castles king side, etc.). An optional "move coach" highlights valid user moves during input and last played engine move. Full game navigation enables users to correct mistakes or analyze games. Games import and export as FEN/PGN to and from the clipboard or via sharing, load and save as file, or are set up through a position editor. A draw by stalemate, insufficient material, the fifty move rule, or threefold repetition is recognized. The engine plays at various levels (including random, against itself in auto-play, or free-play, where the game can be used as a "magnetic chessboard"). The user can play either side and, independently, view the board from the perspective of white or black.
The application supports the Universal Chess Interface (UCI) and Chess Engine Communication Protocol (WinBoard and XBoard), which allows users to play against more powerful third party engines or even play tournaments between engines. Engines are imported in Android Open Exchange format (OEX), in Android Chessbase compatible format, or directly from SD card. Engine setup features time control, pondering, infinite analysis, hash tables, multiple threads, endgame tablebases, and opening test suites.
The application connects to an external electronic chessboard (Chessnut, Certabo, DGT, or Millennium) and supports online play on FICS (Free Internet Chess Server) or ICC (Internet Chess Club).