IO2008: Rough notes from Selected Sessions at Google IO Day 2

Google IO notes continued from earlier in the day: http://perspectives.mvdirona.com/2008/05/29/IO2008RoughNotesFromMarissaMayerDay2KeynoteAtGoogleIO.aspx and yesterday: http://perspectives.mvdirona.com/2008/05/29/RoughNotesFromSelectedSessionsAtGoogleIODay1.aspx.

Google Web Toolkit and Client-Server Communications

· Speaker: Miquel Mendez

· GWT client/server communication options:

o Frames

o Form Panel

o XHR: RequestBuilder (be careful don’t to start too many—many browsers have limits)

o XML RPC

· XML Encoding/Decoding: com.google.gwt.xml defines XML related classes

· JSON Encoding/Decoding: com.google.gwt.json.JSON defines JSON related classes

· GWT RPC: Generator that generates code and makes use of RequestBuilder

Reusing Google APIs with Google Web Toolkit

· Speaker: Miquel Mendez

· GALGWT: Google API Library for GWT. It’s an open source project lead by Miquel (Javascript bindings to GWT).

o It’s a collection of easy to use GWT bindings for existing Google JavaScript APIs

o It’s a Google code open source project

· Reminder: GWT is a java to Javascript compiler.

· GWT now has a gadget class. Google Gadget creation using GWT by extending the Gadget class and implementing the NeedsXXX intrerfaces.

· Gears support:

o Exposes database, LocalServer, and WorkerPool JS modules

o Provides an offline module that automates the process fo going offline (creates the necessary manifests automatically)

· Google Maps support as well

Engaging User Experiences with Google App Engine

· Speakers: John Skidgel (designer) & & Lindsay Simon (developer).

· Showed a guest book application written using Djanjo Form. It’s been modified to run under App Engine (didn’t say how).

· App engine development environment makes it easy to work with a designer as it’s easy to install and runs well on a Mac.

· Walked through what they called 3D (Design, Develop, & Deploy) and how they handle it.

· Authentication options:

· Do your own

· Use GAE (any authenticated user or you can narrow the population to your domain only – all supported out of the box).

· Don’t make auth a gating factor or you will lose users – auth at the last possible moment

· Use the App Engine Datastore for sessions

· Decreasing Latency:

· Create build rules to concatenate and minify (Yahoo! Minifier) CSS and JS

· File fingerprinting

· Set expires headers for a very long time but add a version ID. He showed how to handle the version number on the server side. The recommendation was 10 year expiration with version numbers.

· Recommends “Progressive Enhancement” or “Defensive Enhancement”. You should still be able to render without JS. JS should give a better experience but you may not have JS (crappy mobile browsers for example). Another test, shut off CSS and it should still work.

James Hamilton, Windows Live Platform Services
Bldg RedW-D/2072, One Microsoft Way, Redmond, Washington, 98052
W:+1(425)703-9972 | C:+1(206)910-4692 | H:+1(206)201-1859 |
JamesRH@microsoft.com

H:mvdirona.com | W:research.microsoft.com/~jamesrh | blog:http://perspectives.mvdirona.com

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.