From building an online typing app to writing a book on scalable web apps

Google App Engine Java and GWT Application Development is now available on Amazon
Google App Engine Java and GWT Application Development is now available on Amazon

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)

1 Comment

  1. I would love to get one of your keyboards when I start working. However, I like ergonomic keyboards. Please make one, especially without the lettering!

Comments are closed.