SmallChess / SmallFish

Ted Wong is the talented developer of a range of iOS chess apps. These include SmallChess, SmallFish and Chess Mini. You can contact him and keep up to date with his development activity via his twitter account – @SCChess

Please could you tell us a little about yourself and about your background
I am a bio-informatician. My area of expertise is quantitative modelling, for example, I would build regression models on how abundant your cancer cells in your body. Lots of my smallfish_app1works is on analysing our three billion DNA letters.

My recent publication:
• Spliced synthetic genes as internal controls in RNA sequencing experiments
• Representing genetic variation with synthetic DNA standards

I have completed three university qualification – computing, finance and mathematics. My interests are:
• Chess engine programming
• Financial mathematics
• Statistics
• Machine learning
• Bioinformatics

How did you get involved in developing chess apps?
I was always a chess engine programmer. I started my SmallChess engine around 2010, and was gradually building on it. SmallChess was a relatively strong chess engine, but there was no user interface. Before I brought my iPhone 3GS in 2011, chess was never a game I would imagine playable on a mobile device. Back then I was a loyal Fritz user on the PC. When Tord Romstad announced his Glaurung iOS app, I was stunned. It was revolutionary and it played very strong chess. The idea of porting my engine to the iOS platform spawned.

Of all the chess apps developed which is your favourite and why?
Stockfish and Glaurung. They are free, strong and absolutely revolutionary.

Which of your apps has been the most difficult to develop and why?
smallchess_app_image1The SmallChess app is my flagship product and is also one of the most advanced chess apps in the market. It’s very powerful, and it bundles lots of features. Unfortunately, this has made the maintenance extremely difficult. I am struggling with the development – too many features and too much code to work on. The app is one of the most difficult projects I have ever encountered.

The existence of Small Chess and SmallFish may confuse some users – what are the main aims and differences between the two apps?
SmallChess is the main product (that’s why the website is http://www.smallchess.com). It is designed to bundle as many features as possible, although not everything is useful. The SmallChess app is mainly for entertainment and causal chess. On the other hand, SmallFish is designed to be a useful and practical app, something that you would use for serious analysis.

SmallFish is very generously offered totally free, are there any plans to charge and if not (thanks!) but why?
Stockfish is an amazing open-source project, and I don’t think anybody should pay for it. No advertisement, no in-app purchases.

Which of your apps are you still working on and which are ‘finished’?
Chess Mini is a little cute app for casual players, and users like it. This is a finished project. Both SmallChess and SmallFish are still under active development.

Are any new apps or features planned that you can talk about?

  • Explore board image recognition with convolutional neutral network
  • Estimate ELO rating from a single PGN game by statistical modelling
  • Estimate chess piece values by Monte Carlo tree search
  • Syzygy tablebase

Roughly how long have you worked on each app and which has had the longest elapsed time from concept to initial release?
SmallChess is by far the most difficult app to develop. The time frame for the initial release was something like:

  • SmallChess – years (too long to remember)
  • SmallFish – Three months
  • Chess Mini – Two weeks

What is your favourite aspect about the chess app development process?
Received emails from parents how their children improved their chess with my apps.

Any more?
smf_int_1

 

 

 

This is the early prototype for SmallChess (it could already play a chess game):

 

 

 

 

 

smf_int2

 

 

This was what I posted to my Facebook in 2012:

 

 

 

 

And in the next version, I had:

smf_int3

smf_int4

 

 

In the next release, I had expanded the toolbar and added player names and clocks:

 

 

 

 

 

 

 

smf_int5

 

I had tried adding a big speech bubble to the app but it was too big…

 

 

 

 

 

smf_int6

 

 

 

I had also worked on the icons in the app…

 

 

 

smf_int7

 

 

 

I compared my first SmallChess icon with other chess app icons. I eventually hired a professional freelancer to make me a new icon.

 

 

 

 

 

Note: This interview was conducted by email on 24 October 2016

Advertisements