Programming With and For Google Wave
Translations of this material:
- into Russian: Программирование "с" и "для" Google Wave. 99% translated in draft. Almost done, let's finish it!
-
Submitted for translation by qmax 10.08.2009
Published 2 years, 4 months ago.
Text
Programming With and For Google Wave
Osinga: Hello, everyone.
Hi.
[laughs]
Um...whoa.
This is a little loud.
Welcome to the API talk,
the talk where we explain
how you can program
for and with Wave,
how you can build applications
that interact with Wave.
Before I get started,
I'd like to remind you
that you can put feedback
on this presentation
on www.haveasec.com/io.
And we'd really appreciate that
if you do that.
So, um...
yeah, let's get started.
There we go.
So yeah.
As I cannot stress enough,
this is a developer preview.
We'll start giving out accounts
on wavesandbox.com, um...
anywhere from now
and next week or so.
You're all invited to explore
Google Docs
with the API descriptions
on them.
They should be live already.
Also we have a blog site
that gives you more information.
And you'll get an email
at some point
with instructions
as to how to sign into
this wavesandbox.com domain
where you'll find the client
that you saw in the
demonstration this morning,
and that should allow you to...
interact with using, you know,
building robots
and extensions and all
that sort of goodness.
Yeah.
So...Wave building.
This is...
the Wave Building in Australia.
I, um, I'm personally
always a fan of building slides
that have mostly
a picture in them,
and then I tell the story
about it.
But I was told that
I couldn't do that
for this presentation
since people would be looking
at the presentation afterwards.
This is sort of like the only
reminder that they have.
It's fitting because,
you know,
we're talking about how you can
build stuff on top of Wave,
and our team
is based in Australia.
So I thought
I'd slip it in anyway.
So before you get--
do a dive into
the various APIs that we have,
I thought it might be
a good idea to take a moment
and look at what a Wave is
from an architectural
perspective,
other than the pretty pictures
that Lars showed you
this morning.
So a Wave is actually...
not much.
It's an envelope
that has wavelets in them
for the physicist under you,
that might be--
physics students under you,
that might be
a little confusing,
because wavelets
are already used
for something else there too.
Hey, what can I say?
So essentially,
a wavelet is a complete Wave
and has participants on them.
And the reason that we split
waves up in wavelets
is to manage permissions.
So each wavelet--
each wavelet
has the same permissions,
and the permissions are usually
assigned to the participants.
So in this case,
we have one Wave...
with the top thing
has five participants
and, you know, there's some sort
of discussion going on there
about what to get for
food this evening.
And then you can see
the second wavelet,
which has a subset
of the participant
of the first ones on it.
And there you see that,
you know,
these two guys think that,
actually...
you know, let's not get pizza,
have to get Mexican food.
So to the clients, this will
look like a private reply,
as you might remember
from the demo this morning.
Now, we have two types
of APIs and, um,
the first one is embedding.
The second one is extensions.
I like to say that,
you know, with embedding,
you can take Wave
and put it out in the world.
And with extensions,
you can take bits of the world
and put it in Wave.
So the embedding API is...
is much inspired
on the Google Maps API
and lets you take a Wave
that you have
and display it
on your website.
This is a very simple schema
describing that.
So this is a, supposedly,
chess site
where we have a tiny bit
of script include,
which is the library
that we provide,
that you put on
your website.
You then tell this,
you know, what to do
and in reaction to that,
that piece of script
goes to ahead
and essentially, it's a complete
version of our client
minus all the chrome
around it.
And that thing lives
in an iframe
and communicates
with the Wave Server
so that you get
all the liveness
