On Friday, Chris Smith and I (Chris is a test engineer on the VB Team) attended an event called ‘Sons and Daughters’ day. The day consisted of 2 sessions (20-25 kids in each) where kids aged 6-13 were run through a class of writing an app in VB (20-25 kids in each). The class was very introductory, but eas very appropriate for the audience. Parents typically hung out with their kids to help things along. The role Chris and I played was to be additional helpers, to be able to provide extra assistance as necessary (parents were typically good at helping their kids along, but the odd issue or question wuld arise that needed extra help). Of course, the target version of VS was VB Express.
Talk about FUN!
I was concerned going in that it would be hard to lower the bar enough to let people use the product for the age of the audience. But the combination of the following meant that pretty much everyone had a great day. The feedback was all positive, and some kids clearly had the time of their lives. But our product really is pretty darn easy to use. I sometimes forget that getting started with Express really is easy. I had this nagging feeling that people would have to know more about what was going on for the day to be successful. But the presenter (Robin Reynolds-Haertle) did a great job at preparing the material, and targeting it well for the day. She basically showed people the environment, got them to make a winfors app, add a control, change properties and add some code. From there, she had a project for people to start with that was a simple game, but demonstrated a few more concepts. Straightforward, but esential, and fun stuff.
It didn’t hurt that the kids were all enthusiastic, and the parents engaged well ;-).
My highlights of the day:
I don’t know if you remember that time (and I’m sure it happens for all of us) when you write an app and you get this ‘jolt’ of excitement because you literally see the program do yourcode. I saw that jolt all over the place today. The first app of course, is to drop a button on a form, and put a msgbox(“Hello World!”) behind it. There were audible cries of ‘wow, awesome!’ all around the room for this step. That’s the jolt, and I just love seeing that. Even more, I’d suggest to the odd person they should change it to be their name such as “Hello, Sarah!”. This gets an even bigger grin
The first person I helped out was a young boy about age 8. As soon as I arrived, he matter of factly said ‘I can’t type, I need you to walk me through this’. So I did. All the way down to how to type in a double-quote (which he could barely manage with one hand: he had to contort his small fingers to get the combo right, but he seemed to insist on doing it because his neighboring pupil did it that way). This kid was completely aware of what he could and couldn’t do, talk about a good pupil
One girl was very excited about her app, and proudly showed it off to Chris. It had two buttons, with different colors and different Msgbox’s. The message on one of the msgbox’s was very professional. Chris, giving an appropriately enthusiastic response stated “That’s awesome! You could SELL that!”. To which the young girl, in complete earnestness responded ‘I KNOW!!!’. Bring on the money
One of the apps was a ‘fortune teller’ which got the children to click on three buttons (color, age, favorite number) and then gave a string as a ‘fortune’ (“Be happy” for example). The kids were encouraged to change the strings displayed. One child’s frank appraisal of the extremes of fortunes appealed to my own sensibilities. He wrote as one fortune ‘You wil get 1,000,000’ and as another ‘you will be poor’. His next was “You will get the measles”. Lucky thing I went to the doctor that morning
– On a whim, I decided to show them my space invaders game at the end of each session, just to hammer home ‘this is where you can get to, you have the basics!’. This went over well of course.
Some issues for me to raise with the team:
By far, the most annoying issue throughout the day, is that its REALLY hard to see when the designer is in ‘run’ mode. Many, MANY times, a child, and/or parent would be blocked, and arriving to help out, it’s often not immediately obvious to us even, what’s wrong. We need to better differentiate when the app is running. And if you try to do actions in the designer, we need to make it more obvious that the designer can’t because it’s in run mode!
If you change the available drives, after you’ve opened save all, it doesn’t refresh. Not a major issue, but came up at least 10-11 times today, because of the way the lab was run (kids would be told to open the screen to save the app, and plugin the thumb drive to save the app to. Having done that, the save project dialog wouldn’t have the thumb drive listed, you’d have to close the dialog, and do it over. This was not at all clear when looking at the dialog)
Line continuation character with a space, could be pretty listed to do the right thing
If you have code like “SomeMethod(Arg1,_ ” it doesn’t get pretty listed, it just gets an error. This hit a couple of kids
Thanks very much to April Reagan and the other organizers, this was a very fun day. I look forward to doing these more often!