Programming
Article
By Andrew Tetlaw

Google I/O a Real Eye-Opener!

By Andrew Tetlaw

Google Wave logo

A lot of great stuff has come out of the recent Google I/O event, including a new Maps API and most amazing of all: Google Wave. That Microsoft chose this time to announce their new search engine, Bing, is a little mystifying. It seems to be greatly overshadowed by all the Google announcements. For me, Bing went bong. Nevermind, here are my personal favorites from Google I/O:

Web Elements allow you to embed various Google products into a web page; items like spreadsheets or presentations from Google Docs, conversations from Google Friend Connect, Google Calendar, custom searches, and news. The Web Elements site has a collection of simple forms that generate the code; all you need to do is pick the features, then copy and paste. I did notice that a lot of them make use of an iframe, which might be disappointing for those who dislike iframes. But, they’re so easy to use I have no doubt that they’ll be popular.

Ever imagined what it would be like to be able to write Word macros in JavaScript? Google Apps Script will allow you to automate Google Apps with JavaScript. The demo video shows a spreadsheet that uses some custom JavaScript functions to convert measurements, send email, and translate languages. This looks like another piece falling into place for Google Apps to be a capable Office replacement. Add App Engine and you could conceivably run your company’s intranet solely on Google’s products.

Google Maps API v3

The Google Maps API has had a major re-engineering and been released as version 3. Happily, you no longer need an API key. There are many changes, but for the sake of a comparison, take a look at a sample from the v2 API:

function initialize() {
 if (GBrowserIsCompatible()) {
  var map = new GMap2(document.getElementById("map_canvas"));
  map.setCenter(new GLatLng(37.4419, -122.1419), 13);
  map.setUIToDefault();
 }
}

Now compare it against the new v3 API:

function initialize() {
 var latlng = new google.maps.LatLng(-34.397, 150.644);
 var myOptions = {
  zoom: 8,
  center: latlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
 };
 var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}

Much better. It gels quite nicely with my sense of what well-behaved JavaScript should look like. The API is cleaner to use and it’s properly namespaced; no more functions in the global namespace beginning with "G." It’s apparently faster, less JavaScript is downloaded, and it now supports Safari Mobile.

Google Wave

The highlight for me was easily Google Wave. I’d describe it as 12 kinds of awesome dressed as a ninja. It’s a real-time collaboration and communication platform that combines email, instant messaging, and more. As enterprisey as that sounds, to me it seems to be also well suited to Twitter-style, adhoc exchanges. Amazingly it’s being released as an open source product.

You really need to watch the demo video to gain a proper appreciation for what Wave is all about. The product in the demo is an HTML 5 application built using the Google Web Toolkit. But, because Wave is an open platform the field is open for anyone to develop alternative Wave clients, extensions, or embed waves in other web platforms. You can even embed a wave in a web page with minimal fuss. First, you make a spot for it:

<div id="waveframe" style="width: 500px; height:100%"></div>

Then initialize it with JavaScript:

function initialize() {
 var wavePanel = new WavePanel('http://wave.google.com/a/wavesandbox.com/' );
 wavePanel.loadWave('wavesandbox.com!w+waveID');
 wavePanel.init(document.getElementById('waveframe'));
} 

There’s a lot to be excited about!

Recommended
Sponsors
The most important and interesting stories in tech. Straight to your inbox, daily. Get Versioning.
Login or Create Account to Comment
Login Create Account