What to say about Chrome Academy? I wasn't sure what to expect when I was told I had been accepted to Google's exciting new summer program, a week-long expedition to the Mother Ship in Mountain View, CA. I was promised an all-expense-paid trip full of web-development knowledge, but I got so much more than that out of the program. The group, the 29 of us who were chosen, made great friends, met some of the best web developers in the field, were treated to Google's legendary hospitality, and over the course of about 3.5 days, built cutting-edge web-apps using exciting new technologies and frameworks.
Day One: The Arrival
We were all coming from different locations, some from just a half-hour drive away, others from across or outside the country. When I touched down at SJC on Sunday, I was excited to find some Chrome Academy participants already there and others on their way. We were shuttled back to the Grand Hotel in Sunnyvale, where we unpacked and got settled in before going downstairs for dinner. We all chatted in the lobby excitedly, getting to know each other before the main dinner event began.
We were then welcomed to the program by our three amazing coordinators and friends, Allison, Desiree, and Janet. They told us a little about what the coming week would hold, why we were all here, and what they hoped we would gain from the program. Then we were all asked to introduced a partner, while we tried as hard as we could to forget the existence of the Google backpacks next to each of our chairs we were asked to ignore for the time being.
When we were at last allowed to open the packs, we discovered the first wave of Google swag of the week, not the least of which was a shiny new Nexus 7 tablet. We were then put into the teams we would be a part of for the rest of the week, and competed in a brief trivia game.
As we all got to know each other later that night, pool-side, naturally, we realized we all came from a wide variety of backgrounds, but all held certain things in common. For one, an appreciation of Google and the services it provides for the world, but also an excitement and passion for the cutting-edge web technologies we believe are going to enable a whole new level of cross-platform development. That would come to be one of the themes of the week: just because it's a web app, doesn't mean it's less capable than a native app.
Day Two: Nooglers
When you tell 29 college-aged kids to come down to the lobby and be ready to start the day by 7:50AM, usually you expect a few to make it in a dazed, half-asleep state, and the rest to just sleep in. But not today. Today, we were going to Google Headquarters, the Mecca of tech enthusiasts (that's us!) everywhere. As we rode excitedly to the Campusm in a stylish limo and two shuttles, no less, we all talked about what we were hoping to do during our week there. "Meet Sergey Brin" was my ill-fated dream, but others suggested more reasonable things like "building a cool app", or "learning how to use ____ framework". What seemed like a short eternity later, the pod bay doors opened and revealed to us the vast expanse that was the Googleplex. We all marched out excitedly and awaited further instruction from our three coordinators.
A quick breakfast at Charlie's (what would come to be my favorite of Google's 20+ cafeterias) led into a tour around the Google campus; we were split into three groups and were introduced to some of the awesome buildings we would get to know more intimately in the days to come. Google's only theme, between its flamingo-entangled T-Rex skeleton, seemingly nonsensical statues, pools, volleyball court, randomly-placed shark-fin, two-story slide, ball-pit, white-board-covered walls, and ergonomic standing desks seemed to be "work hard, play hard". After our brief tour sufficiently teased us with excitement about the coming week, we all met up again for a journey to our "home" room we'd be seeing a lot of in the days to come.
Once there, we were given an introduction by Peter Lubbers, a Program Manager on the Chrome Developer Relations Team, to some of what we would be doing throughout the week. We were tasked with creating a web app, an application that would be judged based on performance, design and mobile-friendliness, among other things. We didn't know where to begin, but after a great presentation by Developer Advocate Colt McAnlis on the importance of performance and speed in web applications (shout-out: #perfmatters), we were ready to start thinking of ideas. We brain-stormed, coming up with ideas as far and wide as games, gesture-based UIs, P2P kareoke and intelligent to-do lists. After a presentation on the wonders of Chrome Dev Tools by the amazing Paul Irish, we'd managed to come up with a hazy idea: a collaborative, predictive to-do list app.
Days Three, Four, & Five: Work, Work, Work (and Play)
The next few days were all about trying out exciting technologies and frameworks, like App Engine, Angular, Polymer, and Dart, as well as learning about interesting concepts like Shadow DOM. Between working on code labs and eating more delicious Google food, we worked hard to make sure we would be able to finish our web app and have a more-or-less demoable product by our Friday morning deadline. Every member of the group was at any given moment working on some smaller task to contribute to the GitHub code repository or the presentation. Between the merge conflicts and the late nights, we all got to know each other fairly well.
All of the groups were working round-the-clock running on some combination of coffee, Red Bull, Coke, and caffeine-water to be able to finish up and have something exciting to present when the time came. The last night before the presentations was the hardest, giving that final push to have a finished product, practicing presentations, and making sure absolutely nothing could go wrong. We had to go from broad idea to finished product in just a matter of days, so we had no time to waste. In my group's case, we were hammering out details down to the last minute before our presentation.
Of course, we couldn't make it through the week without a little playtime. True, this mostly consisted of awesome food (surprise In-n-Out, make-your-own pizza dinner), but it also extended to an excursion to the official Google Store, as well as a friendly competition to see who could provide the most improvements to the Web Platform Docs. We also had some fun (heart-breaking) times bonding over the NBA Finals while coding ours sleep-deprived butts off. Thursday also brought exciting mock interviews, provided to give us a taste of what a Google interview would be like, as well as tips on how to succeed through the process. All in all, we had a good mixture of crunch time and fun time.
Day Six: The Big Day
The morning we'd all been waiting for was here. It was a bitter-sweet moment as we realized we were finally done with our web apps after what seemed like an eternal week, but also that it was our last day of our short stay at the Googleplex. The overwhelming consensus was that no one wanted to leave; we'd just gotten there, after all! Nevertheless, we all stepped in a shuttle for our last ride to Google, and tried to savor every moment of it that we could.
Our last day began much like our first, with breakfast at Charlie's. Today, however, we were all led to the Seville Room post-breakfast, where we would give our presentations in front of several of our week's instructors for them to judge.
The first app presentation turned out to be the winner, and it was without a doubt the most polished and stable of the bunch. It was called Whiteboardr, and it was essentially a real-time collaborative white-board where students and instructors could work out problems, from any device. It even included a nifty video-chatting option, as well as several other classroom-themed features.
The second app demo was ours, and we'd managed to get a semi-working product ready for show-and-tell. Our app, called Notorious, allows a user to join a "Lecture" (kind of like a chat room), based on a unique code chosen by a fellow student or instructor. This code allows anyone joining in to be able to type up and save notes, as well as be suggested potentially relevant notes from others in the same lecture that you can then choose to drag in to your own notes. When you are done, the app saves your notes and the attached notes for you to view in the future. Though our website was perfectly mobile friendly, it was lacking in terms of design coherence and stability; had we another day or two, it certainly would have been able to come together much more nicely.
The third app was a game, called Phunt. A Phunt is a multi-player, real-time scavenger hunt, where users compete by running around and taking photos of a series of items as quickly as possible; the items are chosen from pre-made Phunts, or a user can create their own custom Phunt for others to join. The photos, taken on your mobile device of choice, come with location data that can be shared with the other players. When everyone is done, scores are tallied and a winner is chosen.
Next up was another game, this one called Xtreme Typing. This app used Web Sockets to create typing battles between any two connected players. It was meant primarily as a learning tool for anyone who wanted to learn how to type faster and more accurately. It featured a great UI that was worked very consistently across devices. These players could face off through any medium, from laptops to mobile, and compete to compare their typing prowess.
Then there's Twine. Twine is essentially an social search engine; it connects to your social networks and allows you to make search queries for topics, and returns users who are interested in those topics. Twine then allows you to communicate with these relevant users via email or Facebook message, in the case of Facebook users. You can also create a Facebook Event and invite these users to participate.
The last app is called Forbidden Woods, and it's basically an online version of Taboo. But it's much more than that: it integrates with your Google+ and allows you to play games with any of your friends, and it features several accessibility features as well. Best of all, it has gorgeously designed, smooth UI featuring rich graphical content.
After we were all wrapped up with presentations, we headed over to take some commemorative photos at Google's famous Android statues. We then had lunch, our last meal at Google, and reconvened to hear the winners of the web app building competition. Once that was over, we had our own mini graduation ceremony, right there in the heart of Google.
Finally, it was time to head to our next destination: San Francisco! We were all extremely excited about visiting the California Academy of Science, and between the planetarium, aquarium, and exciting animal life, no one was left disappointed. We also had a chance to visit the Golden Gate on what I'm told was a all-too-rare fog-less day. Our main destination in the city, though, was AT&T Park, where many of us would be witnessing out first game of baseball. Though the Giants ended up losing to Miami Marlins, it was nevertheless an exciting game and we had a fun time conversing with each other. At least, until we started getting attacked by sea gulls.
As we headed back, everyone absolutely drained of energy, we all considered the past week and everything we had accomplished. Though we'd only met online before, we all had managed to pull together and produce many interesting, useful web apps. We, a small group of 18/19/20-year-old college students, had accomplished quite a whole lot in just a couple of days. We felt proud to be there, proud to be at Google and happy to be surrounded by people who shared the same passions as us. Which explains the after-hours pool party after we got back.
By all accounts, we should have been dead. Running on next to no sleep and god only knows how much caffeine for the past week, and with the pressure of building a product behind us, the only thing keeping us up was our lack of desire to leave everyone else. We all knew as soon as we went to sleep, this week-long adventure of awesomeness would be over. So rather than accept that, face the facts, and say our good-byes, we did what anyone else would have done: have some fun by the Jacuzzi and pool, and follow it up with a rousing game of Cards Against Humanity. When the hotel staff kicked the 20 of us out of the lobby at two in the morning, we were alright. We'd had our fun, we'd made the most of our adventure, and we were ready for a night of sleep and the coming plane rides home.
Day Seven: So Long, and Thanks for All the Free T-Shirts!
When the alarm sounded at eight-thirty in the morning, I felt free to take another five minutes to get up. There were no buses to catch today, just breakfast and a flight later in the day. And that felt good. When I finally did get up and go downstairs, I was reminded that afterwards, many of us would be gone and possibly never see each other again.
It felt like just yesterday I'd met all these great people, and admittedly it had just been the day before when I was first able to connect with a lot of them. But as we said our goodbyes, to our amazing hosts and our great friends that we felt like we'd known for a lifetime, I was overcome with a feeling happiness. Yes, I would be seeing these people again. I would probably see them next year, at a Google internship, or the following year, working alongside me wherever I might be.
There's a saying at my school, that college is about making friends "who are to be leaders in all walks of life". Never had I felt that more than now. Who knew? A few of us could be working through a code lab with another group of students just like us in a couple years' time. Whatever the case, I felt glad that I'd gotten the opportunity to meet these amazing people and share some special moments with them. Who said being a geek was no fun?