Modeling Human Keyboarding

For my final project in Tufts' course in computational modeling, I decided to build a model of keyboard typing.

To collect data to verify the model’s accuracy, I built a web-based tool to track keypresses and their timings. I went a little overboard and ended up with a pretty full-fledged typing trainer.

Getting the Task Framework Done Fast (and fun!)

For the front-end of the keyboarding task, I used Javascript. Having just completed the HTML5 game jam in which I made Rave Game, Javascript was fresh on my mind. That, and something browser-based would be easiest to load on anyone’s laptop during presentation time.

I ended up using portions of JQuery for display changes, the Twitter bootstrap framework for UI elements and HighCharts for graphing. It’s on GitHub.

Building the Model

In building the model, I decided to focus on a tiny subset of the transcription typing phenomena noted in Wu and Liu 2008. I ended up with a neural network model that closely matches the source data for a number of the criterion.

Play with it!

I think the coolest part of this project has to be the experience of typing and seeing your data points appear on the graph right below your input box. Give it a shot!

Play it at:

About the Author

Brian is a game and web developer in San Francisco working at, a non-profit focused on growing access to Computer Science education. Brian also curates Coding for Interviews, a weekly programming interview practice newsletter. Formerly @ PopCap, intern @ TripAdvisor, One Laptop per Child, Tufts CS. Follow Brian on Twitter @bcjordan.

blog comments powered by Disqus