I'll patch a time control myself. As this is not a patch right now, because there is no development branch yet, I post it in features. It will go to patches later on.
I include the table proposal so anyone can discuss it here.
I've reviewed the attached to the best of my abilities, and here are my thoughts...
First it is not clear to me from this or from your mailing list post what changes would be necessary to the Games table. It seems to me that having the gameID in this times table is all you need to link the two.
Second, I'd like for WebChess to be "simple first" with the option to layer on complexity like these time controls. So people (like me) who aren't familiar with time controls in chess, we should have the option to disable it on our sites. Perhaps a $CFG_ENABLE_TIME_CONTROLS boolean option for site administrators?
Ideally, even with time controls enabled by the site administrator, users should have the option to play with or without them. Maybe users can get a new preference too, something like a boolean "prefersTC" or something indicating they prefer to play with or without time controls. This could facilitate match making: people who prefer time controls could match up, and people who prefer no time controls could find each other as well. I'm not advocating we do this mind you, but I'm putting it out there as a usability issue: not every user will necessarily want to use them. On the other hand, maybe you would want to require it for your site.
You'll note I haven't talked much about the table structure. That's because, as I've stated above, I'm not familiar with the use of time controls in chess. I have personally never participated or even attended a chess tournament. Therefore I feel I am unqualified to comment on your approach to implementing them.
Does anyone who knows time controls in chess have something to add?
I realize this is not the detailed technical feedback you are probably looking for, but I hope my two cents helps to at least move the discussion forward!
Jonathan Evraire
Project Manager for WebChess
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Going over the tables they look adequate of store the various timing methods for tournament play.
First opinion would be to make the game ID primary not timeID. timeID looks to me to be the index of each timing layer in a game.
With that in mind, I would eliminate the Secondary and Tertiary control fields and use timeID as a layer field. That way you can have as may time control settings as you wished.
One thing that is not mentioned and needs to be discussed is controlling lag. Lag methods that I have read about for internet chess deal with time thinking by the player and not comparing timestamps. So to me it would seem a web script applet to count in seconds/minutes/hours would needed and sent back to the server for processing.
Just my two cents.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, lag is an important issue in short time controls, but as far as I know it is not easy to code a timestamp program. At least, it would be needed to be coded into each OS separately (at least one for Windows, one for Linux, maybe the last one can include apple, I don't know, and 32 and 64 bits).
Anyways, WebChess has to play to its strengths. Making a new 'free internet chess server', or another 'internet chess club' makes no sense to me. This tools are already there, for people to play. We need to differentiate ourselves. In my opinion, WebChess makes a great platform for postal and casual games. Either of these needs that much precision in the clocks, because neither has fast time controls.
But, if there is any timestamp which is easy to add to the code, of course it would be great to have it, just that I don't think it pays the effort.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I agree that Webchess should not be marketed as another FICS. As you mentioned, Webchess seems to appeal to more casual/email chess players and features should be added that emphasis those traits which is why I proposed a feature to make moves via email.
As for a time stamp program, I was thinking of something simple on the lines of a countdown JavaScript. You would feed the remaining time of the player as a starting value but only send back the elapsed time in hrs:min:sec. There are obvious limitations and exploits. One that comes to mind is the player using the back button.
However, since Webchess in not being marketed as a hardcore chess server a count down timer might be adequate.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The new table I propose to manage time control settiongs
Hi rigao,
I've reviewed the attached to the best of my abilities, and here are my thoughts...
First it is not clear to me from this or from your mailing list post what changes would be necessary to the Games table. It seems to me that having the gameID in this times table is all you need to link the two.
Second, I'd like for WebChess to be "simple first" with the option to layer on complexity like these time controls. So people (like me) who aren't familiar with time controls in chess, we should have the option to disable it on our sites. Perhaps a $CFG_ENABLE_TIME_CONTROLS boolean option for site administrators?
Ideally, even with time controls enabled by the site administrator, users should have the option to play with or without them. Maybe users can get a new preference too, something like a boolean "prefersTC" or something indicating they prefer to play with or without time controls. This could facilitate match making: people who prefer time controls could match up, and people who prefer no time controls could find each other as well. I'm not advocating we do this mind you, but I'm putting it out there as a usability issue: not every user will necessarily want to use them. On the other hand, maybe you would want to require it for your site.
You'll note I haven't talked much about the table structure. That's because, as I've stated above, I'm not familiar with the use of time controls in chess. I have personally never participated or even attended a chess tournament. Therefore I feel I am unqualified to comment on your approach to implementing them.
Does anyone who knows time controls in chess have something to add?
I realize this is not the detailed technical feedback you are probably looking for, but I hope my two cents helps to at least move the discussion forward!
Jonathan Evraire
Project Manager for WebChess
Some links on time control.
http://en.wikipedia.org/wiki/Time_control#Compensation_.28delay_methods.29
http://www.freechess.nl/timeseal.htm
Going over the tables they look adequate of store the various timing methods for tournament play.
First opinion would be to make the game ID primary not timeID. timeID looks to me to be the index of each timing layer in a game.
With that in mind, I would eliminate the Secondary and Tertiary control fields and use timeID as a layer field. That way you can have as may time control settings as you wished.
One thing that is not mentioned and needs to be discussed is controlling lag. Lag methods that I have read about for internet chess deal with time thinking by the player and not comparing timestamps. So to me it would seem a web script applet to count in seconds/minutes/hours would needed and sent back to the server for processing.
Just my two cents.
Yes, lag is an important issue in short time controls, but as far as I know it is not easy to code a timestamp program. At least, it would be needed to be coded into each OS separately (at least one for Windows, one for Linux, maybe the last one can include apple, I don't know, and 32 and 64 bits).
Anyways, WebChess has to play to its strengths. Making a new 'free internet chess server', or another 'internet chess club' makes no sense to me. This tools are already there, for people to play. We need to differentiate ourselves. In my opinion, WebChess makes a great platform for postal and casual games. Either of these needs that much precision in the clocks, because neither has fast time controls.
But, if there is any timestamp which is easy to add to the code, of course it would be great to have it, just that I don't think it pays the effort.
I agree that Webchess should not be marketed as another FICS. As you mentioned, Webchess seems to appeal to more casual/email chess players and features should be added that emphasis those traits which is why I proposed a feature to make moves via email.
As for a time stamp program, I was thinking of something simple on the lines of a countdown JavaScript. You would feed the remaining time of the player as a starting value but only send back the elapsed time in hrs:min:sec. There are obvious limitations and exploits. One that comes to mind is the player using the back button.
However, since Webchess in not being marketed as a hardcore chess server a count down timer might be adequate.