An unexamined life is not worth living.

Tuesday, December 25, 2012

Chess Software – SCID vs. ChessBase – Cultural Differences

In his famous article titled Biculturalism, a famous software “expert” Joel Spolsky asks a rherorical question - “What are the cultural differences between Unix and Windows programmers?” His answer is simple: “for the most part it comes down to one thing: Unix culture values code which is useful to other programmers, while Windows culture values code which is useful to non-programmers.”

Looking at the chess software called SCID I realized that in comparison with other most popular software such as ChessBase, it clearly comes from a different culture. Where it becomes most noticeable is an ability to customize, extend and automate each program.

 Customizing ChessBase or ChessBase Light, or Fritz (and same applies to Chess Assistant and Convekta’s tools) – is mostly done via updating shortcuts and moving window layout with a mouse. Customizing SCID is achieved by updating text files on disk or adding sets of images in a different directory. Staying textual is what Joel says is typical for the Unix culture.

Automation is another component where the two differ – automating SCID can be achieved via writing TCL scripts that use a clearly defined interface (API) that has been a natural part of the software's architecture - Nearly everything that is done by the SCID UI goes through the same interface. You can also run SCID without user interface at all, and just use the core system from the command line, as it was clearly intended to be used by a programmer.

Automating FRITZ is only possible by using whatever automation has been provided in the main user interface (so you can print several games at once – that’s the kind of “automation” it mostly provides). Aquarium (another Windows program) at some point added a scripting interface, as the developers realized that a lot of their users would like to extend a tool. However it clearly seemed like like a “slap on” effort and that the original system was not designed for this. Limitations and bugs seemed to be endless – at least that’s the impression I got based on user feedback online.

In the end of day, it is not surprising that Fritz is the most popular chess software while most chess fans have never heard about SCID unless they are using Linux as they are primary operating system. Marketing has a lot to do with it, and so does the slightly strange looking window layout that SCID uses. It is also important to remember that ChessBase’s founder Frederic Friedel was one of the pioneers of chess software from the mid-eighties, so it is only fair that his products succeed.

I do hope, however, that the community behind SCID will continue to grow as there are so many things it can do that many do not realize. Also, in the time of many new platforms emerging very quickly - having something written for a programmer makes it easy to port software, so is not surprising that Apps like SCID on the go become popular and appear for free even before larger software companies find the resources to port their windows oriented programs to mobile (and some of them never do because it is too complicated). Sometimes biculturalism is a good thing!


image - “SCID on the Go” UI  - ever wonder why the free “SCID on the go” can read SCID’s native database format, and $5 ChessBase on Android (which is wonderful otherwise) – can’t do that for ChessBase format? Might have something to do with the “UI is the most important thing” approach in the original system).


  1. SCID is quite nice. It needs to some learn about it but with stckfish working well.

  2. Scid vs PC is just great. I see no reason to use ChessBase Database.

    1. I must admit, I went on to the "Dark Side" since writing this post, as CB had a price discount for a couple of days, and it seems to be the only database software with a chessboard that is pleasant to use. I have also written a few crazy auto-hotkey scripts to automate certain features in CB, so I can run some limited batch operations on hundreds of CB games. I still use SCID scripting features to export pgn games almost daily though.


Hit Counter