Google I/O Sessions Day 1: Keynote - HTML5, Closure Library, Buzz API, and HTML5 Applications

Table of Contents

Sessions

Day 1: Keynote

General emphasis on HTML5 as the future. Should try out Wave again.

Most of these noted externally; should

http://googlewavedev.blogspot.com/2010/05/google-wave-platform-updates-at-io-see.html

Opening up Closure Library

Author is with Google Books team.

http://bit.ly/9NEdA3

What is it

Originally HTML/CSS/DOM were just web document now that we have web appplications

How to make them more maintainable

"JavaScript, like Perl, is often thought of as write-only."

Problem statement

Have a number of different styles, collaboration is difficult, managing complexit yis difficult.

This usupports better OO with defined interfaces

Testing and stability

Google has a submitqueue before someting is include in the core libary

Open Sourcing the Closure was a 20% project

400+ engineers have contributed

Not procedural

This moves

OSCON will have perforce2SVN

Implement this against static/ with svn:externsl

Use a cmo. namespace

PPull in the base.js with the dependencies then the

This also in cludes the rich text editor

Namespacing

This includes all of the core setup fuctnion that gointo the nnamespace

Dependency mapping

What is the tesing used for each of the components

Necessary bootstrapping

Dependency features are available

this includes calcdeps.py and bin/build/closurebuilder.py

closurebuild.er.py should bePOC for Canvas

Implemenation of compiled version

kill base.js with the feature JavaScript.

Replace with compiled.js

The test structure

Use filennametest.html as the baseis

This has ost of the API documentation

Test suite is based on the care HTL

/trunk/alltests.html

all

also includes goog.test

Patches are now possible

@closuretools

Discussion group is closure-library-discuss

Office hours: 2:30 - 5:00 Space B

Code splitting is an advanced configuration

Google Buzz API   api

Lookat at the Google Code oacurl.

Integrating Google Buzz.

How to pull all of the data into a single location.

Standards: OAuth, Atom, RESTful API, JSON, Activity Streams

Seesmic: Post to Twitter and Buzz at same time

Developing with HTML5   html5

History

1995 is the first; CSS was finally available in 1996

Latency o

XHR was to allow for Ajax apps

Chromabrush

localStorage

window.openDatabase

new Worker

new dgrag event listenters

Day 2: Keynote   android googletv

Android

Google TV

Number of amusing TV selections:

  • Search sites for "youtube.com": results include "Mother's Day MILF"
  • Nicolas Cage:
  • Sex in the city
  • MSNBC: Dating advice about a bad boyfriend

Google Analytics APIs: End to end   javascript python

http://bit.ly/c8zpAV

Google APIs - Nick Mihailovski

Google Analytics measures performance of your website. Learn advanced techniques on how to use our tracking, processing and data export APIs as we walk you through an example of creating a most visited pages web element for your website.

Session type: 201 Attendee requirements: Intermediate Knowledge of Google Analytics, Javascript Tags: Google Analytics, JavaScript, Java, Gadgets, Mobile, ga.js, Video Hashtag: #googleapis5

Date: Thursday May 20 Time: 10:15am-11:15am Room: 2

https://wave.google.com/wave/waveref/googlewave.com/w+0iIr7fEYA

What is the level of the sophistication for measuring app performance

Four key compnent

  • Collection
  • Managment
  • Export
  • Procesing

Core Process

How is all of the data calculated.

There are 80 dimension and 95 metrics.

The initial login provides the tracking code with is applied to

Collect the goals, filters, and profiles into into a data structure.

Visitor Interaction Model

Visitor Session and Hit

vid remains the same, the session is the cmp value, and the ist is persited as well.

Eache of these are part of the Visis count the number of session?

dimensions are calulated as a session hit of type page.

The pagePath is returned.

This ignores any transactions.

Account Mangemnt Overview

Look at the client libraris with Javascript .

This would be part of the data export API.

There are number of queries options available.

How to get API reviews and training before a project is actually needed.

Example: Using GA to integrate with CMS

This creates a mashup

Use a name to track a specific id. What is considered popular elements in Classmates? Could be discussion areas / communities / schools.

Could this be wired into

Using watchers for GA before the loading

Using custom variables to track gold vs. basic members

This is already done.

Provide event tracking to ensure that data is being tracked

Create a acheduleable application to export data

The variable name is ttop links. set dimention

new AnalyticsService with the Google API

setFilters setDiensions setMetrics setSort

