Monday, June 4, 2007

Google Developer Day - Overview and Keynote

Google Developer Day 2007 was a free conference provided by Google. The conference was initially scheduled to happen at the Googleplex, but due to an overwhelming response of attendees, Google moved it to a larger venue, the San Jose Convention center. This was somewhat disappointing because I was looking forward to spending the day at Google's headquarters. The good news was that there was still an evening event scheduled at the Googleplex. As I walked into the lobby of the convention center, the first thing I noticed was all the Google colored decorations. Registration was split into three different tables separated by last name, A-I, K-Q, R-Z. I'm not sure how Google decided on this split, but it didn't seem very efficient, my line (K-Q) was about 10 times longer than the others (but it did move quick)! Here's a picture of the check-in desk:
Elsewhere in the lobby were demo's of Google's Search Appliance and other products, foosball tables, pool tables, ton of free snacks, and a field of bean bag chairs.



Here's a link to YouTube where Google posted videos of all presentations as they were recorded professionally. During each time slot during the day, there were about six possible presentations one could attend, I tried to pick the most interesting or applicable to my work. Here's a full list of all the sessions. I'll post a different blog entry for each session I attended, some will be more extensive than others.

Opening Keynote - Jeff Huber - Vice President, Software Engineering
While waiting for the keynote to begin, there was a repeating video playing demoing many applications built with Google technology, but not all necessarily built by Google. Throughout the day they referenced a couple of them as good examples of how Google's technology could be used (I'll mention some later). Mr. Huber's presentation highlighted what was to come throughout the day, as well as indicating that there were 1,500 developers attending the conference in San Jose, and that there were 160 Google Developer Day sessions to happen throughout the world (Google Developer Day happened in other cities internationally). Everything, including food, was free (paid for by Google).
Mr. Huber continued, explaining that Google Maps opened people's eyes in 2005 to AJAX and how web applications would be revolutionized. Besides the rich client experience that AJAX enabled web applications to have, AJAX also enabled a way for developers to "mashup" pieces of functionality to extend to the original desired purpose. The idea of mashups started when the community of developers reverse engineered the Google Maps code, and then combined the maps with other features such as mapping out a jogging route (as provided by walkjogrun.net).
Next, Mr. Huber described that the web application development is continually requiring less and less low level development, instead, developers merely reusing existing applications/infrastructures and merge them together (mashup or not) with code only existing at the high level. Here's an example: if someone needed to make a website, no one ever starts by writing the code behind the web server, instead they may actually use a WYSIWYG editor to create the pages and the move them to an already existing hosting service.

The presentation defined three stages towards contemporary development of a web application: integrate, reach, and build. The integrate stage involves determining which data or existing services to combine for your application (check out the Google Mashup editor, an way to quickly and easily create a mashup with only a few lines of xml). The reach stage is used to devise a way to drive traffic to your site. Google advertised their Gadgets as a technique to do this. Citing an example, the Pacman gadget, for iGoogle, successfully drove 6.7 million page views to the authors site in a week! Finally, the build stage of web application development is when everything comes together into the fully functional web application in the fastest, best, and cheapest way. Of course it's all good when your web application is running and people are visiting each day, but what happens if the web is not available? In this case, web applications are useless because no one can actually use them! Mr. Huber introduced Google Gears beta, a framework that developers may use to enable users a way to use web applications without a connection to the Internet! In a nutshell, Google Gears leverages the fact RIA focused websites only ever need to contact the server when data is needed (read or write). Why not download a batch of the data to keep locally if this would enable the web application without an Internet connection? If new data is ever needed, or if data needs to be sent to the server, a local queue of changes is maintained for synchronization whenever the connection to the Internet (or whatever server) is restored. The concept of Google Gears sounds promising, but the technology is still in its infancy (nowhere near ready for enterprise use). It seemed that Google was using the conference as a channel for soliciting help for the open source model being used to develop the product (while a Google product, it is BSD licensed). Read more about Google Gears here (http://gears.google.com/).

As Mr. Huber's presentation was concluding, he introduced a surprise guest, Sergey Brin (cofounder of Google). Mr. Brin thanked everyone for attending and spoke briefly about the current "self sustaining" evolution of the Internet. The Internet is not a sentient being on its own, but it's the result of hard work from many people. These people are a key component of its evolution. Regarding Internet search, Mr. Brin described that as good as Internet searching could become, it is only as good as the content on the Internet (and that would be nowhere without the people posting it).

No comments: