One year and a half ago, I was looking for looking for a typing application we could use for our typing championship. There were few that I like and I approached their authors to try to buy them. Unfortunately their asking price was too high and we could not afford any. So I decided to develop my own: Typrx – Typing Races. I had to choose a highly scalable platform that minise – Google App Engine – which is the only platform that scales automatically in real time based on user load. Furthermore, I wanted to have a non-flash UI, so I selected Google Web Toolkit (GWT) which generates smooth Ajax UI based on Java code (crooked I know but so awesome: you work in Eclipse with all the Java debuging tools).
Making a real-time online multi-player typing game is not trivial to say the least. I was able to fight network and App Engine latency with some tricky time synchronizations. Other challenges were undertaken: datastore concurrent updates, large scale schema changes, overall UI responsiveness and so on and so on.
The result was awesome. Multi-player typing races are smooth. The typing championship when well and Sean Wrona won the crown. Little known fact: Sean did an unrecorded practice race topping 213 wpm with 100% accuracy. This is unreal.
Using GWT with App Engine has a steep learning curve even for experienced programmers. At that time, I wish there had been a book that would have explained how to build scalable apps like this. There was none. I had to discover all best practices by Googling, asking forums, and creating some myself after bumping into problems. I acquired valuable experience. I thought I could write that missing book. I contacted Amy, a friend and software wizard (after all she is a Stanford Computer Science Ph.D) and she came on board as a co-author. Packt publishing trusted us as first time writers and sent us a contract. And voila – we were on our way to spend depressing nights and weekends over the blank pages of a book that was not going to write itself alone…
After a year of hard labor it finally came out (post). Today, our book Google App Engine Java and GWT Application Development is now available on Amazon.
(Cross-posted article from Daniel Guermeur’s blog)