Google I/O 2010 – Keynote Day 1 – Full Length

Google I/O 2010 – Keynote Day 1 – Full Length


>>>Ladies and gentlemen, please welcome vice
president of engineering for Google, Vic Gundotra. [ Applause ]
>>Vic Gundotra: Well, good morning. Good morning.
And hello. On behalf of Google, let me extend a very
warm welcome to all 5,000 in attendance today, as well as the many more thousands who are
watching our first-ever live streamcast of this event on YouTube.com.
Thank you. You know, it’s hard to believe that this is
our third Google I/O. It’s not only our largest Google I/O, it’s
the one that we sold out the fastest. It even surprised us.
Within weeks of announcing this conference, we sold out of this event two and a half months
in advance. We think that speaks volumes about the level
of enthusiasm that you all have for this important community event.
And at Google, we recognize how precious and valuable your time is, and we’re honored and
grateful that you have chosen to spend two days here with us.
We hope you find this conference exciting and really engaging, and we have a few surprises
for you as well. Now, some of you may wonder, how did we name
this conference? What does I/O stand for?
Three-plus years ago, when we first thought about holding a developers’ conference and
we thought about naming the event, we contemplated multiple choices.
We wanted a name that, most importantly, embodied the spirit of the Web, a spirit of collaboration.
Sometimes messy, but always fun. A spirit of inclusiveness rather than exclusiveness.
A spirit of innovation and of openness. And, of course, we wanted this event to appeal
to developers. So we thought, what’s the first thing a developer
learns to do when they begin to code? Well, it’s input and output.
That’s I/O. But I/O also stands for two of the most important
elements of our Web culture: Innovation in the open.
Make no mistake about it, the Web is the most important platform of our generation.
And because it’s a platform controlled by none of us, it’s the only platform that truly
belongs to all of us. And it’s our job as a community to move that
Web forward. And so you can imagine how pleased we were
last year at this conference to focus the world’s attention, the developer community’s
attention, on an important standard, HTML5. It was at this conference in this room last
year that you can see we first started driving attention toward HTML5.
And events later on in the year continued that momentum that we, as a community, started.
That huge spike is YouTube’s adoption of HTML5. That other spike is Apple’s adoption.
I think it was a Steve Jobs late-night e-mail or something.
[ Laughter ]>>Vic Gundotra: That last spike —
[ Applause ]>>Vic Gundotra: Hey, we’ll take support from
wherever we can get it. That last spike included Microsoft’s support
for HTML5. As a community, working together, and collaboratively,
we can move the Web forward. Of course, we recognize that we are far from
done. We recognize that the Web has important challenges
that we need to address as a community. How can we make the Web faster?
How can we make Web apps as discoverable as you see, for example, in app stores?
How can we make it easier for developers to monetize those applications?
And, finally, can we make the Web extend its reach even to new form factors?
We hope to show you our proposed answers to some of these questions at this conference.
And we’re very much looking forward to your feedback.
Of course, the Web is growing up. It’s all happening because we’re working on
it together. And we think this conference is an important
part of that process. Before I hand off to our opening keynote speaker,
let me just make two housekeeping announcements. The first announcement is, I hope you all
enjoyed the Android devices that we sent you as part of registering.
[ Applause ] [ Cheers and applause ]
>>Vic Gundotra: If you have not already done so, please go to the Android Marketplace and
download an application we specifically designed for you at this conference, just do a search
on Google conference or Google I/O, and you’ll find this application.
This application will make it very easy for you to make the best use of your time and
to really find the sessions that interest you the most.
The second and last housekeeping note, tomorrow’s keynote will not start at 9:00 a.m.
It will start at 8:30 in the morning. I know, that’s early in the morning, particularly
for you developers. But I promise you, you will not be disappointed.
We have more than one surprise tomorrow morning. So have fun at the party tonight, but remember,
the fun starts at 8:30 tomorrow morning. [ Laughter ]
>>Vic Gundotra: All right. With that, let me hand off to our opening
keynote speaker, who will carry the banner of the open Web.
Please join me in welcoming Google vice president of product management, Sundar Pichai.
[ Applause ]>>Sundar Pichai: Thanks, Vic.
It’s great to be here. I’m going to be talking to you today about
HTML5, the incredible momentum we have, all the new capabilities that are coming up, how
modern browsers are going to support these APIs.
We will show you real-world examples. We will invite application developers who
are building amazing experiences on top of HTML5.
And, finally, we will have a couple of important announcements on the way.
So let’s get started. First, as Vic mentioned, the Web is the most
important platform of our generation. And from a user standpoint, people are spending
more of their time on the Web. Compared to every other information medium
out there, the Web is more than double in terms of the amount of time people spent in
the last five years. Every other information medium has been the
same or has declined. That’s how important the Web is in users’
lives. How are developers reacting to it?
We started taking a look at how applications have been written since 1990.
Most of you are familiar with the popular desktop applications: Microsoft Office, iTunes,
Skype, Photoshop. The list goes on and on.
These are amazing applications which we all use in our day-to-day lives.
The interesting thing, though, is, since 2004, we can’t come up with popular desktop applications,
outside of games and browsers, that are being used by millions of users.
What happened in 2004? It turned out it is the year in which Ajax
and the Web 2.0 revolution happened. People started writing these applications
as Web applications, applications which you’re all very familiar with: GMail, Google Maps,
Twitter, Facebook, et cetera. The world changed.
The Web changed from documents to applications. And developers started reaching users by writing
Web applications instead of desktop applications. So this is a powerful change.
It’s a very important trend. Given that, we need to make sure Web applications
can do everything that desktop applications can do.
You’re all very familiar with this. Historically, desktop applications have had
full access to system capabilities. So they could talk to the speaker, microphone,
camera. They could access the file system, for example.
Web applications have been limited in what they can do.
This is what the HTML5 work is all about. We are working very hard as a community to
make sure all these capabilities show up in the browser.
Let me give a few examples. Most computers today ship with powerful GPUs.
How do you make sure Web applications can access these graphics capabilities?
That’s what Web GL and the graphics APIs are all about.
Workers, it is about allowing Web applications to access the multi-core CPUs present on the
computers. There are APIs to access the local file system,
local storage, speaker, microphone, camera, and the list goes on.
All this matters only if browsers support these APIs.
So let’s take a look at how we are doing there. About 24 months ago, this had just gotten
under way. There was pioneering work here by Firefox,
Safari, Opera, and Chrome didn’t even exist then.
So this is about 24 months ago, and it had just gotten under way.
Let’s fast forward to where we were last year during Google I/O.
You can see the momentum was there. Set of APIs being implemented in all modern
browsers, including Chrome. So the progress was very exciting.
So where do we expect to be by the end of this year?
As you can see, all the major APIs are going to be present in all modern browsers.
So — [ Laughter ]
[ Applause ]>>Sundar Pichai: So U.S. developers can bank
on these APIs being present in the browsers when users reach your applications.
Another important trend is mobile. All of you are carrying a smart phone here
today. The interesting thing there is, the smart
phones all are connected with capable browsers. This is looking at search traffic, the mobile
search traffic that hits Google. And if you look at the proportion that comes
from HTML5-capable browsers, it’s far outpacing the other browsers as well.
So HTML5 is everywhere. So the question is, how do we make use of
it? How do we all make use of it to create amazing
experiences for users? So I want to show you a few examples.
I’m going to start with a demo from Google. I’m going to invite Jeff Chang, who’s a product
manager on the Chrome team, to give you a demo of GMail, how GMail is has built two
simple yet powerful features on top of HTML5. So let’s get started.
So Jeff is loading GMail. It turns out, one of the most popular features
in GMail is sending e-mail. [ Laughter ]
>>Sundar Pichai: And most people tend to attach files when they do that.
If you’re using a traditional desktop application like outlook, it’s very intuitive.
You just drag and drop a file. That’s been hard for Web applications to do.
But now, using the HTML5 file APIs, he can drag that photo very intuitively and just
drop it in GMail. Simple, but very powerful.
What most users do in their day-to-day lives. A second such example is around notifications.
It’s very common for you to be in a Web application which has notifications associated with it.
For example, Google Chat is built into GMail. The question is, how do you receive that notification
when you are not on GMail? So but now using the HTML5 notifications Gmail
— notifications API, Jeff can receive the e-mail from Bob, I guess, even when he is
not on GMail. So two examples.
The file API and notifications API, and GMail is implementing to deliver powerful features
to our users. So at this pointed, I would like to invite
— we want to show you real-world examples, people all over the community building great
applications on top of HTML5. So I would like to invite first Charles Pritchard
from MugTug, and Jim Lanzone from Clicker.com. [ Applause ]
>>Charles Pritchard: Hello, everyone. My name’s Charles Pritchard.
I’m the CEO behind MugTug. I’ve come here to preview our latest software
development. It’s an application we call Darkroom.
In 2006, Michael Deal and I created an HTML 4 Web site called MugTug Studio.
It used cloud services to allow people to edit their images, apply effects, et cetera.
It was slow, and it used a lot of bandwidth. But now, this year, with HTML5 support growing,
we’re able to bring MugTug Darkroom onto the client side.
Now, when I say “client side,” I mean that we’re untethered, we’re not connected to the
Internet, or at least we don’t need to be. I’m going to go ahead and unplug and show
you that, indeed, we are offline, unless the Wi-Fi, of course, picks up.
So we’re offline. And we are still in the cache.
The way this is done is by using some HTML5 APIs.
One of them is application cache. We also use local storage and the file reader.
Our GUI is in canvas 2D context. So I’m going to go ahead, and I’m going to
start using the application. You can see here, we have a few beautiful
photos. And these are all being served from the local
computer. But what I’d like to do is go ahead and work
with one that hasn’t been touched up yet. That’s going to be this one right here.
Experts amongst you will notice a few things wrong with this photo.
It’s tilted. So I’m going to go ahead and I’m going to
apply our advanced rotate effect. Very wild, I know.
And the next thing we’re going to do here is, you can tell that the camera flash has
brought out that infamous red eye effect. [ Laughter ]
>>Charles Pritchard: So I’m going to go ahead here, and I’m going to give him a much more
natural appearance. It’s much better, much better.
Anyway, what you do see here is the next generation of application.
It’s quick to load, quick to close, and quick to use.
I’m previewing it on the latest Google Chrome, which has great support for HTML5.
The application itself is using JavaScript, and it’s using the canvas 2D context for its
GUI. We’re going to see a lot more of these in
the future, because HTML5 support, offline applications are being actively championed
by every major browser vendor. Again, my name is Charles Pritchard.
This is MugTug Darkroom. And I invited you to visit us in the sandbox
if you’d like some more information or if you’d just like to play around with some of
the other image effects we have going on. Thank you.
[ Applause ]>>Jim Lanzone: So we launched Clicker.com
a few months ago, it’s been called the TV guide for the Web.
It’s essentially a massive database, like sites like Trip Advisor or Yelp.
But it’s focused just on the premium programming available on the Web across Web originals,
broadcast television, movie, music videos. Because it’s no longer about when things are
on or having a scheduled grid. It’s about where they’re on and whether they’re
on and what you can actually get across thousands of different hosts of online video.
So we launched a few months ago, and a lot of our users are actually just broadcasting
their PC screens up to their televisions or using a Mac mini to do so.
And Clicker.com was definitely geared toward the two-foot experience.
It’s a Web site. They’ve wanted to be able to use us in that
ten-foot experience. We’re here today to launch clicker.TV, which
is our ten-foot experience. You see us kind of moving through T you’ll
see it looks and feels a lot like a downloadable application or a plug-in or something you
might have to buy a box to attach to your TV.
But it’s native to the browser. You go to Clicker.TV to use it.
It does this thanks in part to HTML5, using Canvas, Web worker threads, the local storage
API, and, of course, it really hums in a browser like Chrome.
Even though it works in all browsers, it really shines.
And you see the speed of this application. We’ll see — let’s go into, let’s say, a show.
Start with “Charlie Rose.” That’s an example I like to use.
And you’ll see it appears, you don’t have to go to the search box.
Chrome likes to show itself off. And you’ll see all the Charlie Rose episodes
that have been online going back to 1994, all organized by season.
Another example, let’s say with my kids I want to watch this online show called “Pigeon
Impossible,” which is a Pixar-like short. I start typing “pigeon,” hit it, and I get
to the actual show page. Perhaps.
Like Bill Gates. Just hit enter and I just hit play.
[ Music ]>>Jim Lanzone: Let’s say instead I want to
watch, actually, broadcast television. We don’t host all programming.
To be the TV guide of the Web, you have to be truly comprehensive and unbiased across
everything, even things you don’t host. Let’s maybe, for example, go back to the home
page and try the show “lost.” I’m not sure how many of you were watching
that 12 hours ago, like I was, hoping finally someone would ask a follow-up question.
I’m still waiting for that after six years. Let’s say we want to watch the episode that’s
online. Again, just go to the show, hit enter, you
get to the show. In this case, you’re being taken to ABC’s
Web site and it comes up large screen to play, or you can hit full screen to get it all the
way there. But, again, very easy and on your keyboard
just hit the back space or delete button and you get back to the programming guide.
Maybe because I don’t want to watch the ad, I want to add it to my play list you see on
the left-hand side I can scroll down or add to my play list and then down the left-hand
side of the page, I can go into the play list using the arrow keys or the configured remote.
You see all these shows I have saved. On our site here is “Deadliest Warrior.”
If anyone has seen this show, it’s ridiculous, like watching Alexander the Great square off
against Attila the Hun. So I’ve saved all these things.
You can also then browse 1400 categories in TV, movies, Web originals.
You can even sort by themes, kind of like Pandora, like jeans, like, quirky characters
and things like that. And you see the movie page.
You can just go straight into Netflix, if you’re a subscriber, to watch.
So that’s Clicker.TV, again, purely native. You just go to that Web site, and very, very
rich, thanks in large patient to HTML5 and the guys at Chrome.
We are in the sandbox, and we’d love to see you guys there.
Thanks for having us. Have a great next couple of days.
Thanks. [ Applause ]
>>Sundar Pichai: So it’s great to see these applications.
We will have many more on the way. And these are all built on HTML5 and work
great in the browser. One of the interesting things that Clicker.com
showed is the use of video. Video is one of the most important forms of
communication on the Web. Just like images are very popular on the Web.
But as developers, when you use images on the Web, you have a plethora of choices and
formats, including open and freely implementable format like PNG.
We think video should have the great free and open alternative as well.
It’s really important for the Web to have at least one alternative for video which is
high quality and open. So we’ve been thinking hard about this problem.
In fact, we are very, very committed to this. And we have invested over $120 million in
acquiring On2 Technologies to contribute towards this vision.
So today, we want to talk about VP8, but before that, let me tell you a little bit about On2.
We got to know this team last year. They’re a set of passionate, committed engineers,
based in Clifton Park, New York, they’ve been working on the video space since 1992.
So when we started taking a look at VP8, we were very impressed with its quality.
The VP line of codecs has had over 2 billion installs and has been adopted by products
like Flash, Skype, et cetera. It’s really suited for the Web.
To serve video on the Web, you need to deal with a lot of varying conditions, from a bandwidth
standpoint, from a client standpoint. There are many, many mobile devices which
are connecting to the Web as well. VP8 is really good at adapting to these varying
conditions. It’s very efficient with bandwidth as well.
We have our 2 billion video views on YouTube. So we care about that.
VP8 is very efficient with bandwidth. In addition, we believe it’s the best-in-class
codec for real-time streaming as well. So overall, we are really impressed with VP8.
So today, we would like to announce that we are fully open-sourcing VP8 under completely
royalty-free license. [ Applause ]
>>Sundar Pichai: We are working with many people in the community to do this.
And so there’s a project called WebM which we are announcing today, in conjunction with
many partners. And it’s open Web media project.
It will have VP8 as the video codec, and it will be packaged with open source audio codec
Vorbis. You can find more details about this at the
project site. But there’s lots of excitement in the community
around this. And so to talk more about this, I would like
to invite two major browser vendors who are pioneering a lot of the HTML5 work.
First, let me invited Mike Shaver, from Mozilla, followed by Hakon Wium Lie, from Opera.
[ Applause ]>>Mike Shaver: Thank you, Sundar.
And thank you, Google, for this huge investment in open Web and open video.
We’re now at a time whose idea has come, industrial-strength, royalty-free video with a high-quality open
source implementation, and, as you’ll see, broad industry support.
More importantly, it will also have millions of kitten videos.
As of today, I’m very pleased to share with you, YouTube will be supporting the WebM video
format as part of its HTML5 beta. They’ve started converting their entire catalogue,
beginning with the higher-quality videos at 720P and above and that will continue over
time. With this, you can use high-quality video
built into the stack with great performance. [ Music ]
>>Mike Shaver: Mozilla has been interested in open video for a long time, because we
want to see HTML5 reach its full potential. Since Firefox 3.5 almost two years ago, we
have been shipping the open source theora codec and working with those developers who
were visionaries, really, in seeing the importance of universal video very early on.
We’re excited that they’re joining with us as well in supporting the WebM project and
have already started working on the code and tools.
Video’s key to the Web experience. And because of that, it needs to be part of
the Web, not just technically, but also in terms of — in terms of its use.
JavaScript, CSS, HTML, SVG, HTTP, all of these technologies are usable under — with no strings
attached, under any terms you want, to build anything you want.
We wouldn’t accept that HTML was only licensed to be used for documents and not applications.
We wouldn’t accept that you couldn’t distribute what you do with CSS unless you signed a license.
We’ve seen what happens and how much disruption it can cause when the terms of a platform
change at the whim of one organization. And the Web needs to be above that.
The Web’s growing important capabilities — [ Applause ]
>>Mike Shaver: — to be clear, I didn’t make that happen.
[ Laughter ]>>Mike Shaver: The Web’s growing important
capabilities. As it does that, the demands on browsers increase.
We’re working at Mozilla to make sure every part of the stack is ridiculously fast.
This means taking advantage of graphics on computers and mobile devices.
It means taking advantage of multiple cores and DSPs and hardware from other WebM partners.
The VP8 codec itself in taking advantage of multiple cores for low power and embedded
devices, is not only a great codec today, but it will scale in the future.
I say every year it’s a great time to be a Web developer.
And every year I get to be right about at least that.
Open video’s now here in high quality. Excuse me.
High quality, and it’s embedded into the stack. It’s part of everything you use now, like
text, like images, like CSS. Let me give you a taste of what you can do
when it’s built into the stack and you can use it with all the tools that you’ve come
to love over the past ten years of the Web. This is something we built with two videos,
a handful of images, and about 450 lines of HTML, CSS, JavaScript, and SVG.
Anybody in the room could read through it, understand it, use it in their own space.
No external libraries, no obfuscation. It’s all right there.
You get real text built into the platform. You can select it, you can localize it, you
can search index it. You can animate it.
You get robots in circles, exploding and shooting at each other.
You get high-quality video with custom controls. Scaling.
720P HD resolutions built into the platform. We give you control over the video experience
and how your users will find it. It won’t surprise you to discover that Firefox
will be supporting WebM. It would surprise you to discover we weren’t.
We don’t — our ambitions don’t end there. We want to see this in all browsers, on all
devices. We want to see this available to every user
who is — to take advantage of the great things you people are going to built on top of this
platform. We’ve got nightly builds kicked off today.
You’ll be able to take them and start building your applications now.
And I want to thank you — excuse me — as we get this technology out to 400 million
users on Maemo and Android devices as well. I want to thank you for your time today and
I want to thank you for building a fantastic Web.
[ Applause ]>>Hakon Wium Lie: It’s a fantastic day for
the Web. I’m very proud to be here. My name is Hakon Wium Lie. I am the CTO of Opera Software.
Three years back in February 2007, we published a proposal for the video element on the Web.
We also published a manifesto, because we wanted there to be video on the Web.
The video was missing. We had text, we had images, we had many things, but we didn’t
have video. So we put forward this proposal, and we knew
it wouldn’t be easy. Well, the first part was pretty easy. The syntax was easy. We could
quite easily agree on the video element. The hard part was to find a high-tech, high-quality,
open, freely usable format for a video. And the great news mere today is that WebM
has joined the list. Tim didn’t patent HTML, I didn’t patent CSS,
Brandon didn’t patent JavaScript — we need for there to be an open and freely usable
format for video on the Web, and, I think, WebM is it.
So I’m very proud to demo Opera here, running, showing WebM.
The video you are seeing here is — this is from the 17th of May celebration in Oslo.
We do this every year to celebrate the video tag.
[ Applause ]>>Hakon Wium Lie: And you can download Opera
with WebM support in it if you go to this URL there, labs.opera.com.
Now, the video tag is not going to be alone on the screen.
Here I have added a few more things. Except from the video, though, there are no images
on this screen. The heading here is Web font, selectable font.
The graphics here is SVG. And you can see that he nods in approval for WebM here. This
is done with CSS transitions. This is also CSS transitions down here. We
can do a whole lot declaratively now without the need for JavaScript.
There is some JavaScript higher, though. You can see the national anthem has been rendered
at the bottom here and that’s done in the canvas element with a little JavaScript library
to render musical notation. So all of this is coming together now.
We think video, being a first-class citizen will join the other content types we have
and we will have very rich Web pages in HTML and CSS 3.
My prediction is if we use these techniques right we can get rid of half of the images
for the Web, because they are mostly there for styling purposes, but by adding all this
video stuff, there are still going to be lots of images out there.
So to the Web community, I’d like to say start using this. We need to go out with our video
cameras. We all have video cameras in our pockets, and we should do it.
This guy in Germany just went to his local zoo and filmed the octopus, and it’s fantastic
how this video really increases the educational value of Wikipedia or whatever kind of content
you are doing. The video is truly amazing. To Google, I would like to say thank you.
It’s very civil of to you spend time and money getting WebM off the ground, releasing it
to the open. And I look forward to working with Google in the future to make sure that
the Web remains open, to be used for all sorts of browser, with all sorts of content.
At Opera, we put the Web into all sorts of phones. We are on hundreds of different phone
sets, reaching millions of people who would never otherwise have video access. And we
truly believe that Web access is going to be one of the human rights of the century.
Thank you. [ Applause ]
>>Sundar Pichai: Thanks, Mike and Hakon. So it’s really exciting. One of the core tenets
which underlies the Web success is that it’s based on open standards like HTML, TCP/IP,
JavaScript, et cetera and it’s great to see video get that option as well.
So for an effort like this to be successful, we really need the support of the entire industry
to make this happen. So I guess I am on the wrong slide.
So we have been reaching out to many, many partners. And we have received overwhelming
support, so we are very grateful for that. I want to call out a few people.
First of all, we wouldn’t be able to do this today without the support of people like the
open source efforts like Vorbis and Theora. So we are very grateful to what they have
done, and we are looking forward to working with them.
Secondly, for VP8 and WebM to succeed, it’s really important that we have hardware support.
Especially given how many mobile devices are getting connected to the Web and serving videos.
So hardware is very, very important, and we are working with many, many hardware partners
and publishers. You can see the names on the list. And we are working very hard to make
a highly optimized RTL freely available soon to our hardware partners.
So we have talked about HTML5 APIs. How modern browsers are supporting these APIs and given
you examples of real-world applications. We have more examples on the way but at this
point I would like to invite Kevin Lynch, CTO of Adobe. Adobe has been doing a lot of
work to support HTML5, including providing tools which are really important for developers.
So let me invite Kevin Lynch to the stage. [ Applause ]
>>Kevin Lynch: It’s great to be here with all of you today at Google I/O. HTML5 is great.
It’s a great move forward for HTML on the Web. And seeing the examples here this morning
it was a lot of fun seeing it come along and what’s possible now in HTML.
At Adobe we have been for 25 years now enabling people to express themselves using a variety
of technologies. And it’s really fun to see new technologies come out like this that people
with take advantage of in expressing themselves, and we are really excited to work on enabling
that to happen. Of course we work on a variety of technologies
at Adobe, and today I want to focus on HTML5 and what we are doing around that technology.
And I am going to give you three examples of some of the work we are doing in support
of HTML5. So the first thing I want to show you is what
we are doing in Dreamweaver. And Dreamweaver is the most popular pro HTML editing tool
besides Notepad. And I would like to show you some stuff we
are doing in here. This is a Web site we have mocked up, and one of the areas that we have
been really looking at here in support of HTML is how do you actually do this with HTML5
across screens? Because now, obviously, we are all start to go target multiple devices.
So we are working here with HTML5 and a new capability that we’re adding to Dreamweaver
CS5, and it’s called Multiscreen Preview. What this enables you to do is see a three-up
of your Web site design so you can understand how it’s going to look across these devices.
You can see right now it doesn’t look that good across these devices, but you can use
CSS to customize your design. So what we are doing is making it really easy to hook up
alternate CSS style sheets based on media queries. So if I want to have a phone-sized
one, a tablet-sized one, and maybe a desktop-sized one, I can set the width of each of these
different style sheets so when it hits that width, it will show that particular style
sheet with the design. And now you can see your design in three different formats. The
same HTML5 code underneath, but now you are able to see three different renditions with
CSS. In fact, doing this production right now,
it’s hard to understand how your stuff is working. You have to keep trying it on all
these different devices. We support navigation here, so if I want to click, I can start playing
through my site and see where I still need to work on my site some more.
This is going to be a big productivity increase for people trying to do HTML5 across devices.
In addition to HTML5 work across devices, you can also do code editing. Code completion,
supporting things like the nav tag and other areas of HTML5, but also doing CSS things.
For example, when I am changing this page here, and you can see it changing between
the different style sheets now, even live design view. So as you are editing the code,
you can see the different views live while you are doing it. And say I want to edit this
tablet one, I can open up the CSS for it, and right now there is not much of an effect
on these, but if I want to, I can actually make this go bigger here, if I want to. Let
me get the tablet one. There you go. It’s popping up right there, but it’s not very
smooth. So I can add transition. Part of the new work that’s going on in CSS is support
for transitions. You can see I have got code completion for all the new attributes in CSS.
So I can do a Web kit transition here. If I want to make it do maybe half a second transition,
I can go and roll over, and now you can see I get a smooth rollover rather than the jerky
one from before. That’s supporting all the new transition effects
in CSS in live view inside Dreamweaver so you can start editing, and of course this
does gradual enhancement as you have browsers that support these versus ones that don’t.
But it works consistently now in the authoring tool.
The other thing we have been looking at is how do we support enabling graphics inside
the authoring environment some more. Let me show you another page in the site. And this
is a table that has some availability for the one table that’s in this café. And you
can see it’s booked or its free. It would be better if I had a picture showing the availability
here so let’s go over to illustrator. And illustrator already supports SVG.
We’re working on some enhancements, though. And here is a graphic of a time clock, it’s
just a bunch of shapes and colors. And I am going to actually connect this with JavaScript
and CSS and make it a dynamic clock that shows the free and busy times at the café.
And to first set the two different states, I’m going to select the fill color here in
illustrator. And from illustrator I am going to create a CSS style. And this is going to
represent the busy times, so I will name it “busy.” Now I am going to select this other
one over here, the green one, and I am going to make that a CSS style that says “free.”
And now my JavaScript code can use those CSS styles and apply the right color to each of
the different wedges. Let me export this as an SVG file.
Okay. Now I am going to be able to go back into Dreamweaver and I am going to be able
to insert this on the page. So here is where the table is and the JavaScript code reads
the table and updates the SVG based on that. So let’s insert the SVG. Click, insert SVG,
get my image, there’s the clock, import it, there’s the object in SVG. And now when I
preview this inside the browser, it should show the clock. So we have the free busy times
now showing with JavaScript updating the SVG with CSS style sheets, and of course it’s
showing the current time, too. So that’s an example of how we are working
to smoothly integrate graphics editing and HTML5 in a really seamless way. This is something
we are working on inside illustrator. The third thing I wanted to show is you some
further out thinking we are doing about how we can do animations inside of CSS, and JavaScript
and HTML5. So here is an application that is a prototype
that we are using to experiment with CSS in JavaScript. And this is an advertisement we
are using as an example and we put this together because we like Ducati and we thought it would
be fun to show it as part of the example. This is using totally HTML and CSS and I can
transition between a couple states. So you can see I have a pre-roll state here. I’ve
got a bunch of layers. I can see the different items on the page. And when I go to a different
state, it animates automatically. I want a bike to come in here, so to do that
I am going to make the different shapes I have defined here with CSS appear on the stage.
And I can do that simply by editing these values, so I make this show up by changing
its left side, and then I am going to change its opacity. And then you will see the bike
will fly in from the right. It is happening live as I do this editing here and when I
change between the two states you can see the animation is working.
I want to make this nav down here work and add a second bike to come in. So I am going
to duplicate this, calling it bike 2 and that’s creating another CSS animation basically around
the second state, and I want the first bike to go away and the second bike to come in.
So first let’s make the first bike go away, we’ll make it fly off fast and make it a thousand
pixels off the stage and there goes the bike. So now I am going to make the new bike fly
in. And I want the bike to fly in, be visible and show up on the left like we did before.
I have to type in pixels. There it is. All right. Cool.
So now I have these different states set up in my application. And I want to make it so
that when I click on the nav, go to that bike. So I am going to add a trigger. On click of
the nav bike 2, which is a CSS ID, I am going to be able to now animate to that bike. So
let’s preview this in the browser. There’s the ad, rolls in, thing comes up, I click
on bike 2, and it acts and bike 2 comes out. Isn’t that cool?
[ Applause ]>>Kevin Lynch: Of course I can add other transitions
and rollover effects and things like that, but that’s some of the work we are doing now
to see what’s really possible in terms of enabling tooling, great tooling around CSS,
HTML5 and these other technologies. So that’s some of the work we are doing.
Now, there’s one more thing I wanted to talk about, which is support for video. And you
know there’s been a lot of great work in video done on the Web, and it’s great to see innovation
continuing, and we are really excited to see the VP8 work that’s happening now. So we are
so excited, we are going to put VP8 inside a Flash player and we are going to distribute
VP8 to over a billion people in less than a year of its release.
So we are going to really help push out the VP8 CODEC.
[ Applause ]>>Kevin Lynch: We’re really excited at what
people are going to be able to do as video keeps maturing like this and innovating. And
the other area we are working on is of course we are working with Google on a bunch of devices
with Flash, and you are going to see a lot more of that on day two.
We are really excited about it, and we are really happy with the innovation that’s going
on in the Web and happy to be part of it. So thank you very much for having us here.
>>Sundar Pichai: Thanks, Kevin. So we have seen these great Web applications
and what you can do with HTML5. But I want to talk about a couple of problems
which remain on the Web. The first is that it is very hard for users
to find Web applications. In the earlier days, literally you could walk into a retail store
and pick software off the shelf. Then we talked about all the popular desktop applications,
and it turned out there were sites like download.com where you could go and find these applications.
Since 2004, we talked about how Web applications are the main way by which developers are writing
applications on computers. It turns out it’s very hard to find these applications.
Think about this example. Let’s try to find a great chess game on the Web. I have tried
do so. It turns out there are many, many great chess games on the Web, but it’s very hard
to find one which is really good. There’s no way for you to get ratings and reviews.
You can search for it but you can’t see rating, you can’t see reviews. You don’t know how
many people are using this game. You can’t engage in a discussion with other people who
are playing the same game. It turns out it’s actually much easier on
a mobile phone to go find a chess game, whereas it is very, very hard to do the same on the
Web. So that’s one problem. Photograph the second
problem is, as developers, when you write these applications, you need users to discover
and use these applications. You need reach. You need to know how many users are you going
to get for this application. The second thing developers care about is
monetization. Today, advertising is the primary form to do this and it works great in many,
many cases. So advertising has been a very important form much monetization on the Web.
But we want to create other alternatives as well.
For example, it should be easy to create and sell a premium application on the Web.
So these are the two problems we have been thinking hard about, and as part of that,
we want to give you an early preview of a product, what we call Chrome Web Store.
So I am going to introduce Kan Liu who is the product manager on the Chrome team who
is going to walk us through the Chrome Web Store.
Again, this is an early preview. We are pulling this off Chrome nightly build, so bear with
us. What you are saying is a new type age of Chrome. It’s a friendly paradigm to most
users. These are applications, icons which we have installed right on the New Tab page.
One caveat though, these are Web applications. You can find them on the Web anywhere but
now you can conveniently add it onto your New Tab page.
As you can see there’s Clicker. Jim Lanzone talked about the clicker.com. I love that
application. I have it installed on my new tab page.
Let’s go ahead and try one application. Let’s try Tweetdeck. I’m sure many of you are using
Tweetdeck right now in this audience. Tweetdeck has redone a complete HTML5 version of their
application as well, and so what you are seeing is fully in the browser. It’s really slick.
You can drag and drop it. Let’s go ahead and add a key word for Google so we can start
watching the tweets come in. So you can add Google. They used the notifications API to
deliver tweets to you right in the browser. They also used the Joy location API. So you
can click on it and see where all the tweets are coming from.
So this is all done using HTML5 in the browser. Let’s go ahead and send a tweet, and we can
send it to the Google I/O channel, live Google I/O.
So this is an application which I have conveniently installed in the New Tab page.
Let’s go back there. One icon you will see on the bottom right is what we calm the Chrome
Web Store. So you click on the Web Store icon and it takes you to a gallery full of applications.
And so you can go here, discover applications, find ratings review, find how many users are
using these applications, add comments, et cetera.
So Darkroom, you saw the demo earlier. You saw the application. It cost 4.99. I can go
ahead and buy it. We have worked very hard to simplify the process
so once you set it up, it’s normally one click to buy an application.
So you can buy it and add its straight into the New Tab page of Chrome, and you can start
using it right away. So let’s go back there. It turns out one of
the important class of applications on the Web is games. And people spend more time — In
all app stores, games are the most popular form of application. So let’s try a couple.
Plants & Zombies. It is a very popular game on phones. Now you have it in the Chrome Web
Store. So you can click on it, and as you can see, it’s a full immersive full screen
experience right in the browser the way most people want to play games. And this is built
on Flash. And applications in the Chrome Web Store can be built on standard Web technologies,
including Flash, and we will support all of them in the Chrome Web Store.
So the goal of this game is to knock zombies out, so — we can move on.
[ Laughter ]>>Sundar Pichai: Let’s go to the Web Store.
Another game which is a different class of game which I am excited to show, we call this
Lego Star Wars. It is a 3D game. We were wondering what game to show this audience, and we figured
as long as it has 3D, Legos and Star Wars, it’s going to work well.
[ Applause ]>>Sundar Pichai: So we worked with this company
called Unity Technologies. They have a game engine which really simplifies the development
pipeline for game developers. We are showing it using their plug-in, but
they have a working demo in their sandbox of porting this game on top of native client
of open source technology which we will have in Chrome.
Most game engines are written in native code, and it’s going to be very hard to rewrite
these in JavaScript. But now you can use something like native client to run them directly in
the browser. So the purpose of this game is to go rescue
R2D2 and kill all the bad droids out there. As you can see, it is a full 3D game. It is
very rich, and it leverages a lot of HTML5 APIs.
And Unity is working to put all that you are game on top of native client to get it working
in Chrome. So these are rich, immersive 3D gaming experiences
which will be coming to the browser as well. So let’s move on.
So if you go back, we talked about games. Another important class of applications is
content, newspapers, magazines. When you read a magazine, it is a really nice
experience. So how do you create that same experience on the Web?
This is an important problem, and we have reached out to magazine publishers to help
create these experiences. To show what you can do in terms of producing content on the
Web, I would like to invite Terry McDonnell who is the editor of Sports Illustrated.
[ Applause ]>>Terry McDonnell: Walking out here it occurred
to me that I might be the oldest person in the room.
[ Laughter ]>>Terry McDonnell: But this is fine with me.
In my business, still standing is a very good thing.
My brand, Sports Illustrated, is a monster traditional brand. Storied, extremely lucrative,
started from a very simple idea, self-defining, becoming more and more complicated. And now,
changing faster than it ever has. And it’s not just Sports Illustrated.
In my company, Time, Inc., every single one of the iconic brands, and I am talking about
People, Fortune, Entertainment Weekly and Time, is changing very fast also.
The reason for this is that empowered engineers and developers like all of you in this room
are, in turn, empowering and helping me as an editor to create new versions of Sports
Illustrated. That’s why I’m here.
I’m going to start with a video here, and then we will go live. The video hopefully
will have a little swagger to it and it will show you sort of where we are coming from
at Sports Illustrated. It starts with the first cover in 1954.
(Video Playing)>>Terry McDonnell: Okay. We are live now.
Driving today is the always the dangerous David Link, founder of the Wonderfactory and
S.I.’s development partner in creating this live HTML5 prototype that will hopefully show
some of the possibilities of bringing an enriched magazine to laptops, netbooks and tablets.
It’s really — he is opening it in the Chrome store.
It’s really a very simple idea. It’s to somehow pull together the best of
the Web, the best of the magazine. This came off fresh yesterday in Merced, our plant in
Merced. To pull out the absolute most important things
in the DNA in the magazine and translate them in a way that they are even more enjoyable,
like the photography for example. This goes very deep for us. We have staff photographers,
one of the most popular things we have. And the rest of it of course.
What I am talking about here is a tightly edited, curated, free, open, social, searchable
take on sports that you can customize for yourself by rearranging it.
It’s also going to have, of course, live video feeds, live news, live scores, like we have
here. All of this built on a foundation of strong
journalism and informed opinion about the stories of the moment, like Tiger here.
And additional content that in fact will pull new further, that will allow you to participate
in this sports world. This is a poll that we are doing live right
now about how to build a baseball franchise. It’s not necessarily good news for the Giants.
This is one of our sports columns. We have one of these every week. This is boxing which
is enriched by a video which happened outside the room, behind the velvet ropes in the background.
(Video Playing)>>Terry McDonnell: You don’t want to mess
with Floyd.>>>I believe in my skills and I believe in
my talent.>>Terry McDonnell: And of course here is hockey,
here is your golf, here is your NFL. Always need video there, always need highlights,
these of the number one draft choice, Sam Bradford out of Oklahoma.
Of course you might want to not watch this now, might want to save it for later which
you can do here. But most important, I think, is to always
know where you are in this magazine so you can find what you want and go directly to
it. For example, here is a piece on the end of
the road for Shaq. [ Laughter ]
>>Terry McDonnell: Kind of a bad call. The typography here is very, very important,
because you came here to read this story, and nothing retards reading like the formula
fonts that we are so used to online. And say here, here is a strong portrait of Shaq. We
can deliver for you the video of this photo shoot and how we put that cover together.
We can do this. (Video Playing)
>>Terry McDonnell: The idea also that you need to go deeper is very important because
you might want additional stories about Shaq and his future.
There they are. You might want to go wider. You might want
to go into the NBA to see about Lebron, or you might want to just see pictures of the
last time they played together and see what that was like.
And finally you probably want to share any and/or all of this with your friends or whoever,
and you have a number of choices there. And as you are running through this, you can
always keep up with what other NBA fans are thinking and saying about the league on Google
Buzz. All of this stuff works very hard for the
user. And the advertising I think has to work very hard, too.
No more image messaging, really. What we need is stuff that is actually useful.
So this advertising, I submit to you, can become so useful that it becomes content in
and of itself. This is a new idea in advertising.
Or it’s not a new — It would be new to actually deliver it.
[ Laughter ] [ Applause ]
>>Terry McDonnell: You can — But as you see here, you can change the lens and see what
that’s like. And then of course you want to buy it, so we can show you where to buy it.
So what you can see that we are going for here is additional content of every kind,
content that is enriched and of the moment and feels different and right, and like a
magazine experience, like nothing else that you see on the Web today.
And when it is on the point of the most important stories of the moment in sports, say like
in this case the impact of soccer on world peace coming into the World Cup, this is a
very good and interesting thing for us to be working on.
There we go. Now, like I said, this came off the press
in Merced. It is that. Some of that was a little bit different, but
it was live, but this is something that we’re very, very excited about coming forward with.
And the reason for that is that in the fall of last year, not long after S.I. released
a video demo of what an enriched magazine might look like on a tablet, I found myself
in a very small conference room in Mountain View, and it hit me there that I was at the
beginning of a veritable storm of innovation that might not be so new in Mountain View,
but that was going to allow the journalism that I want and that my company Time, Inc.,
stands for to flourish and to completely reimagine, remake the business model to support it.
So I’m thinking about, you know, that quote in the sports movie “Field of Dreams” where
he says, “If you build it, they will come.” I would add an addendum to that. It has to
be built open, it has to be well edited, it has to be searchable, it has to be social,
and it has to be everywhere. And if we do that, we can charge for it.
It’s great to be with you. [ Applause ]
>>Sundar Pichai: Talking to Terry, it’s been very obvious this passion for the quality
of what they want to see, and they would not do it on the Web unless they can create an
immersive experience like that. So it’s really possible to do this in the
browser, using HTML5. And we really hope you and everyone watching this build showcase
applications like what we just saw. So what does it mean to build on the Chrome
Web Store? It means that you can reach over 70 million
users. These are primary users of Chrome as of today.
And in June of last year when we talked about Chrome OS, we said we had 30 million years.
As of today, we have over 70 million users and the number is growing fast. These people
will be able to have the Web Store right on their New Tab page and discover both free
and paid applications. So it’s also important to remember that this
Web Store will also be there in Chrome OS as well. So the Chrome Web Store will work
on Chrome on Windows, Mac, Linux, and Chrome OS. It will support both free and paid applications.
It will work in over 40 languages and over 70 countries.
We will be bringing this in the Chrome dev channel soon and we will have a whole session
at I/O to talk about this. One thing I want to add is we support standard
Web technologies, and so applications written for Chrome Web Store will also continue to
work on every other modern browser out there. So it’s been really exciting to talk about
HTML5. We have always believed that the future of Web is HTML5. And over the course of the
last few months, it’s been very exciting to see every major browser vendor share that
opinion as well. So with that, I am going to invite Lars Rasmussen,
who spoke to you last year about Google Wave, an amazing example of what’s possible in the
browser, to give a future update on HTML5. [ Applause ]
>>Lars Rasmussen: Good morning. Good morning, everyone.
So, the Web has grown up. And Google Wave is starting to grow up as
well. It’s been a full year since we showed you
what was really our vision for hour real-time communication and collaboration could work
on the Web. We showed you right here on this stage with
an 80-minute demo last year. And today, Google Wave is a product that people
are starting to use to get real work done all over the world.
And we’re going to show you that today with a 90-minute — I’m just kidding.
We’re not going to do that. [ Laughter ]
>>Lars Rasmussen: What we are going to do is this: We’re going to open up Wave to everyone
today. So you no longer need an invitation to use
Wave. Just go to Wave.google.com and log right in.
Thank you. [ Applause ]
>>Lars Rasmussen: Thank you. So we’re making — we’re making Wave part
of Google Apps, where particularly ambitious, you might even say crazy services start their
life. Maps, my last project, started there five
years ago. Wave has been in an invitation-only preview
for half a year. We’ve gotten tons of great feedback.
Thanks so much for that. And more than anything, we’ve learned that
Wave really shines as a place to get work done, in particular, if you have a group or
a team of people that use Wave to collaborate on all manners of projects.
And the thing we hear a lot — and this actually matches our own experience — is that Wave
changes the way you work, sometimes in subtle and unexpected ways.
And we hear this in many different contexts. Of course, lots of programmers use Wave to
coordinate their work. But we hear things like a fifth-grade teacher
has her students do all the research in Wave. And the kids love the live typing.
It feels like you’re talking to the other participants on the Wave.
And the teacher loves it because she can see in real time what they’re doing and jump right
in and provide guidance. Brick-and-mortar businesses like this hotel
here, they use Wave exclusively to track and discuss all of their tasks during the day.
They tell us how Wave stops issues from falling through the cracks and helps keep everyone
on the same page every day. Deloitte is a good example.
They have a new project team that’s spread over four or five countries.
And they use Wave to coordinate all of the work and tell us how Wave actually saves them
money in travel and VC cost. And so since Wave is about getting work done,
it’s important for us to get Wave — make Wave available at work and at schools.
So also today, we’re making Wave part of Google Apps.
If you have an apps domain, you or your administrator can easily enable Wave for all of your users
at no extra cost. [ Applause ]
>>Lars Rasmussen: Thank you. And let me just say this: If you tried Wave
already, in particular, early on during the preview, and you found it wasn’t quite ready
to get work done, now’s a good time to come back and give it a second try.
Wave is a lot faster and it’s a lot more stable than when we started the preview.
We put a lot of work into the basic preview things.
You can now get e-mail notifications when — we have found it easier to navigate the
unmet pieces of the Wave. We have added tutorials and templates to help
new users get started. You can have — remove a participant if you
add them by mistake. If you have a group or team and you’re working
on a project together, try out Wave. I think you will find it makes you more productive.
Now, this is a developer event. And I think already some of the coolest things
about Wave are things you guys are built. We really, really appreciate that.
And continuing to improve our APIs are hugely important to us.
Just a few months ago, we launched an entire new version of our robot API that lets robots
create waves and push content into waves on their own schedule.
We also made it a lot easier to embed a wave on your own Web site.
We even made it possible for a non-Wave user to see a public wave that you embedded on
your Web site. Today, we’re checking off a bunch of top-requested
features or APIs. For starters, we’re rolling out a change that
means that robots no longer have to live on Google App Engine.
They can live anywhere on the Web, which makes it a lot easier to integrate Wave with your
own application. We’re also launching a new Wave data API designed
to let you build things like notifiers, but also lightweight clients, in particular, for
mobile devices. We’re adding media and attachment features
to both our robot and gadget APIs so you can integrate with places like Picasa and Flickr
and so on and build inline viewers for media types in Wave.
We’re also adding a bunch more hooks for your extensions to integrate into our client.
And if you want to see some of the cool things people have already built, join us out on
the floor in the developer sandbox. For example, Salesforce.Com is with us today,
showing how they’re embedding waves into their new product, Chatter.
Also, we’ve always wanted Wave to be an open technology so that anyone should be able to
build their own Wave service and have it interoperate in real time with Google Wave.
And so we were super excited late last year when Novell announced their new product, Pulse
is going to support the Wave Federation protocol. And today, SAP is announcing that their new
product, StreamWork, will also support the Wave Federation protocol.
Both companies are with us today, out on the floor and at a session later, where we’ll
show demos of how our different Wave services are starting to be able to talk to each other
in real time. And to make this sort of thing easier for
others to build their own Wave systems, we are today open-sourcing additional components
of our production code, in particular, the in-browser editor, which is one of the hardest
pieces to write. We’re also publishing —
[ Applause ]>>Lars Rasmussen: Thank you.
We’re also publishing — and this is another top-requested feature — we’re publishing
the beginnings of a client/server protocol so that you guys will be able to build any
Wave client you want and put it on top of any Wave services that speaks this new protocol,
which, of course, will include Google Wave. Now, just to end off, I want to remind you
that we’re using Wave at this conference here. There’s a couple of waves allocated for each
session. You can use them to ask questions of the presenter.
Someone will take live notes, and you can discuss the session in there.
I really hope to see you later, either out on the floor, at one of the many sessions
that we have today and tomorrow, or, of course, on Wave.
Happy Waving, everyone. [ Applause ]
>>Lars Rasmussen: Thank you. And so just like Wave is getting to work,
our next speaker will talk about the Web going to work.
Please welcome Google director of engineering, David Glazer.
[ Applause ]>>David Glazer: All right, all right.
[ Applause ]>>David Glazer: So Sundar showed you how open
standards are leading to innovation in the consumer Web, with the help of people like
Terry and Kevin and Hakon, showed you how open standards have always allowed more choice,
which has always led to more innovation. Lars showed you how that’s true with Google
Wave. And he showed you how Google Wave is now heading
off to work. Well, I’m going to spend the next 45 minutes
showing you more about how is the Web making work better, what are the things that we can
do to help the Web transform what we all do at work, what our customers do at work, what
our partners do at work, how can the Web help there.
The good news is, the Web is already transforming the way we work.
I can’t imagine doing e-mail without GMail. I can’t imagine collaborating on a presentation
or on a design document by mailing around versions of content back and forth between
people and saying, “Who’s got the latest one, who’s got what edit?”
And I can’t imagine being tethered to one particular physical device to find my data
and my application. It would make no sense anymore.
We all know that. Companies know that.
Every company we talk to is trying to figure out how can I shift my weight to the cloud?
How can I use the Web more heavily with the applications that I use and the applications
that I build at work? The problem is, it’s still hard to do that.
It’s still too hard to take advantage of the Web at work.
It’s hard for a few reasons. First, it’s hard because it takes too long.
From the time you have a great idea or your boss has a great idea or the VP of marketing
has a great request, from the time you have the great idea and you want to create a great
application, new technology, new tools, takes too long to turn that idea into reality.
The second thing that’s hard is, we don’t stand in one place anymore.
That application that you’re running, you might need to access it from the back of a
taxicab. Some of your users need to access it from
an airport or from the lobby of their hotel. Because people are working everywhere, they’re
working all the time, the applications that you build for them need to run on all the
devices that people are using. The third thing that’s hard today is, architectures
tend to trap people so that the choice you make in what tool stack do I use, how am I
building my application, that choice you make today locks you in to a deployment model for
tomorrow that you may not be ready to lock yourself into.
And then, finally, if any of you have the job that this guy has, you look at this slide
and probably say, he’s only got a half dozen applications he’s taking care of for his company.
The CIOs that we talk to tell us that they usually have on the order of a thousand applications
that they’re trying to manage to run their business.
And they need better tools to be able to manage all those applications.
Over the next 40 minutes, we’re going to show you what we’ve done, working with other people,
to enable fast and familiar development using tools and languages you already know to crank
out great Web applications. We’re going to show you how to make those
applications mobile-ready so they can run and reach your users wherever your users are.
We’re going to show you an architecture used — based on open standards that give you
flexible deployment so you have portability. You can choose how you want to build your
apps and you can choose where you want to deploy your apps separately.
And, finally, we’ll show you some new tools that give you the ability to manage the hundreds
and thousands of apps that are being built to run businesses in the cloud.
Now, as we set out to do this, it was very important that we did this staying true to
the principles and values of the Web. The principles and values that you’ve heard
all morning about how open standards lead to interoperability and portability, which
leads to choice, and choice is what drives innovation.
We looked for who can we work with, who can we collaborate with that shares those values,
that understands the importance of standards enabling innovation, and that has spent years
understanding how to help enterprise developers build great apps at work.
And I’m very happy to announce that we’ve been working closely with VMWare to enable
exactly that, building on our complementary strengths to enable open standards to lead
to great innovation in the enterprise. I’d like to welcome to the Google I/O stage
Paul Maritz, the president and CEO of VMWare, to tell you a little bit about what we’ve
been doing together. [ Applause ]
>>Paul Maritz: Good morning. It’s a great pleasure to be with you here
today. Most of you will know VMWare in terms of the
work that we’ve been doing in allowing existing applications to be iterated forward and take
advantage of a cloud-oriented way of doing computing.
Customers have huge investments in large bodies of existing applications that they can’t walk
away from, and just about the only hope for these applications is through virtualization,
which allows you to kind of encapsulate these applications, jack them up, put them in a
black box, slide new functionality underneath them and eventually start sliding the applications
themselves around. So we’ve been doing a lot of work in this
world of existing applications, allowing customers and companies to become more cloud-like in
their internal operations and actually allow them to start extending their data centers
outside of their own physical premises, into infrastructure that they can rent from external
service providers. And this is all well and good.
It’s very important work to be doing. But the question really becomes, what about
new applications? And it’s clear that there are going to be
many clouds out there. Customers are going to build their clouds
internally. Service providers are going to build clouds,
very large companies like Google are going to build clouds.
And wouldn’t it be great if we could have a way of writing applications that on the
one hand can take full advantage of a particular cloud, but also be portable across clouds.
If you think of these infrastructure-level clouds as kind of the new hardware, what is
the new operating system for the cloud? What is that layer of abstraction that’s going
to allow us to write applications that can look great on a variety of clouds?
And it’s our premise, as it is Google’s, that the new operating system is these extended
frameworks. And as you well know, developers over the
last several years have by and large voted with their feet, and traditionally — and
now work within frameworks that give them much higher levels of productivity.
And that’s the reason last year we at VMWare acquired what we think is one of the best
of breed new-generation frameworks, the Spring framework.
This comes from work that was started 2002 by Rod Johnson and others, who founded Spring,
who had been working in the Java world and had come to the conclusion it was just too
hard to write Java in EJB applications. And they evolved the Spring framework, which
is oriented around a very simple, lightweight, but extremely powerful object model.
What the result is is that more than half of the lines of new Java code being written
today are written in the context of the Spring framework.
They started that effort based on open source. And they have continued in the open and open
source tradition. And we’re committed to continuing that.
And so late last year, we started in-depth conversations with Google and said, wouldn’t
it be great to give the world’s largest body of developers, the Java community, a way of
writing really efficient, great cloud-based applications?
And as a result, we have been working with Google to bring to bear what we know about
writing the back-end of great, high-performance, portable applications, with what Google has
developed around the front-end. A perfect marriage is to bring these two technologies
together and give the industry an open and open source layer to cloak the clouds, to
allow you to get the fullest benefit from your investments.
The one thing I have learned over the years is, the more choice you give developers, the
more promise you give to developers, that they’re going to be able to get a return on
their investment by having the widest possible number of places that they can deploy this
technology, the greater the motivation, the greater the applications that result.
So we have had our two teams working together to really integrate the Spring framework and
the Google Web Toolkit, and now give a complete answer as to how to write an end-to-end application,
the back-end and the front-end, in a way that you can deliver really great, exciting apps
that work across clouds, across devices, with a deep commitment to doing this in an open
and open source fashion. So with that, I’m very happy to let you see
some of the results of this work.>>David Glazer: Thanks.
[ Applause ]>>David Glazer: Thank you, Paul.
I’ve been very excited to work with Paul. I’ve been even more excited to have our engineers
and Paul’s engineers working together to deliver on exactly what he said.
The first of the promises that we made is that over the next 40 minutes, we’re going
to show you how we can use familiar tools to enable fast development.
And the way we’ve done that is, we have — exactly as Paul said — integrated the Spring back-end
development tools, which let Java developers build great back-ends to their apps, with
the Google Toolkit front-end. So you get the power of HTML5 in a complete
Java stack, back-end and front-end, integrated together.
To show you how that works, I’d like to bring up Ben Alex, who’s the lead engineer for Spring
Roo, and Bruce Johnson, who is the lead of the Google web Toolkit team to give you a
demo of how do these tools work together, which you will be able to try yourself after
the keynote. [ Applause ]
>>>Thank you, David. If you’ve used Google Web Toolkit before,
you know GWT makes it easy to build rich Web applications completely in Java.
Not only the server-side code, which you have always been able to right in Java, but also
the client side, the Ajax code that runs in the browser.
The way we do that is, the GWT compiler takes your Java source code and cross-compiles it
into highly optimized JavaScript that downloads quickly, it runs quickly in all the popular
Web browsers that your users are likely to use.
But, of course, you know, you have seen that before.
It works great. No problem.
The question is, where do you get that Java source code in the first place?
For a really huge Java app, sometimes a lot of the code can be sort of boilerplate code,
the sort that connects your browser to the data store in the back-end.
That’s the sort of code that you don’t really want to have to write.
And so when we started working with VMWare, we said, hey, you know, this — what about
this? And they said, “We have a tool that does exactly
this. It saves you a whole bunch of time writing
the code that you don’t want to automatically on your behalf.”
So we used Google Wave to coordinate the engineering teams between Sydney, Germany, Atlanta, Mountain
View, and San Francisco. We used it all the time, around the clock,
every day, working together. And we made GWT and Spring Roo work together.
The tool I was talking about is Roo. And we are lucky to have the father of Roo,
Ben Alex, here to tell you more about Roo and to show you Roo in action.
>>Ben Alex: Thanks, Bruce. As we were thinking about what to do for you,
we thought what better way than to build you an application live on stage.
It occurred to us that there’s something that’s very near and dear to most of our hearts in
this room: Expense reports. We’re all probably going to go home and log
expense reports. We thought, let’s build you an application
that stores these. We’re going to build this for and you have
a GWT front-end, the back-end with Roo, with all the Spring goodness, and we’re going to
do this in less than 200 keystrokes. So let’s get started.
So I have here an empty directory. And we load up Roo.
Roo’s an open source tool that you can go and download.
It has a text mode. There’s also a graphical version which I will
show you a little bit later. But Roo loads up.
It looks like this. You can get full command help with Roo by
typing “hint” at any time. Let’s start our project.
Here I specified my Java top-level package. We need some databases.
Let’s go do that. Persistence setup.
Notice the tab is working. We have data nucleus, which is great if you’re
going to be deploying to the Google App Engine. But we’re going to deploy to hypersonic in
memory for now. So now that we have our persistence layer,
let’s create entities. This database is going to have two tables
to start with, an employee table and a report table.
Let’s make the tables and let’s put some items into the — put some columns into them.
So here I’ve used the GWT conventions of specifying that this is a server of class, so, therefore,
don’t compile it down to JavaScript. Let’s add some fields.
And we can use the up arrow to save a little bit of time.
Let’s go and get a report. And for something different, let’s add a date
field. So it’s going to be the created date for our
expense report. And I think we’ll take a Java date for that.
We have the Java back-end taken care of. We could run this up.
But let’s get a GWT front-end. As a result of the integration work we have
been doing, it’s super easy to do that. All I have to do is type “GWT,” press tab
and press enter. What’s happening now is Roo is going to have
a look at our domain model. It’s going to turn this into a GWT application.
It looks at all of our columns, all of our entities, and does that for us very quickly.
You can run this up in the development mode, just like you normally would if you’re familiar
with GWT. To save a little bit of time, I have done
that for you already. This is what the resulting scaffolded application
looks like. It’s very simple at the moment.
We have the tables that we promised. We can go and create a new employee.
And it goes and stores it as we’d expect. All the normal sort of cruddy stuff.
What if we wanted a comment column? How do we do that?
The good thing is Roo supports full round-tripping. We have a tool called Springsource Tool Suite.
This is our free IDE, which you can also download. And it has comprehensive Roo integration,
as illustrated by this “Roo” logo at the bottom. In order to add an extra column to our database,
you just edit in a normal Java fashion, string comment.
And I haven’t saved yet, but when I click the “save” button, I’d like you to look in
this area down at the bottom of the screen. What’s happened is, Roo has automatically
detected I’ve changed my Java class and it’s gone and updated all the necessary GWT user
bits and pieces. In order to see this in action, I go to development
mode, click refresh. It’s a very fast refresh, only takes about
two seconds, which is unbelievably fast. Now if we have a look at data browser, and
we have refreshed the browser, employees, and there we have it, we now have a comment
field. Just to show you that it works,
and it persists fine. So what we’ve done in just a couple of minutes
is, we’ve gone from an empty directory, we’ve typed less than 200 characters, and we’ve
ended up with a GWT front-end scaffolded for us with full round-tripping capability.
This is a great way of saving time as you’re building new GWT applications.
At this point, I am going to hand you back to Bruce, who will cover some other integrations
we have added to STS.>>Bruce Johnson: Thank you, Ben.
So 200 keystrokes later, we have the basics of an application, a scaffolding app that
we can build on. You saw STS, the IDE experience.
We have also integrated Google plug-in for Eclipse in GWT and (inaudible) right there
in STS so you have all the tools that you need right there at your fingertips.
We used that environment to continue iterating on the app, using GWT and Roo to continue
to add new features and so on. And after a couple of days, turned it into
a pretty real expense reporting app. So, you know, added a little bit of UI polish.
And, you know, it’s a nice, rich Web application. So I keep saying “rich Web application.”
What’s exciting about that? Well, it’s a much better user experience.
So let me point out a couple of things. First of all, it’s very fast.
So I’ll refresh just to show you how fast it starts.
Ready, one, two, three, refresh. Refresh.
Refresh. Refresh.
That’s drawing the UI and that’s getting the data, and it’s up and running.
That’s about 500 milliseconds. Not bad.
It’s — part of the reason for that, by the way, is that the app is only 100K.
It’s optimized JavaScript, as I mentioned, that includes even the CSS and the image resources
encoded as data URLs. Another nice thing about this style of rich
Web application that runs heavily inside the browser is that you don’t have that sort of
stuttery Web 1.0 click and wait kind of feel. For example, when I want to drill down on
one of these expense reports, I don’t have to wait for a new page to come up.
I’m going to click this, and you’ll see it animates and transitions very fluidly.
Right, one, two, three, click. And there I have the details.
So this is the way you want to work. It keeps users engaged and it helps you speed
— basically, speed things up. One other nice thing about a rich Web application
is, it gets exactly the data you need right when you need it.
In traditional HTML server-side applications, you tend to spit out a lot of HTML with data
intermingled, because you’re not sure what the user might want to see.
But when I have an interactive application, I know what the user wants.
So, for example, if I want to see the number of people in the engineering department, I’ll
click on this triangle and right when I click, it will fetch exactly the data that I need
to answer that one user action. Click, and then, actually, the network round
trip found two employees, populated the UI, and showed them.
And we think that’s fantastic. It really speeds up the app and makes it feel
more responsive to what you’re actually doing. Now, if you’ve been using GWT for a while
— and we hope you have — probably nothing I’m saying here, aside from Roo, is actually
new to you. You know that you can build these sort of
rich Web applications pretty easily. What is still a problem, though, once you
get your app up and working, is how do you make sure that it performs well?
Some of these apps get really large and there can be bottlenecks inside the browser that
are hard to diagnose. So to address this, we created a tool called
Speed Tracer. We launched Speed Tracer in December as part
of GWT 2.0. And I’ll turn on Speed Tracer here.
It’s a Chrome extension. I’ll continue to use the app.
And Speed Tracer is in the background paying attention to what I’m doing and recording
information. So here I will pause it.
I’m going to zoom out. You see this is a nice HTML5 WUSI UI, all
built in GWT, of course. I look at the sluggishness graph.
I see a peak. That’s an area I could optimize if I want
to. I’ll drill down, and Speed Tracer shows me
this bar which has a lot of stuff going on. It tells me down to the millisecond where
time is going. So I see that a lot of the time is script
evaluation, but it’s also parsing HTML, recalculating styles due to CSS changes, doing layout, you
can even see things like garbage collection. Basically, there’s not even a single millisecond
of time that happens within the browser that you cannot find out about in Speed Tracer.
It’s like an x-ray machine for your browser’s guts; right.
But that’s not where all the time goes in an application.
Sometimes the server is what’s actually slow. So we realized what we need is a tool that’s
sort of like Speed Tracer, but for the server. Well, it turns out that tool exists also.
And Springsource had it. It’s called Spring Insight.
And that tells you on a request-by-request basis the timings of various things in the
server. As I was using this app, I was gathering Spring
Insight data. Here you can drill in and see there was an
HTTP post that did a JDBC select, and I can drill down to see even more details.
So if you think it would be neat to combine that information with Speed Tracer, we think
alike, because that’s exactly what we did. And so I’ll go back to the network tab here.
And I can see a pretty traditional-looking network view, like you might have seen in
Firefox or Webkit Inspector, except now I have this nifty icons here that say, hey,
for this request, I have data about timings on the server side as well.
And so when I expand this out, I can see the HTTP post as the server viewed it and I can
see that there was a JDBC select call that happened on the server.
So what we’ve done, then, is combined all the sources of latency, client, network, server,
all into one view inside Speed Tracer. It helps you drill down and find any source
of latency whatsoever. So Spring Insight comes with the developer
edition of TC Server as part of Springsource tools.
And that’s great for tuning performance at your desktop.
At some point, you feel like it’s good enough. If you’ve used Google plug-in for Eclipse,
you know that deploying is really just, essentially, a one-button click.
There’s an App Engine icon inside Eclipse. You click that icon.
It goes to App Engine and continues running as it did before.
So we clicked that button. And so now we have the same application running
on App Engine. And the network is a bit slow.
So this is the same application, same code, simple upload.
We’ve added some additional data to make it more realistic.
But if you’ve ever done any sort of real performance tuning, you know the way it works on your
desk is not the way it’s going to work in production; right?
So you need the same sort of tools we were talking about, but you need them to work even
on your production server in the cloud. Well, it turns out App Engine introduced something
that’s almost exactly like Spring Insight two months ago.
It’s called app stats. And if you’ve seen app stats, you realize
that, wow, if you could get that data, pull that into Speed Tracer, then you could always
do diagnostics and performance tuning, even when your code is running in production on
App Engine. And, indeed, we did do that and integrated
it back into Speed Tracer. So, as you can click around here, use the
app a bit, we’ll come back over to Speed Tracer, zoom out, take a look at some of the network
events here at the end. And — well, network here is horribly slow.
But you see these icons popping in. That indicates that we have App Stats data
integrated back into Speed Tracer. Here you can see where we’ve hit the App Engine
data store. So —
[ Applause ]>>Bruce Johnson: Thank you, thank you, thank
you. That was not really — I wasn’t seeking applause,
I was just gathering my thoughts. Although, it is cool, I think.
Okay. So these are all tools; right?
We’ve been talking about the tools, editing, debugging, deployment, performance tuning
and so on. Tools are definitely a huge part of the story.
But, to be really productive, you also need great widget libraries and a great app framework.
Now, we’ve been a little deficient in the widget area in GWT in the sense that people
want easy-to-use widgets that are — you drop them — or you code them into your app.
It’s very easy to connect those widgets to data that lives in the cloud or on the database
or so on. And they want to make it really easy to connect
widgets to each other with a minimum of glue code.
So we’ve taken this seriously as part of GWT 2.1.
And so we’ve got a new set of data presentation widgets that we’re really, really excited
about. Now, if you’re like us, you’ve seen dozens
of AJAX widget demos where they show you the kitchen sink; right?
So I wouldn’t presume that you’d be especially excited to see some new widgets.
So I was thinking about how I can actually make you interested in this anyway.
So I said, well, we know that these widgets have been designed to be lightweight, fast,
small, and work with massive data sets. But let me actually figure out a way to convince
you that it actually works that well. I said to the team, like, “Hey, let’s do some
ridiculous amount of data, like 18 million records and show that everything still works
fast.” I was joking, but they took me seriously.
So yesterday, I think the latest numbers were, we had filled this database full of 125,000
employees, 5,000 expense reports, each of which has multiple line items, for a total
of about 20 million line items. So a nontrivial amount of data, I think 125,000
employees for an expense report app is probably towards the high end.
So now I want you to take a look at the widgets and think about how this app is performing,
knowing that we’re working against a database with, you know, 20 million-plus records.
Okay? So what sort of things do you want to do?
Let’s see. I’ll — I’ll page.
And here I’m paging through 5 million records, expense reports.
Try this yourself. Because on a noncongested wireless, you’ll
find that it pages about as fast as you’d want it to.
Actually, this does sort of undermine my point, doesn’t it?
[ Laughter ]>>Bruce Johnson: Wired.
We’ll see if the wired connection kicks in. Am I brave enough to do this?
Yeah. Okay.
[ Applause ]>>Bruce Johnson: Much better; right?
So that was what you were supposed to get excited about.
Everybody needs to page through 5 million records.
And when you do that, you want it to be fast. Okay.
So sorting is often done. So you click on the header and you want to
sort quickly. Quickly.
Sort by date. You know, I mean, we’re talking about seconds,
which seems like a long time in demos, but when you think about sorting 5 million records
inside your own company, if you have to wait a couple seconds, not too bad.
As you can see, as it warms up through more use, it gets faster and faster and faster.
Okay. So maybe I want to narrow down by department.
Right now, they’re all intermingled. I click on that, and I’m looking, among the
5 million, the ones that are just in engineering, or maybe finance, or maybe marketing.
Maybe I want to drill down to an individual person, also very fast.
Right? You saw before how quickly we can jump into
the details of any person we pick among the 20 million line items.
All right. Another neat feature is the ability to search
and highlight within the page. So here we see a lot of expense reports with
W slash, so I’ll type on a keystroke-by-keystroke, you’ll see it matching the records in the
current page, W, space, slash, Z. That keeps up with me.
That’s fantastic. And now I can press enter, and it will do
an actual query that will give me back a result set that matches my search term.
So I’m going to press “enter.” One, two, three, enter.
And now, among the 5 million expense reports, I am getting the ones that match my search
term and I can continue to page through those at my leisure.
[ Applause ]>>Bruce Johnson: Thanks.
Okay. Quick refresh of where we are.
A few minutes ago, you saw a start with a empty directory. In less than 200 keystrokes,
we had the scaffolding app. We used the tools that now are integrated
and that work really well together, spent a couple of days to create a more full-feature
application. We tuned it on the desktop, using Spring Insight
and Speed Tracer. With one click, we deployed it to App Engine.
We continue to tune it using Speed Tracer plus App Stats.
And we uploaded a massive amount of data. It literally took a couple of days to get
that much data in the database, as a matter of fact.
And the app still runs exactly like you’d want it to.
We think that’s pretty cool. And we’re excited for you guys to try these
tools yourself. [ Applause ]
>>David Glazer: Thank you, Bruce. Thank you, Ben.
If you want to learn more, there are sessions. You can find them on your Android app, you
can find them in the schedule where you can listen to the sessions and talk to the engineers
afterwards. What you just saw is not just a pretty cool
app built on stage. What you also saw is the tools to let you
build those kind of app was that kind of performance for your company, your needs, your use cases.
Well, the second promise we made is, we were going to show you how to make those apps mobile-ready.
I’m happy to say that that exact same widget library that Bruce just showed you, and showed
you how well it performs on a laptop at work, that same widget library is ready for mobile
devices, makes it much easier to take one application and say, “I want to access this
data from all the devices I’m using, from tablets, from phones,” which matches the real-world
use needs for applications like this. To show you how this works, I’m going to ask
Ben and Bruce to come back up, and show you the same expense app how it runs on Mobile
devices using the same widget libraries.>>>Hello, again.
>>Bruce Johnson: All the cool widgets against a massive data set.
That was all in a desktop browser. But if your companies are like Google, chances
are people are not at their desks all the time.
They have all these great new mobile devices. And you want to make sure these apps work
well and are available on the device that your users happen to actually be using.
Well, as it turns out, when we designed these news widgets that I was just bragging about,
we made sure from the beginning that they worked particularly well on mobile devices,
you know, you have to think about mobile devices are typically slower CPUs to save battery.
You have slower network connections and so on.
So to show you these widgets in action on mobile devices, we took the expense report
app that you saw, we customized it just a little bit to adapt it to each of a couple
of different devices, and so here I’ve got an iPad.
So this is the same app. Let me connect to the network here.
This wireless network is my friend. And it works the same way that you would expect
it to from the — from what you saw previously. And it does all — you know, small adaptations
so that it feels more appropriate for the device.
So, you know, finger-dragging and things like that.
But I can still page just the same way. Basically, the same app, I’m reusing almost
all the same code. So that is on an iPad.
And Ben has a version that is running on Android.>>Ben Alex: Indeed.
And I’ve run this Android version. We have the same sort of UI gestures that
you’d be expecting. And we have a nice interface.
It’s very easy to use. So we thought what we’d do is show you how
it works and you’ll see some of the cool features in the new widgets.
So why don’t I log in an expense report. I’ve been here at Google I/O, actually for
a week now, but working really hard, really late hours.
So I’m going to have dinner and I think I’m going to log on an expense report and have
a good dinner. Wi-Fi.
So we type in “dinner.” And I’ve had a good dinner.
So let’s finish typing it. $150.
Excellent. So I must qualify.
I’m not sure Wi-Fi is going to work for us at the moment.
So we should see this work. But we disclaim.
So I’m going to hit the “done” key on the count of three.
One, two, three. And have a look over at Bruce’s machine.
We’ll see if Wi-Fi is being good to us.>>Bruce Johnson: Double-check the done.
Are you sure you nailed that? We probably should enlarge those buttons the
next time we do this.>>Ben Alex: Let’s connect.
>>Bruce Johnson: It’s worth waiting for.>>Ben Alex: It’s worth waiting for.
It’s a great demo. Back to Internet.
So let’s try this again. Refresh.
[ Laughter ]>>Ben Alex: We can’t plug Ethernet into these,
unfortunately.>>Bruce Johnson: If this doesn’t come back
in a second, we will describe to you in extreme detail, pixel by pixel what you would be seeing,
were the network not completely overloaded right now.
In fact, maybe we should just do that. Let’s do one last attempt.
>>Ben Alex: One last try.>>Bruce Johnson: We should use that HTML5
app cache feature. The whole point, actually, is that you see
two different values much the app here, and both of the apps are live.
Let’s — okay, let’s see if we can pull this off.
>>Ben Alex: No. Hang on.
Okay. Here we go.
So delete the last two minutes.>>Bruce Johnson: Okay.
>>Ben Alex: Okay. So I’ve been working hard at Google I/O.
Rewind. And I’ve been working hard and had a nice
dinner. Let’s try to add the dinner together and you
will be able to see these new widgets in action. Let’s press the plus key.
And it was dinner. And as I said earlier, we’ve been having a
good dinner. The joys of working late.
And what we wanted to show you — it does require Internet, so — I’m going to press
“done” on the count of three. One, two, three.
And have a look over at Bruce’s screen. [ Laughter ]
[ Applause ]>>Bruce Johnson: Yay!
Yay, yay, yay! Okay.
So you saw that pop in. Now, I — and I like that.
I like that. But what I do not like, as Ben’s pretend manager
here, is $150 for dinner, because I had assumed he was going to go fast food.
This is not working for me at all. So I’m going to deny this.
And I am going to say that you, Ben, are nuts. I don’t know if you can read that.
It says, “You are nuts.” I’m going to confirm.
And one, two, three, we should see, network willing, that Ben has been now updated in
real time, and — [ Applause ]
>>Bruce Johnson: So — versus your normal expense report cycle where your boss sits
on it for six weeks.>>Ben Alex: Dinner was rejected?
Good thing I’m still here. So I am nuts.
Let’s amend it, then. Let’s go and edit.
Let’s backtrack. And I’m not going to round the bill up this
time. $148.
And because I can’t calculate tax here in California, because I’m from Australia — I
don’t know what the total will be, but $148.13. Done on the count of three, one, two, three.
And –>>Bruce Johnson: Come on.
You can do it. Yes, yes, yes, yes, yes.
That’s — oh, $148.13. Now, that is a different story.
I mean, that’s nothing. That’s chump change.
Sure, no problem, Ben. Ben, thank you.
That was fantastic. So, anyway, aside from the network glitches,
— [ Applause ]
>>Bruce Johnson: — let’s talk about the whole arc that you have just seen; right.
We started with an empty directory, 200 keystrokes later, you have an app, you have a powerful
set of tools that helps you iterate quickly. You have a nice widget library, an app framework
to help you build apps that work very responsively, even against huge data sets that are running
in the cloud. You’ve got performance-tuning tools that are
great for diagnostics, both on your desktop and in the cloud.
And then you’ve got the knowledge that these applications that you’re building with the
tools that we’re talking about here can be easily adapted to all the different mobile
devices that your users are actually using. We hope you’ll try these out.
We’re really excited about all of these things that are coming in GWT 2.1 and Spring Roo
and STS. A lot of great stuff.
Please do download it and let us know what you think.
Thank you.>>Ben Alex: Thanks.
[ Applause ]>>David Glazer: Thanks, guys.
And, again, if you want to hear more, want to see these things in action, try them yourself,
the sessions, attend the session, talk to the engineers, download the code.
You can build apps like that. You can have your own demo fun with your own
applications that you’ve built on these open tools, do your own innovation.
The third thing we said we were going to show you is flexible deployment.
We’ve been showing you how to build these great Web apps.
But what do you do when you build them? How do you make sure you’re not locked into
one architecture when you build them? The answer is, because you’re building on
open standards, you’re not locked in. You’ve actually been seeing over the last
few demos, you have been seeing cloud portability in action.
The first few demos you saw built with one tool stack, open standards, were running on
a development server right here on the development box.
You then saw some demos. When Bruce started showing you Speed Tracer
using Insight, you saw those same demos, same application, deployed to a virtual machine
running on a VMWare instance, using TC Server. And then you saw some of the same demos running
on Google App Engine, same application. Using Google App Engine, you saw Speed Tracer
tracing across that. How do you as a developer make that decision?
What do you change in your app to do these different deployments?
Well, Bruce showed you, if you want to deploy your app to Google App Engine, you’re in Eclipse,
using the tool set, you click on the button. You’re deployed to Google App Engine.
But because this app is built on the open standards, the Java container API, Java persistence
API, if you want to deploy to any of the other open standard-supporting environments, drag,
drop, deploy your project to any server that supports these standards behind your firewall,
in the cloud. It all just works, because open standards
lead to innovation. So we’ve shown you how to use familiar tools
to build apps quickly, how to have those apps work everywhere you want, both every device
you want, and deploy them on every architecture you want.
That means you’re now going to have a lot of apps.
And if you have a lot of apps, you need to have tools to manage your applications in
the cloud. I’d like to welcome Kevin Gibbs, the lead
of the Google AppEngine team to show you what’s happening in Google App Engine to help you
work with all the applications that you need.>>Kevin Gibbs: Thanks, everybody.
Now, today, you’ve seen some examples of Google’s approach to helping with enterprise software.
Now, we don’t believe in silver bullets or single solutions.
But, instead, we believe in looking at the productivity of your company as a whole and
seeing what we can do to help. Now, one area that we’ve noticed is a growing
productivity problem for a lot of you out there is managing all of the applications
of your company. Companies grow, engineering teams change,
servers move. As all of that happens, it becomes increasingly
difficult to manage all of the applications at your company.
As your company grows from having a few Internet apps to having hundreds, and from ten employees
to thousands, managing that whole ecosystem and keeping it healthy becomes an increasingly
large challenge for you. So at Google, we thought about this problem.
And we wanted to do something to help. Of course, since it has to do with hosting,
we looked to Google App Engine, Google’s hosting offering, which already serves over 100,000
applications that are used every single week. But as we try to use App Engine to help with
enterprise software, we noticed that there were some challenges to getting started.
As Google moved over its own I.T. infrastructure to App Engine and as we talked to our employees,
our customers, and VMWare, it became increasingly clear to us that the public cloud in general,
and Google’s cloud in particular had some barriers to writing enterprise software.
We heard that you needed something that was more reliable.
We heard that you needed something that came with support.
We heard you needed something with key features that your enterprise can’t live without.
We heard that you needed a better way to manage all of these applications in the cloud, and
a way that would seem like the best possible solution both to the engineers at your company,
as well as the I.T. administrators. And, finally, we thought that you needed a
better way to pay for all of this. Having a single engineering team sign up with
a credit card each time you want to create an app, it’s not a very scalable solution.
So we took these problems to heart, and over the past year, we made investments to try
to fix these problems. And thus, today’s, I’m really excited to announce
to you a new product, Google App Engine for Business.
Google App Engine for Business represents a new version of App Engine that was built
from the ground up around solving the real problems that enterprises face.
It’s composed of five features that we believe any business needs to build its infrastructure
on App Engine. Those features are, one, a new company-centric
management console which makes it easy for you to see, manage, and set security policies
across all of the applications in your domain. Two, it comes with professional support so
that when it’s crunch time and you need help with your application, you know that there’s
someone out there that you can reach. It also comes with a formal service-level
agreement, or SLA, for the first time with App Engine.
That means we’re putting our money where our mouth is when it comes to the reliability
of your business. And, finally, it also comes with two additional
key features that we had heard almost every enterprise needs: SSL for your company’s domain,
and SQL databases. That’s right.
[ Applause ]>>Kevin Gibbs: You heard me right.
When Google App Engine for Business is completely available, you’ll have the choice of using
our scalable data store, which is built on Bigtable, or a standard SQL database.
We know that these features are critical to enterprise adoption.
And, finally, Google App Engine for Business also comes with a new way to pay for App Engine,
a new pricing model that’s based around something that’s simple, your applications and your
users. But, you know, I actually think the greatest
thing about Google App Engine for Business is that it’s based on the success that we’ve
already had with Google App Engine, a product that’s over a half a billion daily page views
strong and still growing. It comes with all of the features that you
already know and love about Google App Engine: Its standard Python and Java programming environments;
that it’s easy to use and easy to scale, including that it’s free to get started.
With Google App Engine for Business, anyone in your company can create an application,
develop it and test it, all for free. When they’re ready to share it with their
whole company, they just press “publish.” Now, I mentioned to you that Google App Engine
for Business comes with a new pricing model. We had heard that our current pricing model
for App Engine is fairly complex, especially for the enterprise use case.
So we wanted to do something simple. We took a note from Google Apps for your domain.
The pricing for Google App Engine for Business is really easy to understand.
Your applications cost $8 per user, up to a maximum of $1,000 per application per month.
That’s it. There are no other fees or charges for you
to understand. If you use your application within your domain,
your usage is unlimited and you can create as many applications as you’d like.
That means with App Engine for Business, you don’t have to worry about the cost of your
data center, the cost of your management console, the cost of your licenses and usage, all of
those things. It’s one simple price.
You know, we talked to a lot of CIOs when we were working on this.
And we heard from many of you were spending 60% of your enterprise I.T. budget just keeping
the lights on. Well, with Google App Engine for Business,
we think we can get that down to zero. And we’re putting our money where our mouth
is. If your application in App Engine for Business
has no usage, you don’t pay a dime. Now, that’s been a lot of me talking about
this new product. I’d like to now actually show it to you.
I’d like to show you how the management console in Google App Engine for Business makes it
easier for you to scale your company in terms of the number of applications that you have
from the point of view of an engineer, an I.T. admin, and a CIO.
So let me get started. Bruce, I might need your help to log in here.
Thanks, Bruce. All right.
So let me go ahead and open it up. I’m going to open the management console for
App Engine for Business. Now, for the purposes of this demo, we’ve
created an example company, The Surly Butcher Corporation.
So I’m going to go ahead and log in as a developer there.
Now, if you’ve used App Engine before, this screen should be familiar.
It’s our normal list of the applications that you work on as an engineer at the company.
But as you go to create an application, you’ll notice there are a few things that are different.
One, you’ll find that it’s easier to find an application identifier for the apps that
you want to create because these application identifiers are limited to being within your
business. So you no longer have to hunt around for one
in the global name space across Google. You’ll also notice that we’ve got a little
— a different host name listed here, rather than appspot.com.
When you create an application on Google App Engine for Business, it’s automatically mapped
into your company’s domain. You don’t have to do any DNS setup or do any
virtual host or anything like that. It just works with your company’s domain name
and brand. Now, I’m going to step back here for a second,
and I’m going to go to an application that I deployed this morning, which is a sample
blog for The Surly Butcher Company. So I’m going to open that up for you.
But before I do, I’m going to go in the background, and I’m going to go log out of App Engine.
So I should be logged out now. Now I’m going to go ahead and open up the
blog. There we go.
And you can see it asked me to log back in. That’s because Google App Engine for Business
has security default. They are set by the domain administrator,
and developers can’t change them without permission. That means that you can be sure your Internet
apps are safe. So let me go ahead and log into the simple
app. So there we go.
There’s the company’s simple blog. You can see it’s hosted on the company’s domain
name, and I didn’t have to set anything up. So I’m going to go back to the application
view within the admin console. Now, as I said before, this view should be
familiar to you. This is the standard view you see in App Engine.
It will be the apps you work on. But because this is a company, you’ll notice
there’s a new link up here which gives me a link to all of the applications for this
company. As I click on that, I can now see every application
that has been created within my company. And for each application, I can see the applications
that I have access to and the ones that I don’t.
This helps your developers collaborate across your company.
Now, one application that I work on inside this company is the TechStop application.
This is one we use for our I.T. help desk for the company.
When I open up this application, though, you’ll see the familiar dashboard.
But you’ll notice there’s a new tab under “permissions.”
With App Engine for Business, you can control who has access to which application and what
level of access they have. Now, for this application, you can see I’m
listed as a developer. And that means that I have pretty much full
rights. I can view the logs of this application.
I can go and deploy a new version of the application. And I can go into the data store viewer for
the app and create new data or change data. But if I go back to a list of applications,
I can see that there are some apps that I don’t have all the same level of privileges.
So if I open up our company’s code review application where we audit the code that we
work on, I can see that for this application, I’m only listed as a viewer.
That means I can get to this dashboard and view logs, but if I go to the data store viewer,
I can’t change any data in the app and I can’t deploy a new version.
So this helps you manage within your company and manage the data that you’re working on
and the safety permissions with your company. Now, if I jump back to the list of applications,
you’ll see that there are some that I have no access to at all.
These applications are ones that I’m just not a developer on.
And if I click on one, you’ll see I have no access.
I can request access, though. And I’ll e-mail the developers to let me on
if I can. Now, I said I was going to show you one other
thing. And that was showing you that — how a domain
administrator or CIO looks at all of this. So I’m going to sign out quickly.
And I’m going to sign back in as someone who is a domain administrator at this company.
So let me do that. Now, as a domain administrator, I don’t actually
have any applications, ’cause I don’t write code anymore.
But when I go to a list of all of the applications for the company, you can see I have full access
to all of them. And that means I can go to any app, grant
developer access or remove a developer who has left the company and handle situations
like that. So that’s the demo of App Engine for Business.
Now I want to make one thing clear: Google App Engine for Business represents a major
new effort from Google. It’s a big new thing that we’re doing.
Today, I’m announcing App Engine for Business. It’s not yet entirely available for everyone
to use, but we know that enterprise development schedules take time and that you need time
to plan. Thus, we wanted to tell you about this as
soon as we could. So in response to that, today, we’re publishing
the road map for Google App Engine for Business. Because some of the features I told you about
today will take longer than others, some will be available sooner than others.
Our road map which is published online at code.google.com, gives you an idea of when
each of these features will be available and when you can expect to see it.
Already, a number of companies that we’re working with are already testing the App Engine
management console and using it to help manage their company and all of the applications
within it. So, that’s the end of my talk today.
What I’ve shown you is a new version of App Engine which is suited to business needs and
a new way to manage all of your applications in the cloud.
So thank you for your time. Please keep watching our road map to see how
we’re doing. And if you’d like to learn more about our
toughest customer of Google App Engine for Business, please come see these talks where
you can see how Google itself is building its I.T. apps on App Engine.
Thank you. [ Applause ]
>>David Glazer: Thanks, Kevin. Thank you, Kevin.
Thank you, everyone. Three more slides.
What did we show you? We made four promises at the beginning.
We said we were going to show you how to build apps faster with familiar technology, showed
you how integrating Spring tools in Google Web Toolkit let that happen.
We said we were going to show you how to reach all your user on all their devices.
The new mobile-ready widgets in Google Web Toolkit make that happen.
We said we were going to show you how to stop being trapped into an architecture by a choice
you make when you write your code. The cloud portability solution we showed you,
working on VMWare on open standards made that happen.
And we said we were going to show you how to juggle a thousand applications for your
company and keep your sanity. App Engine for Business allows that to happen.
If you want to learn more, attend the sessions, you can go online at cloudportability at either
google.com or VMWare.com, get a lot more information, pointers to documentation, downloads the tools,
access the road map, sign up for early use, all of that.
We started this morning by talking about the power of open standards and how open standards
leads to innovation. Some of the people who started using the tools
that we showed you today, some of the people who started using Spring several years ago,
started using Google Web Toolkit two years ago, you’re in this room.
When you started using those tools, you didn’t know that you were building applications that
were ready to run on Chrome. You didn’t know that you were running applications
that were ready to run on the Android browser. You didn’t know that you were building for
the platform of the future, because it didn’t exist when you started building your apps.
But because you chose to invest in open standards, you chose to innovate in the open, you are
ready for the future. Stay with the open standards.
Stay with the Web. Stay with HTML5.
Come with us into the future. We’re excited about it.
We know you’re excited. Enjoy the sessions.
Enjoy the rest of your two days here. Thank you very much.
[ Applause ]

