I used C# and Mono for OS X for this assignment. I had never programmed in C# before, so I wanted to try it out with this assignment. My application is a basic bubble cursor with circular targets. Ten non-intersecting targets are randomly sized and placed on the application canvas. The user can switch back and forth from the normal cursor and bubble cursor mode using the control buttons on the left panel. The info panel below the control displays the selection time (the time between two consecutive successful captures) and the average for all successful hits. It also tracks the total number of successful hits and misses. The user can reset the time and scores at any time.
What I Learned
At first, I was pleasantly surprised by C#. It was pretty straight-forward to pick up the language. However, I also found that using Mono sometimes crashed unexpectedly, and programmatically specifying all the visual properties of the GUI components was rather tedious. I think Visual Studio provides a designer tool that makes this a lot easier, but I couldn't find such a tool in Mono.
Regarding the Bubble Cursor, I noticed that it was much harder to benefit from the bubble when the targets were densely populated, although this was a major pro claimed by the authors. Since the target was so close to the cursor anyway, the visual distraction of the expanding and shrinking bubble seemed to nullify the gain in time possible from the bubble. Nevertheless, for widely distributed targets, the bubble cursor significantly reduced the time it took to capture distant targets.