Wednesday, 28 May 2008

Live blog: Google IO 2008 Keynote

Vic Gundotra, Vice President, Engineering

In a room packed of Google advocates, with terrible wifi access. Apologies first from Vic for the terrible queuing situation and the lack of seats in the auditorium. People sitting on the floor will be a frequent sight I feel.

What has Google got to do with developers? Moving the web, and web development, forward is critical to the entire ecosystem, and Google is committed to it. Vic is going to talk about how Google is going to facilitate this.

Back to the era of the mainframe. Powerful computing for its day, but not accessible. General public didn't have access to the mainframe, and even people who had access had a slim slice. Deployment of software was easy - dumb terminals.

The PC era came about. The power of the mainframe was given up, but the computing power was accessible. Deployment, however, was a nightmare. Dumb terminals, to powerful client.

The emergence of the Netscape browser gave us the web. Deployment became easy again. But we went back to a dumb terminal, and the power of the PC was lost. Clouds are required to run the apps like Amazon. This is out of the reach of most developers, so the massive compute power becomes inaccessible again.

How can we get round this? Well, make the cloud more accessible, and the client more powerful. (Can anyone say Appengine & Gears?) Connectivity has to be kept persuasive. There is an explosion of conenctivity at the moment - just look at mobile broadband.

But what are Google's motives? There are two reasons. Google was born in the era of the web, it was the only platform it has ever known. A standard by concensus. From standards like HTML and CSS grew apps upon apps. There is a debt due to Open Source software. Google was only able to get where it is because it stood on the shoulders of OSS giants, and it owes OSS. Secondly, it benefits Google economically. The richer the web, the more users, the better the experience, the more Google benefits. A healthy ecosystem is good.

Making the client more powerful.

Why did it take so long for XmlHttpRequest to become ubiquitous? Why so long for HTML5? We need to speed up the evolution! So here we have it: Gears. Think of Gears as a bleeding edge HTML5 implementation. Google is deeply committed to HTML5, and hints that Gears will become redundant when HTML5 is adopted widely.

SVP of Engineering from MySpace is introduced to demo. So it's a demo showing how they can take the mail facility of MySpace offline, and add some searching functionality and some added sorting. Simple to develop, and simple to use, but big benefit. It's available now.

Keep it persuasive.

The marketplace for mobile apps is very fragmented right now - at least 14 different platforms to build for. Google believe the browser will be the entry point for many applications in the future - but not now due to hardware limitations. So Google developed Android, an open source stack for mobile devices. Steve Horowitz, the engineering director for Android is up now to talk about the platform. Android is a complete stack to build a mobile phone, that they will give away to the mobile market. A WebKit browser is built into Android, as well as key apps (think address book, etc.). They have a concept called "views" which are built upon browser app (e.g. Maps) which you can extend to make your own apps. Now a demo of the phone. Wow! Looking good. Icons are nice, usability seems excellent. They have a "spaces" like concept with the background, with drag n drop gadgets. You can created new gadgets that are shortcuts. They have very similar gestures to the iPhone. A maps demo, very similar to iPhone again, and a pacman game. Street view is demoed next which is nice. But wait! A compass mode, where it will change the direction of the view based on your direction. Nice!

Making the cloud more accessible.

Round of applause for Amazon for opening up their infrastructure first - taking the lead. And Google followed, opening the infrastructure in the form of Appengine. Appengine takes away the pain of sysadmin stuff - setting up Apache, MySQL, Linux, etc. etc - and also sorting out the hosting. The design goals were to make it easy to create the app, scale the app, and free to get started.

So a little demo of Appengine. You develop locally with the SDK, then deploy, and then launch. If you've designed it with scale in mind, you can scale with no further work to millions of users. Some examples of apps built on appengine so far. TweetWheel, and laterloop are the examples used, along with an app devloped oin a weekend to help in the aftermath of the China quake.

Areas of work coming up: offline processing, rich media support, additional infrastructure services.

Two new APIS for AppEngine announced! A memcache API and a image manipulation API. Also the first guess at billing costs. Always going to be free to start with, but beyond that 12c/core-hour, 18c/GB-month, 13c/GB-transferred out, 18c/GB-transferred in.

AppEngine is now open to everyone! Brilliant news for everyone :o)

Make it more accessible.

Mark Lucovksky, Technical Director of GData/AJAX APIs is up. Talking about accessing (read/write) the user created data from Google services using Atom through the GData API, and AJAX RESTful APIs. So a demo up using a blogger blog. First up: add a YouTube video. Javascript example, very nice result. The videos come up in a column, with a lightbox style when you click on one. You can dynamically search for videos in page too. An RSS feed is next, in two forms - slideshow and text. A news ticker example follows. All customisable using CSS that is publicly documented. Yet another example, using a celebrity map! Possibly the most interesting is the final demo, the translate API, allowing you to translate any part of your page dynamically.

Making development easier.

Talking about Google Web Toolkit here (GWT). GWT is a Java => HTML + JS compiler essentially, with a set of tools to enable this. Bruce Johnson, Engineering Manager for GWT is up. GWT gives you the leverage to make JS applications happen. One of the best features of GWT is that it compiles HTML/JS to be compatible with all major browsers. GWT has a hosted mode, where you can use the app in a development mode. Just to underline if you don't know, GWT is so cool. It makes Java relevant again for the web.

Blueprint is the example of GWT used here, which is a diagramming tool. Impressive tool, feels like a desktop app.

GWT 1.5 RC is available today! Java 5 language support is now available :o)

One important point is that the resultant javascript does not have to be maintable, as the Java is. This means that the compiler can go to extreme lengths to create fast code.

800 Open Source contributors helped make this possible. Thanks to them!

Making the web more social.

Google is responding to the consumer's desire to be more social online, as seen in the last 5 years. David Glazer from OpenSocial is up. Two things are coming together to make the social wave crest. First is consumer desire. Second is that the web is enabling. Taking the same idea the fuelled the web, connecting documents, to people. It will take three things: Identity/OpenID, Authorization/OAuth, Apps/OpenSocial. What is OpenSocial? A set of APIS, a reference implementation, and a community. Last night OpenSocial Spec 0.8 was pushed last night. Shindig is an Apache project, which is a reference implementation for OpenSocial which is currently being developed.

Nat Brown CTO of iLike is up to talk about OpenSocial. iLike is a music social discovery service. They realised that they wanted to focus on the music, not on the social network. Showing an example of an OpenSocial gadgets in hi5. Talking about how they have such gadgets on myspace, orkut also. Reaching many more users now, through this application syndication.

Back to David. Growth from 0 users last November, and there is now a reach of 275M users, with 20K developers and 50M installs. Good figures! So many containers who are implementing - too many to name... Yahoo, Salesforce, iGoogle, bebo,.....

New in OpenSocial 0.8 is a RESTful version, and coming up in the future is a template language based on XML.

Google Friend Connect is a way for developers to easily leverage OpenSocial.



Google is committed to Open standards and innovation... and that's it!

1 comments:

Andy said...

Nice notes. I was at Google IO 2008 as well. My colleague and I are posting our detailed thoughts of the sessions we attended at:
http://googleconference.blogspot.com/