These are thkey items to have the top lines based on the id

Surf the stream: Google Buzz, location, and social gaming   python buzz

http://code.google.com/events/io/2010/sessions/surf-the-stream-google-buzz-social-gaming.html

Social Web - Bob Aman, Timothy Jordan

Google Buzz has a feature-rich API that allows you to do all kinds of interesting things with conversations and location. In this session we'll build a Buzz-tastic mobile game using App Engine, HTML5, and the Buzz API for social awesomeness.

Session type: 201 Attendee requirements: Knowledge of Python, the web and a good spirited nature. Tags: Buzz, Social, mobile, HTML5, App Engine Hashtag: #buzzbingo

Date: Thursday May 20 Time: 11:30am-12:30pm Room: 1

What is the Buzz product and how could it be productized

ShareThis

this new features allos conversations to be shared across the internet.

Essentially, in order to pull in the kind of product development that would be possible with the technologies there would likely need to have a doubling of the number of front-end developers.

This however competes with the approach currently used of having product owners define.

What happens is that CMO is fairly far behind.

Boxee

Buzz Bingo

Uses the Buzz API and then with the Buzz system.

This was implemented in Python.

  • Get a client
  • Create a oauth consumer
  • Set the key and secret.
  • Define the scope
  • Get the auth token
  • Specify the callback to consume the oauth verifier
  • Get an access token based on the verifier token
  • Get a list of topics
  • Select a random set of twenty four toiics
  • Create a board based on a 2d array in a Square
  • Application polls Buzz for any new keywords and score posts
  • Mark the board based on the intersection between comments and topics
  • Award badges

Ecosystem

Open protocols drive with weave, salmon, pubsubhubbub and oauth.

Building real-time web apps with App Engine and the Feed API

Google APIs, App Engine - Brett Bavar, Moishe Lettvin

We're introducing two new APIs which you can use to power real-time web apps: the App Engine Channel API and the Feed API v2 with push updates. Learn how the new Channel API allows you to push data from your App Engine app to an end user's browser. Also, learn how the new version of the Feed API allows you to subscribe to PubSubHubbub feeds and receive updates pushed to the browser.

Session type: 201 Attendee requirements: Basic familiarity with JavaScript Tags: Real-time web, App Engine, Feed, API, PubSubHubbub, Javascript Hashtag: #googleapis6

Date: Thursday May 20 Time: 1:00pm-2:00pm Room: 2

Hackers Lounge: Building HTML5 Applications   javascript canvas

SEO site advice from the experts   seo

Tech Talks - Matt Cutts, Greg Grothaus, Evan Roseman

A perfect opportunity to get your website reviewed by the experts in the Google Search Quality team. Attendees can get concrete search engine optimization (SEO) feedback on their own sites. We'll also answer real-life questions that affect developers when it comes to optimizing their websites for search.

Session type: Tech Talk Attendee requirements: Perfect for web developers who want to learn more about search engine optimization (SEO) Tags: Search, SEO, site architecture Hashtag: #techtalks-seo

Date: Thursday May 20 Time: 2:15pm-3:15pm Room: 8

The keyword meta tag isn't even used by Google

Put some text on your page

What will users type and put that

Use reviews and content associated with content

This was about the site rodsbot.com.

Determine how much of the content is available

If using WordPress be sure to update

Keywords and title with text can help

Does this really work with things like name and content items.

What is the way to differentiate the content on site to encourage back-linking

Google Webmaster

SkipFish looks for third-party malware

Fonts should be used instead of images

Many of the sites were

Don't get too focused on on trophy phrase

Only look for what is in the server logs

Look at video and Twitter and Facebook

Consider using dashes or periods rather than underscores

GWT seems to create reasonable data by default

If looking at an optimization strategy .

Bread crumbs need to be consdered in advance as part of the structures

Unfriendly URLs

If making a new site and you can make this happen. If you can have a keyword in the URL it might help but isn't a big help.

Don't do an 8 month project to make this work.

Search engines work with the web as it is.

The canonical URL from the team wasn't a bit concern.

rel=canonical

Can just be used to point to a central location.

www vs no sub-domain

Does the "Canonical URL" strategy really help out at all when given the engineering time.

URLs behind the gate are irrellevant. If behind the gate point to a public location. Just looking at not dividing the content.

The project was a complete waste of webdev resources to rebuild the URL.

Use of shortners would be just as valid assuming a permanent redirection isused

