A long, long time ago in a galaxy far far away, a developer at Microsoft named Scott Hanselman decided to learn WPF. And so he set out upon the Great BabySmash Experiment.
Meanwhile, in another galaxy, a developer at Magenic named Kirstin decided to learn WPF. By this time, the Great BabySmash Experiment had achieved fame far and wide, and so Kirstin downloaded the source code and created DrewbieSmash.
Who is Drewbie?
Drew is my five-year-old nephew and is very special in many ways. When he was about one year old we learned that he has SMA. Spinal Muscular Atrophy is a form of Muscular Dystrophy. SMA is the reason he can’t walk or sit unsupported. However, please don’t worry about him. He has a scooter that he can drive like a pro. Besides, he's really smart. Best of all, he's one of the happiest five year olds you’ll ever meet! As you can see in his picture, he gives his life a double thumbs-up!
Few things will be more important for Drew than access to computers. Using a mouse is too difficult for him. When we were struggling with a way for Drew to access the computer I found a wonderful piece of equipment called the SmartNav. Drew puts a small ring on his finger to mouse and uses a switch to click. Drew will use an on-screen keyboard with his SmartNav for keyboard input.
Ideally Drew will be able to use the on-screen keyboard that ships with the OS, so as to minimize the adaptations that need to be made to any PC he wants to use. (The SmartNav and the switch use a USB port and the SmartNav software must be installed.) However, the on-screen keyboards are quite small and require precise control of the mouse, something that Drew is working to master with his SmartNav.
When I saw BabySmash, I had an idea for a modification that could transform it into a platform for Drew (or any other toddler) to master the keyboard as well as learn letters and words. Instead of displaying whatever letter the user happens to "smash", why not have a word displayed that the child would then key in? If the correct letter was pressed, the letter would come dancing out and settle into place into its proper spot below the word. For Drew, I would create an on-screen keyboard as part of DrewbieSmash that could start out large with big keys and gradually be made smaller and smaller as his skill at clicking on the correct letter improves. Eventually he will be able to use the regular on-screen keyboard.
And so here begins my adventure in learning WPF. Never having had any exposure whatsoever to WPF, yet eager to get going, I eschewed all preliminary research on the topic and decided to go the old-fashioned route: reverse engineering BabySmash and coding by Google. I will blog about my progress and what I learn along the way. If anyone has any helpful comments, PLEASE add your two cents. Scott has graciously offered to make whatever I come up with available as part of the BabySmash repository. Thanks for riding along with me!