Sunday, October 9, 2011

Go Board Game with Google Docs

Go, played on Google Docs
I've been satiating my asynchronous game play needs recently by playing Go via Google Docs. I figured someone else must of thought of that already, and they did: Edward Donohue had a spread sheet template available, which I modified into my Go Board Game Template.

The cool thing is that Google Docs comes with great features already in place:

  • Version history
    • Allows you to roll back time to recall what has been happening in the game.
  • Change Notifications
    • Allows you to make a move, and your opponent will automatically get an email notification that links to page showing what has changed.
    • (Set this up by going to |Tools| |Notification Rules|)
  • Auto formatting
    • Makes the board look like a bunch of black and white pieces instead of playing in text.
  • Works anywhere, even mobile
Also, you can do odd stuff, like make this tiling (toroidal) go board. People have played on tiling boards before, the simplest way is to just duplicate any moves on the left and top edge to the right and bottom. But, in docs, .

Try out the templates by making a copy so you can edit in them. Select a square and enter a 'w' or 'b' character. Have fun!

Gmail Follow Up Script

I have lots of email I want to follow up on later or put aside for some time. I use Gmail these days, and I miss Outlook's built in feature for this. Well, there's a solution, the apps script team posted a script for "snoozing" email. My modified take on it is this gmail Follow Up script doc.

With follow up you can:

  • Get emails out of your inbox, and out of sight, for a specified amount of time, and then have them return.
  • Send emails you want to make sure you get a response on, flag them for follow up and have them resurface in your inbox again after a given amount of time to ensure they were handled.


The implementation summary is: You can have javascript code run on a Google server at a regular interval that manipulates your gmail messages. You do so by creating a Google Docs Spreadsheet and adding script code to it.

I modified the original in a few ways:

  • I added "hours" to the "days" and "weeks"
    • At first I thought it was overkill. But, no, it's mighty handy in a work day to put off an email till the afternoon when you think someone else should have replied by then. Or just to clear your inbox rapidly so you can concentrate on the top items for the next hour.
  • I adjusted the label names to be more keyboard shortcut friendly
    • To move an item out of my inbox and have it reappear tomorrow, I type the keys, "v1d" enter. That's |move|, and then enough to match the label "FollowUp-1days".
  • I use the "quick links" lab in gmail to view all messages pending follow up
    • Sadly there's no way to roll up multiple labels in gmail, else the hierarchical labeling would have solved this. Anyway, details in the doc for using quick links.
Some notes:
  • Draft messages can be brought back to to the inbox, to complete and or send at a later time.
  • Muted messages can be brought back too, disabling the mute at that time. So you can let a firestorm thread rage on for a few hours before reviewing it in it's entirety instead of being interrupted constantly as replies come in.
  • I sometimes leave notes to myself as to why I marked this message for follow up. One way is to start a reply draft and then blank out the To: line so it's not accidentally sent.
  • It's handy when you send a message and want to ensure you get a reply back.
Now that I have this tool, I use it a lot a lot to rapidly simplify my inbox. Check it out: Follow Up script