Changes

Jump to: navigation, search

GUI

1,818 bytes added, 08:17, 15 April 2021
no edit summary
[[File:machackdisplay02.jpg|border|right|thumb| Mac Hack [[Lawrence J. Krakauer#DEC340|display]] <ref>[http://ljkrakauer.com/LJK/60s/resign.htm I resign] by [[Lawrence J. Krakauer]]</ref> <ref>[http://ljkrakauer.com/LJK/60s/chess1.htm Chess stories] by [[Lawrence J. Krakauer]]</ref> <ref>see also [http://projects.csail.mit.edu/video/history/aifilms/63-chess.mp4 63-chess.mp4] hosted by [https://www.csail.mit.edu/ MIT CSAIL]</ref>]]
'''Graphical User Interface''' (GUI),<br/>
a user interface where [https://en.wikipedia.org/wiki/Interaction interaction] between user and a (chess) program takes place. Opposed to the sequential nature of a pure text based [[CLI|command-line interface]], where a program prints its output and prompts for input, a [https://en.wikipedia.org/wiki/Graphical_user_interface graphical user interface] allows a more sophisticated, graphical presentation of the programs output, as well within its [https://en.wikipedia.org/wiki/Event-driven_architecture event-driven architecture] a more flexible user interaction not only by typing text commands, but using a [https://en.wikipedia.org/wiki/Pointing_device pointingdevice], a [https://en.wikipedia.org/wiki/Mouse_%28computing%29 mouse] or a pen or finger pointing on and touching a [https://en.wikipedia.org/wiki/Graphics_tablet graphics tablet] with its [https://en.wikipedia.org/wiki/Touchscreen touchscreen], for random and [https://en.wikipedia.org/wiki/Direct_manipulation direct manipulation] of graphical elements. A GUI dedicated to play chess typically has a graphical [[Chessboard|board]] and [[Chess Game|game]] representation, where the user may [[Entering Moves|enter moves]] by [https://en.wikipedia.org/wiki/Point-and-click clicking] and [https://en.wikipedia.org/wiki/Drag-and-drop dragging] a piece, quite similar to moving a piece on a "real" chess board.
* [[Aquarium]]
* [[Arena]]
* [[Banksia GUI]]
* [[Banksia GUI for iOS]]
* [[Caddell Chess]]
* [[Chess Academy]]
* [[Chess Assistant]]
* [[ChessX]]
* [[Cute Chess]]
* [[Dreamer#DreamChess|DreamChess]]* [[DroidFish]]
* [[EBoard]]
* [[EchoBoard]]
* [[Fancy]]
* [[Fritz#FritzGUI|Fritz GUI]]
* [[Gavon]]
* [[Glaurung#GUI|Glaurung GUI]]
* [[glChess]]
* [[GNOME Chess]]
* [[Hiarcs HIARCS Chess Explorer]]
* [[Jerry]]
* [[jose]]
* [[SCID]]
* [[Scid vs. PC]]
* [[Scidb]]
* [[Shredder#GUI|Shredder GUI]]
* [[Tarrasch]]
<span id="NotationWindow"></span>
==Notation Window==
The notation window represents the [[Game Notation|game notation]] or score-sheet of the chess game, the [[Move List|list of moves]] of the game. It works like a multiple line [https://en.wikipedia.org/wiki/Text_box text box] or multiple column [https://en.wikipedia.org/wiki/Grid_view grid view] or [https://en.wikipedia.org/wiki/List_box list box] often scrollable and indicated by a vertical [https://en.wikipedia.org/wiki/Scrollbar scrollbar]. A [https://en.wikipedia.org/wiki/Cursor_%28computers%29 cursor] inside the notation window might be associated with a [[Ply|half-move index]] in the range from zero (before first half-move played, [[Initial Position|initial position]]), to N (after last half-move played, current game position), and determines the position displayed in the board window. If the game window has keyboard [https://en.wikipedia.org/wiki/Focus_%28computing%29 focus], it receives input of moves via move coordinates or [[Algebraic chess notationChess Notation|algebraic notation]].
==Information Windows==
Information windows are associated with an engine actually playing or analyzing a game. It displays [[Search|search]] information like [[Principal variationVariation|principal variations]] and associated [[Score|scores]], times and that like. It is often implemented as scrollable logging window, always appending text at top or bottom lines.
=Mobile GUIs=
* [[Chess for Android]]
* [[Banksia GUI for iOS]]
* [[DroidFish]]
* [[PocketGrandmaster]]
* [[Android]]
* [[Linux]]
* [[iOS]]
* [[Mac OS]]
* [[MS-DOS]]
* [[Windows]]
 
=Quotes=
[[Harm Geert Muller]] wrote on a [[Talkchess]] thread <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=7&t=58687&hilit=winboard#p653469 Re: Object model for chess GUI?] by [[Steve Maughan]], [[CCC]], December 26, 2015 » [[Protocols]]</ref>
 
Beware that writing a GUI is between 10 and 100 times more work than writing an engine.
=See also=
* [[Chess Game]]
* [[Chess Server]]
* [[CLI|Command Line Interface]]
* [[CPW-Engine_com]]
=Publications=
* [[Duane Szafron]], Brian Wilkerson ('''1986'''). ''Some Effects of Graphical Interfaces in Programming Environments''. CIPS/ACI Congress 86, [https://webdocs.cs.ualberta.ca/~duane/publications/pdf/1986cips.pdf pdf]
* [[Haiying Wang]] ('''1994'''). ''[https://era.library.ualberta.ca/files/2227mr67d An application-oriented user interface model and development system]''. Ph.D. thesis, [[University of Alberta]], [https://era.library.ualberta.ca/files/2227mr67d/NN11407.pdf pdf] » [[Abyss]]
* [[Mikhail Donskoy]] ('''2001'''). ''How the Computer-Chess Methods Help to Build Better User Interfaces.'' [[Advances in Computer Games 9]]
* [[Paul Fischer]] ('''2005'''). ''An Introduction to Graphical User Interfaces with Java Swing''. [https://en.wikipedia.org/wiki/Pearson_Education Pearson Education], [https://en.wikipedia.org/wiki/Addison-Wesley Addison-Wesley], [http://www.amazon.de/Introduction-Graphical-User-Interfaces-Swing/dp/0321220706 Amazon.de] » [[Java]]
* [[Oliver Vornberger]] ('''2006'''). ''[http://www-lehre.inf.uos.de/%7Ecg/2006/skript/skript.html Computergrafik]''. [http://www-lehre.inf.uos.de/%7Ecg/2006/PDF/skript.pdf pdf] (German)
* [[Timo Haupt|Timo Klaustermeyer]] ('''2006'''). ''Wandel von Interaktion zwischen Menschen und Maschine am Beispiel des Schachspiels''. Diplom thesis, [[Paderborn University]], advisors [https://dblp.uni-trier.de/pers/hd/s/Szwillus:Gerd Gerd Szwillus] and [[Ingo Althöfer]], [http://www.team-oh.de/files/Abstract%20Diplomarbeit.pdf abstract as pdf] (German)
=Forum Posts=
* [http://www.talkchess.com/forum/viewtopic.php?t=65485 Elements of the ULTIMATE Chess GUI?] by [[Brendan J. Norman]], [[CCC]], October 19, 2017
* [http://www.talkchess.com/forum/viewtopic.php?t=66811 Old chess GUIs] by [[Matthias Gemuh]], [[CCC]], March 12, 2018
==2020 ...==
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=75352 Web based GUI for UCI chess engine: YouTube series] by [[Maksim Korzh]], [[CCC]], October 10, 2020 » [[#Tutorial|Web GUI Tutorial]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=75992 UCI Gui to remote Linux Engine] by [[Joshua Shriver]], [[CCC]], December 05, 2020 » [[UCI]], [[Linux]]
=External Links=
* [https://en.wikipedia.org/wiki/GNOME GNOME from Wikipedia]
* [https://en.wikipedia.org/wiki/KDE KDE from Wikipedia]
 
==Computer Chess==
* [http://adamsccpages.blogspot.de/p/graphical-user-interfaces-for-computer.html Graphical User Interfaces for Computer Chess] by [[Adam Hair]]
* [http://computer-chess.org/doku.php?id=computer_chess:wiki:lists:gui_protocol_support_list GUI Protocol List] from [http://computer-chess.org/doku.php?id=home Computer-Chess Wiki] by [[Ron Murawski]]
* [http://www.septober.de/chess/index.htm Septober - Computerschach] by [[Herbert Marquardt]] (program list with screenshots)
 
==Web Development==
* [https://en.wikipedia.org/wiki/Ajax_%28programming%29 Ajax from Wikipedia]
* [https://en.wikipedia.org/wiki/Rich_client_platform Rich client platform from Wikipedia]
* [http://jtiscione.github.io/chessboard3js/play.html chessboard3.js] [[JavaScript]] [[GUI]] by [[Jason Tiscione]]
==Tutorial==* [https://www.youtube.com/watch?v=_0uKZbHWVKM&list=PLmN0neTso3Jz-6--Mj51Hc3jiLhkQm0DB Web based GUI for UCI chess engine] [https://en.wikipedia.org/wiki/YouTube YouTube] Videos by [[Maksim Korzh]] » [[BBC#GUI|BBC GUI]] <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=75352 Web based GUI for UCI chess engine: YouTube series] by [[Maksim Korzh]], [[CCC]], October 10, 2020</ref>
==Toolkits, Libraries and API==
{{Graphic and Widgets}}
=References=
<references />
 
'''[[User Interface|Up one Level]]'''

Navigation menu