Optimize every bit of your site serving and web pages with Page Speed

http://code.google.com/events/io/2010/sessions/optimize-site-serving-page-speed.html

Tech Talks - Richard Rabbat, Bryan McQuade

Page Speed is an open-source Firefox/Firebug Add-on. Webmasters and web developers can use Page Speed to evaluate the performance of their web pages and to get suggestions on how to improve them. Learn about the latest rules of web development we've added, optimizations that we've updated, go over a new refreshed UI, see how to collect data through beacons to track progress over time, cut and paste fixes, and how to work with 3rd party libraries more effectively, including Google Analytics.

Session type: 101 Tags: Design, Web development, Website optimization, Page Speed, Analytics Hashtag: #techtalks-speed

Date: Thursday May 20 Time: 3:30pm-4:30pm Room: 9

http://bit.ly/io-speed

Four new product features

Why is performance is important

Only three traditional examples.

Building blocks: processing, bandwidth, RTT, Parse, fetch, render, JS

How to measure a complex DOM.

See Google Spped Tracer

Example page load

  • DNS lookup
  • TCP Connect
  • HTTP Request
  • Server procesing
  • Parse and layout
  • RenderSubrequests

Three speed guideslines

  • Serve fewer bytes
  • Parallelize resource download
  • Promote modern browsers

Example

Tools (Page Speed SDK, beacon supports)

mopagespeed

Performs the minification; would not be something to be used.

How would this support cached values for

Deferred loaders may create stairstep effects with current browsers

Chrome and other current browser look at speculative fetching of JS

HTML 5 updates

Storage

SQL

WebGL

Drag and Drop

Summary

Key links are available at

http://twitter.com/googleio

The goal of the sessions were to find areas of growth in integrating

Unless the people implementing the features are driving part of the acquisition of data there isn't a growth of knowledge.

The goal of front-end shouldn't be to focus effort on keeping people out but to simplify the process for monitoring the value of changes and ensure that a discussion is possible.

This first starts by building the reporting and analytical infrastructure to help others release their changes.

Problem:

  • Front-end is a bottle-neck for the release
  • There should be some way to have tracking of the changes released to production
  • Rollback and an exit strategy should be critical with all front-end projects
  • Increasing the complexity without these goals in mind won't improve quality or release time

Classmate Project or Initiatives

TODO Use the Closure tools to indicate actions in the parse tree

TODO Greate a future plan for front-end

TODO Feeds API

Web Fonts

TODO App Store launch

TODO Review the full Google Analyitcs API

TODO Google Analytics through the Android SDK

Send this to Jin.

TODO Google Analytics Query Explorer

TODO Use Google Analytics to get all cities and cache the results

We shoudn't have to have this defined for each of the initial login pages.

Yahoo! Analytics API review and POC for Front-end

Integrate school views with school search

Implement deferred loading for GA with var _gaq = _gaq || []

Create helper links to reduce the number of clicks by school id

Is this available in any way that tracks back to the number of schools.

Is this substantially different from

communityId,memberCount

The person implementing features needs to drive features

Move to queue and async loader for Analytics

"Google App Scripts Analytics" for Analytics@Docs

"Use the other box"

SkipFish

Fetch as GoogleBot

Make it easier for non-developers to push changes for the site

This is based on the requirements associated with the SEO review.

SEO and other tasks that pull front-end resources should include in training

GWT POC of community or directory

Create a meta description to summarize directory

Make the links point to the same place: remove the index; be consistent

NextSprocket.com: best ideas

ajaxcrawling: Better indexing with #!

This likely wouldn't help on the directory pages.

We wouldn't traditionally have that useful given the

TODO Research MAYDAY-Update

See Google Speed Tracer POC

PageSpeed: Logging of deprecated JavaScript through beacon option

PageSpeed: Evaluate the impact of specify cache validator

Web Master Tools: Get access to Web Master Tools

Who has the account for this?

Gomez: Get access to the login associated with the pages

Will Gomez report ongoing reports about the performance

Widget POC to reduce dependency on the application stack

This would also allow for easier testing and performance would still be tested with.

PageSpeed beta now allow individual tracking of ads and trackers only

Initiative for faster initial presentation with chunking of HTML header

Preparation

Noted hashtags

Prove feedback area for sessions

Live notes

Scavenger hunt

Author: Jason Walsh

j@wal.sh

Last Updated: 2025-07-30 13:45:27

build: 2025-12-23 09:11 | sha: a10ddd7