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


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.

Wednesday, June 17, 2009

Becoming Viral with The Sims 3

I don't know how I missed this until now, but I just stumbled upon some of the best video game-related writing I have seen online. Written in blog form, Alice and Kev by game design student Robin Burkinshaw is, on the surface, nothing more than a record of what is happening to two characters she created in EA's recently released The Sims 3. But start reading from the beginning, and you'll soon find you can't stop!

The concept is something that was apparently done in previous versions of the game:
This is an experiment in playing a homeless family in The Sims 3. I created two Sims, moved them in to a place made to look like an abandoned park, removed all of their remaining money, and then attempted to help them survive without taking any job promotions or easy cash routes. It’s based on the old ‘poverty challenge’ idea from The Sims 2, but it turned out to be a lot more interesting with The Sims 3’s living neighborhood features.
I am totally flabbergasted at the story that unfolds from there. I haven't played the game yet, so I can't say whether it's some kind of coincidence that the characters have evolved the way they have, or if the artificial intelligence is really that realistic. (I'd love to get into the guts of that AI engine.) Of course, most of the credit goes to Robin, who really brings the characters to life with her words and carefully selected game screen shots.

I don't want to give the plot away so far, so you'll have to go read it. But I do want to comment on the concept. Some comments on the blog entries wondered whether this is actually a viral marketing campaign on behalf of EA. Although I doubt that was the intention, this is certainly having a similar effect. I know I sure want the game now!

Beyond that, this is turning out to be a viral marketing campaign for Robin herself. This is exactly the kind of publicity anyone with aspirations in technology usually only dreams about. If there aren't a dozen game design companies, big or small, that are now wondering when Robin graduates, I will be surprised. Kudos!

Learning Drupal

I've been having fun being creative with my Nikon D90 and snapping a bajillion photos (many of which I still have to look at, going all the way back to March Break!). Recently, a new photography club just got started in my area, and I volunteered to make a website. I figured it would be a great opportunity to pick up some new skills, since I'd never really had a reason to put together a dynamic site before.

The site would have to house the usual information - upcoming meetings, news and announcements, club rules, etc - but I thought it would also be fun to have a blog that all members could contribute to, as well as a showcase of winning photos from the quarterly contests we planned to hold. I also wanted to make it possible to (eventually) have the club's executive make updates themselves. Some kind of content management system was clearly needed.

Way back in the days of being President of our undergrad computer science society, we rebuilt our website from scratch. It had been done in Drupal before, but it wasn't really kept up to date or well used. The web guy at the time decided to use Joomla! as it would probably be a little easier to get running and to maintain. No complaints from me - I knew I wouldn't have time to help administer the site's back end, so anything that gave me a nice template and lots of options for content made me happy.

So when it came time to choose the back end for the photography club's website, I was a little sceptical about my husband's suggestion of using Drupal. It seemed that Joomla! really was easier. But he offered to get it going, so I figured - why not?

While Joomla! would have been fine (and maybe even better in some ways?) I can't say I regret the choice.

Finding and installing new themes and modules is dead simple - you literally just upload the files to your server to the appropriate folder. The administrator's menu seems to include everything you need in a relatively easy-to-navigate layout. The Views module is a little confusing at first, but getting what you want (if what you want isn't too complicated) doesn't take long. The Content Construction Kit allowed me to make custom stories - one each for blog posts, news items, and events. This way, I can give registered members access to post only certain kinds of items on the website (typically, just the blog). It also makes it easier for them, because they can't accidentally mess it up! I also love that you can have all your content get put into a single RSS feed.

It's not all unicorns and rainbows, though. One of the most frustrating things is figuring out how to style your views. In fact, I haven't even figured this out at all yet - I'm just using the default styles, but I'm not 100% happy with the way things look. Some of the spacing is weird, for example, and the view items don't even seem to use the same styles as the rest of the site! I don't even want to know how hard it would be to customize the overall theme...

It's hard to compare exactly to Joomla! since I didn't do the actual setup of that, but I definitely do get the impression that Drupal has a much steeper learning curve. However, once you get a handle on the basics, it's pretty obvious that it is really quite powerful. I'd recommend it for anyone with some decent computer knowledge and lots of patience.

Here's the website I made: North Grenville Photography Club.

Friday, June 12, 2009

Pros, Not Prudes

My attention was brought another article about male presenters being rather unprofessional at a technology conference. I passed up on writing about the previous Rails CouchDB fiasco since it was pretty well covered already. But the fact that someone has raised the bar even further is rather troubling and warrants a post here.

The article is called Prude or Professional? and really hit the nail on the head for me:
Don't get us wrong, we are not women who can't handle off-color humor, or provocative messages, or even erotic digital art. But each of these has it's place. Paying for a professional conference and being subjected to this kind of content is infuriating.
Jokes amongst my closer friends could definitely be construed as sexist or inappropriate. I remember hanging out in the undergrad lounge with some of the guys (including a faculty member, if I recall correctly), and someone brought up the fact that some person was considering a "Women of Computer Science" calendar. The joke was that I'd be the only one in it (and I think it went on from there - it was a while ago). Though this is a mild example, I'm sure there are many others not so mild. These guys would not talk this way if they didn't know for a fact that I'd be ok with it.

But there is a big difference between joking with friends and infusing a talk given at a conference with very sexual content. Hoss Gifford spoke at Flashbelt about his latest Flash endeavours.
And then, to top it off, a self-made flash movie of an animated woman's face, positioned as if she's having sex with you, who gradually orgasms based on the speed of your mouse movement on the page.
Forget women being uncomfortable with this - any professional person would be!

I'm not sure why it's only the world of technology that seems to be able to get away with this. I imagine you don't see this sort of thing on teachers' P.D. days or at medical research conferences. Is it because tech really is still too much of an 'old boys club'?

I figure if there's as much controversy created as there has been for the CouchDB talk and now this one, they'll eventually learn.

Monday, June 8, 2009

The Creative Side of Computer Science

A lot of people assume that computer scientists are dangerously logical, to the point of not being at all creative. I beg to differ. Among my classmates, I've seen many talented musicians, artists, creative writers, and so on.

Of course, we aren't all that artistic. That's why I take pride in my own creative abilities. I've always been able to write well, winning short story contests as a kid. I am also a little better than the average person at graphics and design. I can't draw or paint, but I have a good eye for layout. That's probably why I'm also really getting into photography (check out my Flickr photostream if you want) and scrapbooking. I used to play saxophone in high school, and am itching to get back into it.

Another misconception is that art and computer science can't mix. This is probably related to the first assumption. But, again, I have to disagree! Because you can connect so many different things to computer science, you can be as creative as you like!

For example, if you love music, you could work on audio processing software, study how to tell if music is pleasing algorithmically, or figure out how to generate good music automatically.

Adore photography? I've always marveled at the level of processing happening right inside today's cameras. Although digital SLRs are generally the standard even for professional photographers, there's always room to improve image quality. Then there's software like Photoshop. There are so many opportunities for not only new and interesting effects, but for automating or helping with common tasks that are still mostly confusing, manual and sometimes tedious.

These are just a couple of examples of the creative side of computing. I didn't even get into the many ways to get creative when it comes to game development, but I'm sure you can imagine a few. The main point is that you don't have to replace your creative brain cells with logical ones to study in this field.