90 Replies to “Google I/O 2010 – Keynote Day 1 – Full Length”

  1. Yeah I'm SURE that the BETA version of that google crapware was not the issue. Sure, it was the perfectly working, shipping product that failed.

  2. AKA " "Googles embarrassing demo: iPad vs. Android device (with video)
    "Just a few moments ago at the Google I/O the demonstration team encountered one of the more embarrassing problems in modern tech presentation memory. An iPad and a Google Android phone were set up side-by-side to display the loading of a new application. While the iPad populated and loaded quickly, the Android phone was less successful." " The fun starts at 1:40:27:

  3. @tribaleye2000 The app was already streamloaded into the iPad, only changed a bit, while the Android was loading it from the wifi from IO. My Nexus was lagging as hell as well as my iPad.

  4. @1958lespaul1
    because there is no "the" Android phone. You might mean Googles Nexus One which is the only phone by Google. Android is the platform, there are many phones running Android by different manufacturers like RIM and so on. Also, the iPad is not a Phone 😉

  5. Great! I here in Brazil can watch these amazing presentations, from an event that costs$100! It's the power of Internet!

  6. @ngjimmy What the hell does that even MEAN? The android? Android is an OS. The ipad doesnt compete with many mainstream android devices…

  7. Is it me, or is the guy speaking about app privileges and stuff sound like the narrator for dovetastic? You know, the guy whoe says, "as you can see you professional microwave operator is really pleased with the microwavability of [thingy]…"

  8. Awesome. these people are completely amazing. driven, creative,…the brains behind everything that makes being alive at this point in the history of the universe so completely incredible.

  9. Okey, so what we need now is a new Google phone (or Android device), with glassless 3D effects. (think 3ds, parallax barriers) and a 3D cam. To take 3d pics and movies. (like the 720 p from sharp).
    AND since youtube is 3D capable. The users can sheer 3d photos and movies.
    which should kick ass!!!!!! Make it happen! i want one.

  10. What's the point of making all the sessions private? I subscribe to the GoogleDevelopers channel, but all the interesting videos are private & I can't view them! It's not like they wouldn't have sold out of the event if the videos weren't private — I didn't go because it was sold out before my company finally decided to send me.

    Google should make all the session videos available to everyone because good video on programming in the Google world is sorely lacking!

  11. sorry if I missed it, but does anyone know what kind of server the huge employee expense reports demo run on in terms of number of servers, and their performance, thanks!

  12. Android fail. Theey were presumably on the same exact network and the experience on the Android device was excruciating. Of course we know the network was working fine cause the iPhone OS device worked fine.

  13. @johnnylambada

    I totally agree man, what better to make the point to programmers everywhere of Google = Open and Apple = Close then making all sessions open instead of charging a bunch for them like Apple's WWDC's sessions last year.

  14. I don't know what channels do I have to use to say this, but really developers of wave, the real thing that is lacking in google wave in the aims of communication and collaboration is the voice communication. I have previous experience working with skype in collaboration and I find it, really helpful tool is nice to add some service like this. and not only the USA. greetings

  15. So, so. So so so so so SO so So. So, so so…so. Remember when people cared enough about what they were saying that they made sure they sounded smarter than someone who starts every 5th sentence with the word "so"?

  16. Not speaking of content, but in terms of presentation skills:

    Poor presentation compared to Apple. I'm aware that most presenters are engineers and not presenters, but still the speakers simply do not excite the audience.

    Music is horrible by the way. Reminiscent of the lack of artistic value in Google products.

    Also, HEYCH-t-m-l 5? Come on.

  17. I am really thinking of redirecting my profession and try to get to google…no really your doing great work there and I want to join 😉

  18. google are slightly HUUUUUUUUUUUGEEEEEE, however google chrome dosent recognise google as a word. keeps giving me red lines, garghhhhh. can wait for android 3.0

  19. nice to get all the developers to speak and explain stuff on the dais rather than the ceo himself like Jobs who keeps reciting "magical" once every 2 minutes..

  20. html5 is everywhere ;-), IE6, IE7, IE8: no support for html5. (only the beta of IE9 supports it). youtube is not going to switch to html5, for that very reason 😉

  21. Merry christmas google!!!

    I did not see the whole video because I have a life, but keep uploading your hours conference stuff and happy holydays!!

  22. I'm so disappointed. Now Roo and GWT are not synchronized together. I spent 2 days trying to launch Roo-1.1.5 and GWT-2.4.0 – it's impossible.

  23. @udlootw Started making some serious cash last month ($1400-$2200 a day) with a new method. Find the right niche and there's no limit to how much earn. Take a look at The Cash Lab if you wanna to get started, Trust me your gonna like this have a look here > bit.ly/LtS1ka?=wvksjo

Leave a Reply

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