Monday, October 13, 2014

Auto Translate #GEGMtl

I like to describe myself as an incredibly productive procrastinator. When I have something I absolutely must work on, I tend to find ways to distract myself with side projects.

Which explains why, four days before my application for the Google Teacher Academy in Austin, TX, I decided to tackle a project I'd begun a few times but always stalled out on. I'm the leader of the Montreal Google Educator Group, and I wanted to facilitate communication between the two main languages of teachers in Montreal. What that means, in practical terms, is that I wanted to have an app automatically translate tweets using the #GEGMtl hashtag on twitter. From English to French, and from French to English.

After about 3 hours, it was working. A bit. It would run for about three minutes, then give me an error that I needed to authorize it again. I was very frustrated with it, so I turned to my PLN to ask them for advice.

+Martin Hawksey helped me figure out some issues with encoding the calls to the Twitter API, and +John McGowan actually jumped into my spreadsheet and code with me to lend a hand. It was an amazing experience to have an educator from Europe and and educator from Asia help me on my little project. Some additional support from +Andrew Stillman helped me figure out how to call a translation API to detect the languages properly.

There's still work to be done. The app currently works, but only if the spreadsheet is open. I need to redesign it to run all the time. After that, I will need to build a web interface and publish it as a web app on my website. In the future, I may decide to make it an add-on for Google Sheets, but that seems unlikely since the number of people who'd want it is probably pretty limited.

Creating something like this took a lot of time, reading, searching, questioning, and experimentation. The first big struggle is deceptively quick to overcome, but it's those last few bugs that prove extremely difficult. Writing code is an exercise in persistence, patience, and practice. While I lack the latter, I'm quite happy banging against the keyboard until something works. Collaborating with people all over the globe just makes the experience so much more enjoyable!

Thanks to everyone who offered help. Without the support of a community of encouragement, I don't think I'd have as much fun trying to figure out why things aren't working.