Tuesday, September 30, 2008

Going Dowwwwwwnnn... Under: See you Next Year!

So, as a random percentage of people out there in the world have discovered, I will soon be embarking on a voyage across the sea. It starts off with a trip to Tokyo, Japan, where I'll be participating in various Geo Developer events and chatting with folks in that office (and most importantly, learning how to be a Harajuku girl). I then travel to China, where I'll be spreading the Developer Relations love in the Shanghai and China offices and helping kick off our "Google DevFest" tour for external developers. The tour continues on to Singapore, Bangkok, Ho Chi Minh City, and Manila, and will cover developer tools like App Engine, Maps APIs (of course), OpenSocial, and a sprinkle of others. For more info, check out our uber-colorful landing page.

Technical Tangent: The landing page includes a logo designed by our latest Developer Relations Photoshop Master (and Earth API Expert), Roman Nurrik, and a map designed by me. The map is pretty simple, but has a couple neat tricks:

  • It loads data from a "geo-tagged" calendar feed. Each event embeds the lat/long in the "where" field like this:
    Bangkok @ 13.753846, 100.501757
    I choose this format both because it can be fed into the Google Maps search box, and it can be easily broken down into coordinates with a Regular Expression. Here's a snippet from my CalendarLayer class that gets the value of the where field from the calendar JSON feed, and turns it into a GLatLng:
        var location = entry.gd$where[0].valueString;
        var pattern = new RegExp(/@\s*([\-0-9.]+)\s*,\s*([\-0-9.]+)\s*/);
        var matches = pattern.exec(location);
        if (matches != null) {
            var lat = parseFloat(matches[1]);
            var lng = parseFloat(matches[2]);
            var latlng = new GLatLng(lat, lng);
  • It produces a different random Google color upon mouseover of the sidebar elements, adding to the festive effect. I did this because there are only 4 Google colors, and 6 cities, and I didn't want to choose 2 of the colors to favor and duplicate (that's mean!). So I used our friend Math.rand():
       var colors = ["#ff0000", "#00ff00", "#0000ff", "#ffcc00"];
       var rand = Math.ceil(4*Math.random())-1;
       color = colors[rand];

Anyways, back to traveling. After the final DevFest, I'll be flying into Sydney, Australia, and staying there for 5 whole months. As some of you know, the Maps API team is entirely based in Sydney, so this means that I get to do Maps API support while actually sitting next to the team (which means constant nagging of the engineers about feature requests :). In addition, I'll be working on growing our developer outreach in Australia by helping to hire and train a permanently Aussie-homed Developer Advocate (apply here!), and possibly run some Google developer events down under, or just speak at other people's events. After 5 months, I'll return to America with a full Australian accent, and will deny any and all association with this country. :)

So, in conclusion: If you're from Asia/Southeast Asia, register and attend DevFest. If you're from Australia/New Zealand, email me about running/attending events or even just grabbing coffee (but not coffee, cuz I hate coffee, so croissants + hot cocoa, perhaps). If you're from America, try to keep this place in shape while I'm gone... or just give up and join me in Australia, I'll have a couch.

Cheers, Mates! I've got some learning to do.

No comments: