This is the chrss (chess by rss) blog.
I've got around to improving the look of the dashboard widget for OS X. Previously it was a bit flat:
After a bit of work in photoshop it now looks a bit more at home on OS X and generally a bit more "3D":
As well as this purely cosmetic work, I have also changed the widget's behaviour when you enter the name of an unknown user. The old widget would simply show an error icon. The new widget will show a message saying the user is unknown and provide a link to the signup page. So for those who haven't yet created an account for chrss the widget should be a lot more helpful in getting you going.
Oh and there was also a small bug fix - the link to chrss.co.uk on the back of the widget should now work.
You can download the new widget (version 1.1) here.
For those of you who have several games on the go and get tired off switching between games I've added a little shortcut.
When you've got games to move in, you can hover over the number shown to get an ajax-style drop-down list of all games it's your turn in. So if you've got a few moves to make you can move between games without having to always go back to your main games page.
Hopefully this will work in a fairly unobtrusive manner - it shouldn't affect anything else and if you've got javascript turned off it'll still work as before.
This also represents the start of a simple API for Chrss. The javascript for this makes a background call to a URL that looks like:
http://chrss.co.uk/user/USERNAME/active.json
Which returns some JSON representing the list of all active games for that user. The exact details of the JSON I'll leave for now, as it may change before the API is ready. However it will largely be the same, so feel free to have a poke around.
It should make a good basis for widgets in the future. With more information available (beyond just a number) the widgets can hopefully be a bit more interactive too.
I've also got the "remember me" feature working when you login/signup via OpenID.
For those of you who have OpenIDs you'll be glad to know that chrss now supports OpenID.
At the moment you will be prompted for a user name and email address, if your OpenID is not matched with an existing account. At the moment the email address is compulsory, but in the future it'll become optional. Obviously you'd want to specify your email address if you plan on getting move notification that way anyway.
If you've already got an account you can add an OpenID to it once you're logged in, via your profile/games page.
To login/register via OpenID visit:
You can also get to that link via the existing login page. In the future I'll probably make OpenID support a bit more prominent - I just want to let the code bed in first. I also have to get the "remember me" functionality working with OpenID too.
So that's one more "Web 2.0" feature for this chess site done...
Sorry for the downtime on chrss over the past day and a bit. Basically the data centre where chrss runs from had a few issues:
http://forums.theplanet.com/index.php?showtopic=90185&st=0
Basically they had an explosion, which knocked out the power supply and took down the servers with it. No one was hurt. The explosion also did not damage any servers, so everything seems to be running ok again now.
As requested by Oshuma there's now a "remember me" option when you login to chrss. This just means that your login will be remembered for a month - even if you close your browser down. Of course not everyone wants this, so that's why it's an option. However if you get annoyed with having to login to things all the time then this should help.
The code I used to add this is pretty general and in fact builds on a couple of identity recipes from the Turbogears wiki, so i'll release it to the wider community once it's had a chance to bed in. It does involve a little bit of monkey patching of the identity framework, but it's not too extravagant.
Sorry if anyone has been seeing "Server Error 500" messages a lot lately. It appears for some reason the library I am using to connect to the database has manifested a bug that makes it fail after chrss has been running for a day or so. It's rather annoying because as far as I know I've not changed anything!
I'm probably going to use the workaround of restarting chrss periodically, until I can figure out a more elegant way around this problem. At the moment though it looks like I might have to change libraries, but that's going to require quite a lot of effort.
John
Just made a quick update to chrss.
It should now be easier to invite users to games:
I've made it so you can only enter user names for people you've already played. Not everyone on chrss wants to play games with people they don't already know. This means that the games you have played define a sort of 'friends list'. This should make the invite process a bit easier when you want to challenge someone to a rematch.
As well as the invite page I've also updated the mobile version of chrss. The main change to the mobile version is that possible moves are now highlighted, much like the regular version of chrss.
Just uploaded a new update to chrss. It's been a while since the last one, as I've been moving house amongst other things. So in fact a few of these additions have been ready for a while.
The new additions are:
I've have also added a bit of caching to the back-end to help keep things speedy. At the moment only the RSS feeds and PGN files are cached. I'm seeing what the effects of the caching is on the live site and these pages shouldn't cause much problem. If things go well I'll roll it out further and hopefully everything should get a little bit nippier.
I'll also release the code for the Python cache decorator I wrote for this later. It's pretty simple, but should make adding caching to Turbogears applications.
An interesting article popped up today entitled Playing chess with God. It talks about Ken Thompsons work on computer chess end games - basically exhaustively searching all possible moves for when there are only a few pieces on the board.
There's a really nice quote from in there about what some of the moves look like:
Playing over these moves is an eerie experience. They are not human; a grandmaster does not understand them any better than someone who has learned chess yesterday. The knights jump, the kings orbit, the sun goes down, and every move is the truth. It's like being revealed the Meaning of Life, but it's in Estonian.
As I outlined in an earlier entry I've had a few new features planned and in the works for a while. I've now just got around to finish a couple of those off. The new features are:
You can download the dashboard widget from the widget page. It's pretty simple, but gets the job (of tracking your games) done.

Email notification is pretty self-explanatory. Basically you'll get an email summary of the items that would appear in your rss feed about an hour after some someene makes a move or leaves a comment in one of your games. You'll only get an email if there's something to tell you about. So if you make a move after your opponent, then you won't receive an email unless they make another move. This should help cut down the number of mails you receive - very handy if you're moving often. The delay in sending helps to ensure you don't get too many mails about moves or comments you've already seen.
I decided to add email notification as I understand that not everyone uses RSS. If you want to use it, you'll have to enable it from you user page.
Lastly I've added comments to this blog and to the help sections. Again fairly self-explanatory. Raw-HTML is not allowed in the comments (it's allows for all sorts of nasty problems), so instead you can use markdown which is generally much easier to use anyway.
Enjoy!