Tip:
Highlight text to annotate it
X
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.