Tuesday, June 30, 2009

Google Scholars' Retreat Tech Talks: Eyes Free Android

The first technical talk of the Google Scholars' Retreat was given by one of Google's blind engineers, T.V. Raman. T.V. showed us the work he's been doing on an eyes-free shell for the Android mobile operating system.

The main example he used to show the thought process in designing the shell was the use case of simply dialing a number. How does a blind person do this accurately on a touch screen? How does he know where the numbers are?

The answer comes from the idea that the numbers don't always have to be in the same place; they only need to always have the same relative position. So if you say that the digit 5 will always be located the first place you put your finger (or thumb), you can then slide your finger around to the relative position of the other digits, laid out as they normally are on a phone. Audio and tactile feedback is given as you slide over the numbers, and the digit is spoken aloud once selected.

The video below shows the dialer in action (skip to about 1:50 if you don't want to see the introduction).



The cool thing is that this is useful for everyone, not just blind people. If you're walking along the street and need to dial your phone, you generally want to continue looking where you're walking. Otherwise, you'll be like the person who apparently walked right into T.V. on the street when not paying attention. He laughs about that, since he's the one who's blind, yet he's the one being walked into! ;)

Google Scholars' Retreat Tech Talks: Introduction

While this year's Google scholarship winners spent the day at Google Headquarters in Mountain View, California for part of the Google Scholars' Retreat, Google treated us to some great tech talks in addition to all that awesome free food.

Scholars Retreat

We were first welcomed by Laszlo Bock, Google's VP of People Operations. The most interesting thing he told us about is the statistics that Google uses to determine everything from which employees are most likely to leave the company to how to keep them there. I can't remember which parts were secret now, so I won't go into details, but the amount of effort put into understanding these sorts of things is both fascinating and impressive.

The next few posts will each summarize one of the tech talks given. If you're interested in a more in-depth post about any of these, leave me a comment and I'll see what I can do!

Sunday, June 28, 2009

Google Scholars' Retreat: San Francisco

I was ever so lucky to make it as a finalist for the Google Anita Borg Canada scholarship again this year. The best part of these awards, really, is the trip you get to take to visit Google and meet all the other inspiring scholarship winners. Last year it was New York City, and this year it was San Francisco!

I was in San Francisco not so long ago for the CRA-W Grad Cohort, but we stayed a little out of town, so I only saw a little bit of the city. I was pretty excited to stay right in the financial district this time and look around some more!

The plane ride in was mostly uneventful, though the connection from Denver to San Francisco was delayed over an hour. This wouldn't have been a problem if (a) we were still inside the airport with free WiFi, rather than on the plane, and (b) if there weren't a bunch of people waiting for me at the airport at the other end! I was so stressed. Either they all waited for me, in which case I felt bad delaying their sight-seeing, or they didn't wait, and I would be somewhat stranded, since I never actually figured out how to get to the hotel for myself (too busy thesis writing!). Luckily for me, they did wait. I want to repay their kindness but don't know how. (In fact, the opposite happened when I left to look around the city - one of the people who waited at the airport actually came down after us and we ended up leaving without her! I'm not sure how it happened, but I was told she had already left. So so so sorry!)

The hotel was right beside Chinatown, so that's where we went first. I loved the architecture! A great mix of traditional and modern.

Street Lamp in Chinatown Chinatown

The girls I was with had planned to check out the cable car museum. I didn't really know what it was all about. In fact, I just assumed that "cable car" referred to something like you'd see at the ski resort. Either that, or just a street car or bus powered by overhead wires (they did have that, too). My mind was pretty blown when I learned that there were literally giant loops of twisted cable going round and round under the streets. The cable cars hook this cable, and slowly clamp on with a vice, at which point the car gets pulled along its track. This replaced horse carts travelling up very steep hills (and sometimes not making it) back in the mid 1800's. Very ingenious design!

Cable Car Pulleys Cable Car

Later that evening, Google held a little welcome reception at the hotel. It was very nicely done, and I had a blast meeting a bunch of awesome people, even though I had to leave a bit early, having been awake for 20 hours due to the time change and early flight.

The next day, we took a shuttle to Mountain View to visit Google headquarters.

Me at the Googleplex

The day was full of tech talks, a tour, and food food food! At the ice cream social late in the afternoon, I heard that Sergey made an appearance, but somehow I didn't seem to notice. Maybe I was too busy running around taking pictures of dinosaurs and stuff. ;)

T-Rex Android

Friday night's meal was at a nice Asian grill. Funnily enough, the concept was similar to the place we went to in New York City. You didn't order - they just brought you food platters and you ate what you felt like eating. Not a huge amount of variety was available, but certainly enough for everyone. We could have used some guys at our table, because the ten of us women couldn't eat it all! (I also learned that more than half our table was either married to or dating another computer scientist. For some reason, this made me smile.)

Satays at the Asian Grill

Finally, on Saturday morning, four scholars presented their research. By chance, it was all women who presented (there were guys there for some scholarships). I couldn't help but notice that the many questions asked were also by women (until the very end when a short and quiet question was finally asked by a male voice). Just a coincidence, but a nice change, anyway!

So once again, Google treats us right - thank you!! I hope to post about the technical talks over the coming days. More photos available on Flickr.

Saturday, June 20, 2009

Teaching Computer Science with Augmented Reality

There's this guy named Jack Cough (can't say whether it's his real name). He writes about software on his blog, Jack Cough on Software.

One day, Jack Cough wrote about teaching his young child about functional programming. Jack Cough's post made it to Reddit, where I, and many others, found it, read it, and thoroughly enjoyed it. After that, I (and maybe those many others) completely forgot about it.

Until now.

After watching the video about the augmented reality zombies game, I was thinking to myself, "What kind of cool stuff can I make for my PhD?" I know I really want to work on augmented reality (whether it's for the main dissertation or smaller research projects). I'm also rather interested in the role video games can play in education (either as entertainment designed to teach new skills, or as a motivation for learning computer science). Combining all these things together only seems natural.

It's amazing how little time it took for me to remember Jack's post after I started this wondering. I can definitely imagine an augmented reality game that has kids build Dr. Seuss's Star Belly Sneetch machines using concepts of functional programming (without even knowing it! A head fake as Randy Pausch would say...). More mature analogies could make the concept useful for college students struggling to figure out programming for the first time. Even Siftables - smart, intercommunicative little tiles with LCD screens - might prove ideal for such a project, either in addition to or instead of augmented reality solutions.

Now, I don't want to steal Jack Cough's ideas and build a game completely based on his concept. That's just not fair. But it does give a bit of inspiration to look around and see what others might have done, and to start exploring various ways to teach young children about programming. Stay tuned in case I come up with anything really cool! I might just share it here...

Thursday, June 18, 2009

Zombies!

This zombie shooter game is a little out of the ordinary...



I really like this concept - I feel there is so much potential. A lot of the AR games I've seen come out of university research efforts have felt so incomplete and rough around the edges. (Ok, I'll admit it - they generally just plain didn't seem fun!)

But this one has nice graphics and a concept that actually makes a lot of sense. I mean, flying in a helicopter - what a great way to give the real position of the mobile device meaning in the game! Using it as a spotlight is also pretty smart. Then there's the skittles. Genius.