>>Greg: Welcome, I'm Greg D'Alesandre, Product
Manager of Google Wave, and this is the talk
on, next slide, Google Wave and the Enterprise
Environment. I'll be talking today with Alan
Green, one of the tech Leads of Google Wave
and Kris Muller of Salesforce.
Next slide.
So today what we want to talk a little bit
about and this is a question that has come
up frequently, are how can businesses use
Google Wave? So what we really wanted to do
was talk a little bit at a high level of a
number of use cases and then really dive down
onto a specific use case. The specific use
case we want to dive down into is actually
one that is a little more developer oriented
because it is Google IO, and we wanted to
show how the extensions could be used together
to form a process around Wave. One thing I
will note is that there is a bit.ly link at
the bottom of this slide. This is the live
wave for this session. You can ask questions
on there, this is the end of IO, you know
all of this stuff, but that's the bit.ly link
part.
All right, let's go.
OK, um, without going into a lot of detail
on what exactly Google Wave is, if you want
to know we have a lot of videos online that
sort of thing, but basically Wave is equal
parts conversation and document. It has a
simple sharing model; it allows you to reply
anywhere, does live editing, and has custom
extensions. When we first launched, ah, launched,
when we first introduced it last year at Google
IO there was, we showed a very broad vision
for it, and today we want to really drill
down on what people can do with it. All right.
This is a quote from Mehrdad, who is, we've
worked with on a project As One, there's a
project within Deloitte, spread across the
world, um, multiple teams that they used Wave
to do all their coordination of the designs
for the project. There's a case study online
if you're interested in reading, that goes
into a lot of detail on how they used it.
But he really felt like it helped them get
things done faster, and because of less travel,
cheaper.
OK. Why Google Wave in an enterprise?
At its core Google Wave is about collaboration.
And when I say collaboration a lot of people
talk about collaboration, it's a word that's
thrown around a lot. And they often mean it
as somebody writes something, and then somebody
else responds to what's written or comments
on what's written. When we say collaboration,
we really are aiming for people to be able
to create things together, not just someone
creates something and somebody else can comment
on it. Now most collaboration happens in small
groups. Turns out, if you're really trying
to create something together, it's very difficult
to do that with hundreds, or thousands or
millions of people. A lot of these things
end up happening in smaller groups. And it's
also where a lot of the current tools are
just not as well suited. They don't really
give you the control and the flexibility that
you need to be able to work together in that
sort of manner. Enterprises are, of course,
full of small groups. At their heart they
are a very large group, but they are typically
full of lots and lots of small teams trying
to get there together. Excuse me. Every enterprise
is different, and so one of the things we
want to talk about today is how you can use
extensions to start with the basics of Google
Wave but really expand it to allow you to
tailor your experience for your enterprise.
OK, so what have businesses been doing with
Google Wave? Any number of things um campaign
coordination for marketing campaigns, creative
writing, um writing code, release management,
project management, month end summaries, um.
Next slide. All of these things are what we
consider people working together in semi-formal
processes. The reason I say semi-formal processes
is because there are processes where everything
is 100% automated, its very heavily defined,
everyone knows exactly what needs to happen,
and it happens the same way every single time.
But, and this is something I suspect you guys
are all very, often painfully aware of, is
that within IT a lot of these things you have
some definition to the process, sometimes
50%, sometimes 60%, sometimes 80%, but it
doesn't, but there often are these situations
where someone needs to jump in and either
fix something that has gone wrong, or there's
just a part of a process that's, and somebody
has to go off and do this thing and come back
and say that its done. Um, so one of the things
that Google Wave does really well, and that
we've found over the course of the last year
that people had found that it did well, is
bringing together the sort of structured aspects
of these processes, as well as the unstructured,
sort of loose, somebody's just got to do something
because all... everything's-gone-crazy-kind
of stuff. So bringing these together in one
place, so rather than having a process in
one place that's very formalized and steps
go through, and you know, at one step in the
process you see something's gone haywire and
you send emails out, you send IMs out, you
have conversations in person, etc., etc. Instead
you keep all this information in one place,
so if you ever end up doing postmortems, you
can do a postmortem and find out what actually
happened during that process by looking at
all the information you gathered in one place.
So today we're going to dive in a little bit
more on one of these semi-structured processes.
And the specific one we're gonna be talking
about is release management. Release management
is something that most engineering organizations
are very accustomed to. For small organizations
it tends to be very unstructured and for large
organizations, very structured. But all of
it ends up having to do, you know, some build
breaks and somebody needs to fix it, and you
need to understand what's going on there.
So the example we're going to be talking through
today is a fictional company that we'd like
to refer to as Acme Wave and for those federation
folks out there you will recognize the name.
It's a fictional 200-person company that has
a half-time release manager that is taking
care of their whole release process. AcmePro
is the name of this, this ah, this product.
It has a Web site, backend, client, and database.
So one thing I should note is, we're going
to be going through this example process,
this release management process, but we're
trying to use this to illustrate an example,
we're not trying to use it as a way to dictate
this is the way to do release management.
We're trying to show how these sort of semi-structured
processes can work. And the same things that
we're talking about here can just as easily
be applied to all sorts of other processes.
In fact I was talking to somebody last night,
who might be in the room, about using the
same types of processes for helping people
learn a language, which is a similar sort
of semi-structured process. So as you're watching
what we're talking about, think about how
it might actually apply to the kinds of processes,
not just your release processes, that you
work on.
OK, so step 0; um just using Google Wave.
Um, so this is kind of a necessary first step.
One of the things, let's switch over to Wave,
so one of the things that Wave allows you
to do, and I imagine that most of you have
seen it before, flick through, yes, perfect.
So this is an example of what a release wave
can look like. It has each of the components
on it, it has to dos for people on the list,
it has some conversations in the middle of
things that need to get done and questions
that people had. So this is, so on it Andrew
is commenting on one of the issues going on.
Alan can see in real time what's happening
as Andrew is commenting. Andrew is our helper
in our audience; it's like a Where's Waldo
kind of thing if you can find him. So what
its doing is it's bringing together the ability
to comment on this specific to do item of
test staging, and have a real conversation
around it. Not the kind of thing where you
have a document that says someone needs to
test staging and in an email somewhere else
you're discussing well, how, you know, has
the test occurred? You know, what are we supposed
to do, etc., etc.? OK. So this is just starting
to use Wave, bringing some structure together
with some kind of less structured informal
conversation. So now, the next thing we're
going to show you is what we refer to as step
1. And step 1 is augment existing communications.
So its going to be using a robot, and if you
go back to the Wave, we're going to add a
little robot that we wrote called, and when
I say we I mean Alan -- I'm a product manager
so sometimes I say we incorrectly -- wrote
called Mr. Release. And as Alan adds Mr. Release
to the Wave, one of the things that you can
see is that immediately it highlighted all
the to do items; the things that were done
it crossed out; it automatically linked any
of the individual issues. So you notice we
didn't change anything about what we were
doing in the process, but this robot just
picked up the things that are important to
us, such as tracking who has what, and the
specific issues so that we have links to them,
it picked up specific items, highlighted them
for us, so that we now, can have a better
understanding of how it works. And with that,
I think maybe I'll turn it over to Alan, who
as I said wrote Mr. Release, and he can tell
you more about how it works.
>>Alan: Right, so we've got a Robot on the
Wave. Who here has written a Robot? [Quietly]
who am I talking to? [Louder] OK so some people,
excellent. Robots are simply web applications.
And Wave is sitting there looking at every
wave and as it changes, if there is a robot
on the wave, it'll make an HTTP request out
to the robot. The robot decides what to do;
it can interact with its own database, in
this case it's looking up a list of regular
expressions, looking for the words done and
to do, and applies annotations to that. It
packs all of the changes it needs to make
to the Wave back into the response, sends
that back to Wave, and Wave then applies it.
And this is happening, I dunno, within a few
hundred milliseconds here, it feels very natural.
It works quite well.
Um, so the next thing we can do, could you
maybe flip back?
>>Greg: You got it:
>>Alan: Lets go up to the release roster.
[Pause] So this is a list of all of the releases
that we have, and we've tied it together into
a single wave. Its quite, if you've used wave
before to manage a whole list of stuff, it's
very easy to make these lists of things. Um,
this list is manually put together, and we
link down to each of the release waves from
here. Um, it's easy to maintain, but it looks
a bit ugly, and the list kind of gets a bit
out of control. There's opportunities for
people to put random comments in there, which
doesn't help if you're trying to look through
the list. So we can tidy that up by using
our gadget. If we go to the more modern version,
Oh no.
>>Greg: Oh hold on just a second. We're about
to go to a more modern version. There we go.
>>Alan: So what we've got here is a gadget,
which has all the same information, but it
structures that information nicely. There's
a drop-down list with all the participants
on the wave so it's easy to, you know, choose
somebody. And basically it's all the same
information but packed up into one nice little
bit on the screen. And you can have conversations
about it still, and you've got all that same
wave activity that lets you run these ad hoc
processes. Could you maybe flip over to the
next slide Greg?
>>Greg: You got it.
>>Alan: Right so, gadgets. Who's written gadgets
at all? And gadgets for Wave? [Laughs] Excellent.
So gadgets we use open social gadgets in Wave.
But the way to think about them is that they're
a package with XML to define the gadget, JavaScript
to tell the gadget what to do and see assists
to tell it how to look. And brings it together
and at the moment we just stick it in a rectangle
on the Wave there. The interesting thing about
Wave gadgets is that they can store their
state in the Wave. So that everybody looking
at the Wave sees exactly the same view of
the gadget because they're looking at exactly
the same data. Um, Oh Greg could you, yeah.
So the data is stored as key valued pairs
and we've got a little representation of that
there. But basically standard Google gadgets.
Great, thanks. Um, could you explain this
slide because it's all high level and processy.
>>Greg: Sure. Um, OK, so if you've ever dealt
with the release process, what you probably
know is that you have, you have on one side
people like the release manager who deals
with the process itself, and then you have
people on the flip side who own the individual
components. So you have somebody who owns
the client. And you really need to bring both
of those things together in an individual
build to say this is how you build this specific
component, let's say the client, in this specific
group release, and how's that going? So when
you're building a client for release 1.18,
how's that build going? This is something
that you can do very easily in Wave, you can
have waves interlinked with each other as
we've just shown you, but what you really
want to do if you want to have one of these
waves per component per release, if you go
to the next slide, is you have a really large
number of waves. Because what you're trying
to do is you're trying to work with this matrix,
and while it's very useful to be able to have
one wave per, and have individuals be able
to only, you know, so the client person doesn't
have to see what's going on with the backend
build. He just needs to deal with his own
build. It's a lot of information to manage.
So what we'll show you is that you can use
robots to help start to manage this information.
And this is something that is just available
with Version 2 Robot API to allow robots to
really manage multiple waves and the information
in those waves. Alan will talk to you a little
bit more about that.
>>Alan: Great. [Pause]. So you click through
to the ultramodern release.
>>Greg: Oooh, the ultramodern one. All right.
It's taking a little bit to set up our windows
>>Alan: Great, so this is pretty much the
same gadget except now we've also got Mr.
Release on the wave and Mr. Release can see
what's happening in
the gadget because Mr. Release can see the
wave and all the waves' state is stored inside
the gadget. So Greg's going to click on the
Make Wave button, and that's going to make
a new release wave and then a new build wave
for every component that's going to be in
the release. So there's five new waves with
just one click. And the thing is, they're
exactly the right wave. So, maybe click through
the release. So the release, the person managing
the release, they just want to know the high
level view. And here they can see, um here's
the release, all the components and their
particular status right now, the conversations
that have happened about it. If you could
click down into a component please? [Pause]
So somebody's trying to actually build this
particular component and get it out the door.
This is how a little teamworking there can
coordinate it so we've just made this one,
it's fresh but you know, in a typical component
build but not everything always goes right.
And the big issues and things and cherry pick
changes in a big list here. But they can then
communicate this status back outside of their
little team, using yet another gadget here.
Maybe click through to Built there? Yeah.
And then it's reflected the status back up
to the release wave. So the engineer working
on this particular component only worries
about their stuff, and the release manager
doesn't need to keep walking around to their
desk going, "Is it done yet? Is it done yet?"
Because they'll see when it's done. Right.
[Laughter]
Some people in the front row think that's
a great idea because they've had to walk around
to our desks too many times.
Ah, maybe flip back to the slides please?
>>Greg: you got it.
>>Alan: Um, so what's going on here now is
very similar to what was going on before.
The robots put the gadgets into the waves,
now it's looking at all of the waves. When
a change is made to one of the waves its able
to push that back out to all of the other
waves and it can still interact with its local
database. It's pretty much the same but using
this feature that lets it speaks to waves
without first being spoken to. Um, so that's
kind of all being inside Wave so far. But
because a Robot is just another web app, you
can also pull in data from other places within
your organization. So we've got a corporate
server down here on the bottom of this diagram.
The example we're going to use is a test server
for our client build, and it's just going
to sit there testing away, and when the tests
are finished and all is well, it's going to
reflect that back into the build wave. Could
you maybe show our mock up of the test? [Pause]
>>Greg: Sure. I know, all this window moving
around. All right.
>>Alan: Right. So you've just got you know,
a teeny little web app sitting on a server
out there. Greg is going to pretend to be
the test server and say that this is tested
now and it's able, the web app then makes
a call back out to, sorry, the test status
web app makes a call out to the robot to say
that this test is done now, and the robot
is then able to push that information back
into the wave. So I think we've got a diagram
for that but it looks exactly like you'd expect.
Great, so that's, Robots working on your waves,
gadgets working on your waves, then working
together pulling in data from other places
within your organization but. Click to the
next slide. We can do even better than that,
we can pull information in from all kinds
of third party applications running inside
your corporate firewall and outside your corporate
firewall. And so today we've invited along
Kris Muller from Salesforce to come, product
manager at Salesforce, to come talk to us
about the Salesforce chatter integration with
Wave.
[Clapping]
>>Kris: Thanks guys. My name is Kris and this
is Kevin and today we're going to be demoing
collaboration in the enterprise. And just
before we came into this session I was hanging
out with these two guys, and they shared their
secret sign for iWave. It's this. Pretty big
secret right? [Laughs]. Well I think we should
all have an exercise in group collaboration,
and maybe everybody raise their iWave signs
up in the air, and just give these guys some
props on a really cool product.
[Audience clapping]
>>Kris: Right on. Thank you. So for those
of you that aren't familiar with Salesforce,
we deliver cloud-based applications that help
businesses manage their sales efforts, their
customer support initiatives. In fact you
can build your own custom application on our
force.com platform. Today we're gonna be highlighting
our sales application, and we're logged in
as Jake Borland, he's the top sales rep at
a company called Serious Computers. Across
the top of the screen there, you'll notice
a series of features that really help Jake
connect with the people in his company, to
stay on top of his customers, to manage his
deals. And as a sales rep, the first thing
Jake wants to do when he first gets to the
office is keep in touch with the metrics that
matter most. What the size of his top open
deals are. How he's tracking against his quota.
What the health of his pipeline looks like.
These dashboards provide him instant visibility
into what he cares most about. And they, like
the rest of the home page, are completely
customizable. In fact Jake also has his punch
lists of to dos, and he gets a sense of his
meetings in that calendar component. So all
of these tools help make Jake much more productive,
anywhere and from any device certainly. But
as we glance back up to the top and just to
the left of Jake's name, in Salesforce we're
seeing something new. Every user now has a
persona, and this is called Chatter. This
is our new collaborative technology and it's
built into all of the applications that we
already deliver. And we think it's really
the future of enterprise business applications.
Now we didn't build a brand new UI or our
own paradigm. It's meant to look a lot like
Facebook and really to work a lot like Facebook.
So Jake can go ahead and connect with fellow
employees to really get his job done. In fact
if you notice off to the right, Jake gets
a sense of all of his peers that are following
him. And beneath that, in turn, he sees all
of those colleagues that he's following. But
it's more than just people -- data now comes
to life. The data in the application is chattering.
Jake can now follow his customers, his opportunities,
business documents as well, like this product
road map or say marketing collateral. Jake
can also provide status updates, so he can
ask his followers' questions, or he can let
them know what he's up to like he's really
excited to be at Google IO.
So let's see how Jake uses Chatter. Just like
when you log in to your home page of Buzz
or Facebook, or Twitter, you see a real-time
news feed, and you get to decide what you
want to follow. Well now you can do the same
at work. You're able to connect with people,
with documents and you start to get a sense
that your colleagues are sharing best practices;
they're asking for referrals. In fact you
notice updates from documents like sales presentations.
The data itself is chattering. We notice that
a case has actually been escalated. Everything
is happening live. Third party systems, they
chatter as well. So we're getting an update
from Oracle Financials that a customer hasn't
paid their invoice. Now Jake sees something
interesting, if we scroll down a little bit
we notice that his sales engineer Nicole Moore
has actually pushed an opportunity out till
the end of June. And Jake naturally wants
to investigate why, so he drills in and for
those of you that aren't a regular Salesforce
users, what we're looking at now is an opportunity
record; this is where a sales reps spend the
majority of their time. They want to track
things like, how big the deal is, when they
anticipate it to close, who they are competing
against. But every record now in Salesforce
actually has a Chatter stream. And it's this
activity feed that helps people collaborate.
So Jake can connect with people and with documents.
Ah, here we're getting some real time visibility
into why Nicole has actually pushed this particular
deal out. Everything is happening in real
time. That's really core to Chatter. And it's
important to businesses these days as well.
I mean think about your experience on Amazon
when you buy a book. You expect it to transact
in real time. But quite frankly a lot of businesses
aren't yet working in real time. There's a
lot of delay in the process. You have to check
in a day or two to figure out the actual status.
But with this system, everything is happening
immediately. So Jake's able to make the determination
that, OK well it looks like we're behind in
the deal because there's a gap in the product
that we're positioning. So what would he normally
have to do? We'd have to loop his entire team
in. They'd probably send a flurry of emails
back and forth before they'd finally get an
answer from a Product Manager about the new
feature that's gonna be released. Well I'm
happy to say that now there's a brand new
way. Jake's able to initiate a Wave. It's
a workspace that's embedded directly within
Salesforce. [Pause]
So as Jake creates this wave, a post is actually
going out to chatter to alert others, and
automatically you'll notice, that all of the
team members on this particular sales deal
have been added to the wave as well. And one
of them of course, is the sales engineer Nicole
Moore.
So Kevin, let's actually log in as Nicole
and get a sense of what she sees. So her experience
when she expands her chatter feed is that
she now sees an update. Jake has created this
wave, and she's able to drill directly in
and start participating. Why don't we go ahead
and split the screens here. We'll keep Nicole
on the left hand side, and we'll add Jake
onto the right hand side, and they're able
to now have an actual conversation. So Jake
might ask the question, "Well when will the
new feature be ready?" And the sales engineers
are typically the brains of the operation,
so she has the bright idea to loop in the
outsourced developer that's working on it.
The outsourced developer, his name's Andrew
lets say. OK. So Jake thinks that's a great
idea, and he adds that external individual,
right? This isn't somebody that's within his
business. He adds Andrew to the wave, a brand
new participant. And you all know how Wave
works, so Andrew's gonna get an email notification,
he's going to access his Wave client, he's
gonna use the playback feature to catch up
on what's happened. And maybe he uses Alan's
fancy Release gadget to automatically notify
the team of the status build, or maybe he
just keys in that it'll be ready in a few
days.
[Audience applause]
This is pretty amazing right? The team's actually
gotten a live result, they've even looped
in another party, and they haven't left the
app or the context of what they're working
on. You can just imagine how much more businesses
are going to be able to get done. And what's
more, Jake's actually able to post an update
back into the chatter feed. So only Salesforce
users, not the outsourced developers, only
Salesforce users are able to authenticate
in, here we're using some O off to go ahead
and post that update.
So all of this security, the reliability and
availability, that as enterprises you require,
are available in this particular scenario.
So Jake goes ahead and broadcasts out to all
the opportunity followers; that's a greater
audience than just the team members who are
working on this sales cycle. He broadcasts
out that this new build will be ready in a
day or two. So let's go ahead and go back
to the opportunity and show you what that
looks like. The fact that there was collaboration,
that an event occurred, that there was some
workflow triggered, or that a process completes,
that updates the chatter feed. So that makes
the team, the department, the people in the
company that care, really smart. They're made
aware of what happens in real time. We think
this is game changing, and so we've just launched
our brand new toolkit. It's Force.com for
Google Wave. We hope you guys all build really
exciting things. It's freely available at
developer.force.com. We think at Salesforce
that Chatter is the future of our company
and in general, collaboration really is the
future of the enterprise. And with that, I
turn it back to you guys for some Q&A maybe?
>>Greg: Yeah. Thank you.
>>Kris: All right.
[Audience applause]
>>Greg: So what we've tried to show you today
was an example of how you can use Wave in
an enterprise environment or even in a small
business environment to try to do closer collaboration
within your groups. And there were 5 steps
to it. Step 0: starting to use wave to help
bring together structured and unstructured
processes. Step 1: augment communications
using those robots. Step 2: add gadgets, which
allow for structured visualizations of the
information. Step 3: use robots to then manage
the variety of waves you'll need in your process.
Step 4: start pulling in information from
your corporate systems, and then Step 5: integrate
with some external systems such as Salesforce
that we demonstrated. So again, as I said,
this was just supposed to be an example to
illustrate how it can be done. While we love
Mr. Release, and in fact Mr. Release is on
Open Source, so you'll be able to get the
source code, we'll add the link on the live
wave for it. So if you want to check it out,
or build your own variation on it, please
do, feel free. But what we're really interested
in is helping to, you guys to understand what
you could be doing with Wave, and with that
we'll go into some Q&A, and it looked like
there was a number of questions already to
answer some questions you guys might have.
[Silence]
All right, so are there any questions from
the audience? Yes.
>>Person from audience: [European accent].
Yes hello. Actually I have a question regarding
how Salesforce integrated waves. My first
question is, can you search all of the wave
which has been open for each lead that you
created on Salesforce?
>>Kris: At this point with this toolkit that
we've created and this example application
that we've shown, that isn't something that
we've done, but it's certainly something that
you'd be able to figure out using that toolkit.
>>Person from audience: OK. Because actually
the issue I can see so far, with Google Wave
you have all the wave in a single place. In
your application, all the waves are spread
out on your application, so what I fear is
that you've got some important information
that you can cross reference, and then you
need a search engine running to do so.
>>Greg: So one thing about embedded waves
is all of those waves that you are a participant
on will also show up in your inbox. So all
of the waves across, that you're on a variety
of pages in Salesforce, will still all show
up in your inbox together so if you don't
want to go back to those places to communicate,
you can communicate with them together in
your inbox.
>>Person from audience: Ah, makes sense. Thanks
>>Greg: Alright. Are there some questions
from the floor or should we do [pause]
>>Alan: One from the moderator
[Pause]
>>Alan: [reading]. So will Wave be released
to install on a local server within the enterprise,
not just as a federated server as it is now,
but in its entirety.
>>Greg: Ah yes. Um, so we are, as you probably
saw from the announcement, we are open sourcing
more and more of the code all the time. In
terms of when it's going to be totally finished,
we don't have a predicted date yet, but already,
and this is actually a good opportunity for
me to mention, that there are a number of
people demoing out in the developers sandbox
area, and some of them are working on their
own Wave servers. So if you want the whole
Wave experience as it looks today with the
client and with the Wave server that you can
run behind your own firewall, we're still
working towards that goal but we don't have
a specific date for when that will happen
yet.
>>Alan: Do you want to get Dan out?
[Inaudible question from audience]
>>Greg: Right, so we just, we did just open
source our editor, approximately 100,000 lines
of code, which is one of the largest portions
of our client, so we wanted to make that available
so people can start to work with that as well.
[Pause]
Do you have a question?
>>Person 2 in audience: I just saw the um,
for the robots the effectiveness of having
a web app that can talk directly to the robot
which can then initiate or make changes in
waves. I have a little bit of experience in
the gadgets, but not the robots, so with
the simple post that can initiate, is that
basically the way that you would, like the
standard by which you would update or notify
a robot. And then there was actually, where
it looked like the robot was actually sending
a post to a wave, and I guess I wasn't, I
didn't know that it worked like that, I just
needed some clarification about that.
>>Alan: Right, Yeah I did skirt over some
detail there. Um, so the wave does send a
post out to your robot but it's a JSON request,
a JSON-RPC request. We have a client library,
which you run inside your robot which interprets
that request and then delivers it to your
application by calling in on document changed
method, or an on participant added method,
so its of the highest semantic level. And
likewise you can manipulate the wavelet as
objects, and then the library packs all that
back up into a JSON packet to send back to
the robot.
>>Person 2 in audience: Oh Ok. Thanks a lot.
>>Greg: We'll take another question from the
moderator.
>>Alan: Ok. [Reading] Is there a Google Wave
app for android phones? I can't view the waves
on my 'droid. It keeps complaining about the
browser.
>>Greg: Ah yeah, so currently there actually
is an android compatible version of the Wave
client. But it's still quite slow. This is
one of the areas while we're out of preview
and now into labs, one of the things we need
to do before we actually launch is to have
a mobile client. If you are using android
with Froyo, performance is much better. But
it's still, you still might feel it's a little
slow. One of the things we've been talking
about over the course of the last two days
are the new API's that we're providing, they
would allow someone to access, to essentially
build an android client. And I believe there's
some folks out in the developers' sandbox
who are looking towards doing that. So right
now, there's not a fully,full-featured and
fast android client or iPhone client. But
we're working towards that. The one thing
if you want to try to wanna try to use it
with your android phone, when you go to Wave,
you're gonna get a splash screen telling you
that Wave is not compatible with your browser.
There's a thing that allows you to click through
on that, and just continue to try to use
it anyway, we just felt like we probably should
warn people about these things, so it's mostly
a warning you can click through if you want
to give it a try.
[Pause]
Questions from the floor?
>>Male audience member 1: Can you [inaudible]
browser and use an android [inaudible]
>>Greg: I'm sorry. The question?
>>Male audience member 1: [inaudible] browser
in android would make a difference?
>>Greg: So the question is, are there any
other Android browsers that would make a difference
in this. Um, you know to be honest, I don't
think we've tested all the android browsers,
so um, it could. That's' something we really
should test actually. Yeah we haven't tested
through all of them. All right, so the next
question: Is Google, is Wave going to be a
part of Google Apps? The answer is yes. Actually
no, the answer is, it already is as of yesterday.
So if you are trying to use, if you would
like to use Google Wave in your domain, you
can get Google Apps. It's available for Standard,
Premier and Education, so if you have, if
you already have a domain you can just go
into your control panel and turn it on. And
if you want to try using it for your domain
you can sign up for Google Apps and try using
it that way. Question.
>>Male audience member 2: [Heavy European
accent] Yes. Sorry. Can you pre-field a wave
from an API? Can you pre-field a wave from
an API? For instance, instead of creating
a blank wave, I would like to create a Pre-Field
wave image and then like, as I see in Salesforce
add people on it, you know directly create
something on the spot about a specific topic.
Is it possible?
>>Alan: Yes. In fact that's what we were showing
with the release wave and the component build
waves. There wasn't actually a lot of content
in there, but the robot inserts a gadget and
a title and a little bit of text and puts
that in there, and you can see the source
code and there'll be a link in the live wave.
>>Male audience member 2: But it is, what
you've shown is text within Wave. My question
is from, I will say, any kind of source that
shares RSS feed, can you for instance use
this RSS feed in order to create a wave?
>>Alan: Oh. Can you use an RSS Feed?
>>Male audience member 2: For example any
kind of source, an external source from Google
Wave could be integrated within a new blank
wave from an API, is it possible?
>>Alan: Yes. Yes. So what you need to do is,
the robot web app needs to make a call back
into Wave to say, "Create this wave, add this
content and then add these participants."
So exactly what calls you would make depends
on exactly what you're thinking of doing.
That's kind of what the um, when we we're
updating the component status from the test
status application, that's what it was doing
although it wasn't actually creating a Wave.
>>Male audience member 2: OK. And adding participants
to the wave like I've seen on Salesforce,
so you have, to know, each users who has already
a Google Wave account right, because in Salesforce
I guess not everyone has a Google Wave account.
So how you can you manage this case?
>>Greg: I'm sorry sir, the question was? Can
you repeat the question?
>>Male audience member 2: In Salesforce, I
don't think that all users in Salesforce have
Google wave accounts. And then you want to
create a wave with those people. How can you
manage the situation.
>>Kris: So Quentin here has an answer. He
is the one who built the toolkit Sales Force.
>>Quentin: [inaudible]
>> Kris: Can you use a mic too?
>>Greg: Do we have a, we could repeat what
Quentin says.
>> Kris: Maybe at the back of the isle there
>>Greg: Either that or you can cozy up, and
you can talk into my mic.
>> Quentin: Can you hear that? So in Salesforce,
it's pretty easy to create custom fields.
So all of the users that you saw that were
added to the wave, we had a custom field that
had a Google wave address. So by default it
will only add people onto the wave that have
wave addresses.
>> Male audience member 2: So they are automatically
created when we are added on a wave? And we
don't have an account for instance?
>> Quentin: So in the example here, a system
administrator or maybe even the user themselves,
would go and update their user profile. One
of
the fields they can add is first name, last
name, wave address, so on and so forth. So
the toolkit will go and look and see, can
I up add this participant to the wave, i.e.,
do they have a wave address? If they do, add
them in automatically. And then through the
active robot API will actually do an add participant,
which is the API method call that will add
that user using the wave address.
>> Male audience member 2: Ok. And can you
create accounts on the spot, if it is necessary?
>>Greg: So this is something, that if you
are using Google apps, specifically. Google
Apps does come with, I believe with Premier,
there is an API that allows you to create
accounts on the fly. So you could do that
if you had a Google Apps domain with wave
enabled. The other thing that we should just
mention is, for those waves that are embedded,
if you don't happen to have a Google wave
account, you can still see it. Essentially
anyone can see the wave if they can get access
to that page, but you can't interact with
it unless you have an account. So you can
embed it there, everyone who's on that specific
record can see the wave. Then you could use
Google Apps API's to generate a new user to
associate it with the current user in your
domain. If that all makes sense.
>> Male audience member 2: Make sense. Thanks.
>> Greg: Absolutely, thanks. Ah, next question
from the moderator.
>> Alan: How integrated will Wave be with
the current product set, and vice versa?
>>Greg: I'm assuming the current product set
is the current Google Apps product set. This
is something that we are working on constantly
to bring together more of the products between
Wave, and the other products in Google Apps.
I don't have unfortunately any specific timelines,
as too when any of these things will be done.
But we certainly are talking to all the other
teams within Google Apps, to bring some of
these things together more closely. Um, one
there already is, is if you use Google spreadsheets,
there is an extension that you can use to
embed a Google spreadsheet into a wave. So
that's sort of one type of integration. The
Google spreadsheet.
[Inaudible Background comment]
>> Greg: Ah. Soon there will be an extension
to integrate Google spreadsheets into Wave.
So that's one type. The other type of integration
to do is to allow you to export data from
a wave into something else such as Google
Docs, or something like that. So those are
some of the types of things we are working
on. Other questions? In the audience. Yes.
>> Male audience member 3: What approaches
did you use in Sales Force to change the culture
to adopt Google Wave?
>> Greg: Just to repeat the question, what
approaches did you use in Sales Force to change
the culture to adopt Google Wave?
>> Kris: Well this was an example application,
so it's not to say that the employees of Salesforce
are making use of this yet. I think that it
will definitely enrich everybody's collaborative
capabilities. If I were to throw out some
suggestions on how you could entice them to
do it? I think one would be just to put it
in front of them, right? Have a certain pilot
group that starts professing how it's changed
their lives. That would be really helpful.
That's one of the tactics we've taken with
chatter. So we've rolled it out to 500 beta
customers, and sometimes it started with just
small pilot groups, and it's gone sort of
viral within the enterprise from there. So
I would recommend that as a first step.
>>Greg: And this is something that we, with
all of the business we've talked to, the way
they really get started is pretty much precisely
that. Choose a small project, have the people
on that project get started on it. Because
then you learn a lot about sort of how your
organization works. What are the cultural
norms and etiquette in your organization that
have already formed, and then build on top
of those, rather than try to jam a solution
in and change everybody immediately. [Pause]
Ah, next question.
>>Alan: Will wave get an export function that
will export a wave to document in Google Doc's.
>> Greg: It is certainly something we are
thinking about and looking at. Although, again,
we don't have any specific dates.
>>Quentin: One quick additional comment that
I think will be helpful for folks. One thing
we shipped was the ability so that robots
don't have to be on Google App engine anymore.
And so we're rolling that out right now, and
that's going to be another thing for tailoring
in the enterprise.
>> Greg: I'm sorry, say again?
>> Quentin: Tailoring in the enterprise.
>> Greg: Yes exactly, yes, question.
>> Male audience member 4: Security monologues,
starting from 0, if I wanted to have a product
and add four developers under the [inaudible]
at the start, and then as it matured, then
I'd introduce it to people in the marketplace.
How do I keep everybody from seeing it? Do
I need a Google apps account? [inaudible]
>> Greg: So if I understand the question,
with the security model behind it, in terms
of, how can you sort of start something small
and then bring more and more people in as
the project is developing or as the design
is developing, or something of that sort?
So the way Google wave works right now, for
people who aren't as familiar with it, is
the list of participants at the top of the
wave, are the complete set of people who have
access to that wave. Now earlier when I mentioned
that you would be able to see an embedded
wave. That was specifically if you'd actually
added Public to that wave as a way to be able
to say everybody has access to the wave. So
we want to be, and this is one of these things
that we want to be excessively clear on, that
the only people who have access to that wave
are the people in the participant bar at the
top. Now there are groups up there, which
are additional people. And then there's groups,
and then there's public which means basically
that anyone can have access to it. So that's
the first step.
There's also are two types of access permissions
we have to Wave. One is Full Access. Which
means the person can do anything on the wave,
they can edit any of the blips, as we refer
to them, can delete blips, that sort of thing.
Then there is Read Only, which means the person
can see the wave, but they can't make any
changes to it. This is the kind of permission
model you would use to roll it out. Initially
you would have a small set of people who'd
be working together. You might add in a group,
so that they could see what was going on with
that wave, as read only. Meaning all of the
group can see the wave, but they can't change
the wave, they can't edit it, they can't do
anything to it, they can just see it. And
then sort of grow from there.
[Inaudible question from audience]
>> Greg: Were you talking about building an
extension? No, ok.
>> Greg: [laughs] Thanks Stef. Next question.
>>Male audience member 5: So yesterday at
the Go session they were talking about being
how you will be able write robots with Go
now. Does that mean that you're going to have
Go available in App Engine, or is that when
you're write your robots on an external box?
>> Greg: So that is writing Go code, not in
App Engine, so it's on an external system.
This is part of robots being available everywhere.
[Pause] Additional questions? Go for the moderator
again?
>> Alan: Any plans for a wave android app?
>> Greg: I think I answered that, but the
answer is, the direction we are taking with
that is specifically building a web based
version of our app for Android, that will
work with Android, not necessarily a native
Android app. So we are working on that, and
that's our plan. Next question. Ah yes.
>> Male audience member 6: We were talking
about using Wave with the enterprise. So what
kind of features for, like options for the
webmaster of the company to moderate the wave
in order to not let the user delete the wave
or something like that?
>> Greg: So one question was, if we are using
wave in the enterprise, what are some of the
feature we are planning to put into wave,
to really allow admins to get better control
over what their users are doing in the enterprise?
That sort of thing. So in the mid-term I would
say, one of the main things we really want
to allow administrators to do, is have robots
that are active on all the waves in the domain.
So this is something that we are looking at
doing, although again, we don't have a specific
timeline for it. The reason for that is, it
means that the administrator can write robots
to do whatever they feel like. So for instance,
if you were a company that was being sued,
and you had to keep some of the content that's
in waves. You could have a robot that basically
just makes sure that even if all the other
participants are removed from the wave, that
wave is never actually deleted. The way it
works right now is that if you remove everyone
from a wave, that wave is removed from our
servers within 60 days. But you could have
a robot to essentially say, you know that
sticks around permanently. We have talked
to people who are interested in making sure
that specific confidential information wasn't
put into waves, and you could have a robot
that would look for regular expressions, matching
specific patterns of confidential information,
and reverting any of those changes people
have tried to make in the wave. So our basic
approach is, we want to empower admins by
letting them use robots to do this sort of
thing. That being said, we are also building
some additional things that are going to be
absolutely necessary in the enterprise, such
as admins being able to get access to all
of the, all of the waves in their domain,
you know, for instance if people leave the
domain and you need access to clean up their
old data, those sorts of things. So we're
looking to build those kind of things right
now.
>>Alan: Will there be a set of tools or presentation
materials available to tech savvy users inside
a business for the purpose of converting co-workers
and bosses to Wave.
>>Greg: David Ellsdat of Chicago, Illinois,
that's a great question. Um, no I seriously,
we, absolutely. This is one of those things
were doing more of, to try to help people,
arm people with the tools they need to talk
to other people within their organization
about Wave and help educate them on Wave.
The case study about Deloitte that I mentioned
earlier is just one of these things to help
people understand in more detail. But we are
starting to put together more materials to
allow people to essentially sell Wave internally.
This is something we talked about yesterday
maybe a little bit, which is; because Wave
is a very flexible platform and product, and
protocol, what it means is that every organization
is going to use it slightly differently, so
rather than us making a lot of materials to
explain to everyone what Wave's doing, while
we're gonna do some of that, we really want
to empower the individual administrators or
the people who are sort of bringing Wave into
their organization to explain how to use their
processes. And so, some of the things that
we're looking at building are ways that you
can have, when you install an extension, to
be able to install, to save searches with
that extension, so you can help to tailor
the persons's client that's installing it,
installing that extension to help sort of
show them the things that would be interesting
to them. So we're really trying to build tools
to allow admins and sort of people bringing
it in to the organization to explain it to
their organization directly.
And same searches did ship excellent, that's
what I like to hear. Next question.
>>Male audience member 7: Hi. Um, at a certain
class of Enterprise App you have to start
thinking about things like globalization,
disability law, accommodating screen readers
and other things that are not mouse, or otherwise
oriented. Are you going to start building
out editors that allow apps to comply with
some of those things. If you're selling into
governments and they say is it accessible
to disabled people?
>>Greg: So this is something we're already
looking into. And one of the things that's
actually really interesting about it, is Wave
because of the extension of framework you
have in Wave, it actually has the potential
to do a lot of really interesting things,
such as if somebody was talking about using
Wave robots to automatically highlight words
and then speak them, as they, to help people
kind of, ah low vision users to read through
a wave. So there's extensions that can be
built but just at the core of the product,
we do need to do more work in the accessibility
realm. And we are working on that.
>>Male audience member 8: OK. Just for the
other people in the room, for just another
example of an integration between an enterprise
app and Wave. We're from Oracle and we've
built a similar integration into the Salesforce,
so Kudos to the Salesforce people, but come
by and take a look at that as well. 'Coz we
also think that Wave here is a very exciting
prospect for the future of applications. Thank
You.
>>Greg: And I'll definitely second that. Over
at the developers' sandbox there's a lot of
really interesting things that people have
built, from project management applications,
to time management applications, integrations
with Oracle, SAP, and Salesforce. So, there's
a lot of really interesting things over there
if you're thinking about using Wave in your
business, to ah, to sort of check that out.
>>Alan: Next question. Will Google develop
a feature that helps enterprise employees
to receive and send Google Apps mail from
Google Wave directly?
>>Greg: Ah yes, the email question, as we're
gonna refer to it probably forever. Um, so
we're looking at a variety of different ways
to integrate Wave and email. I think, we're
looking at some things of integrating wave
and Gmail to see what that could look like.
But also just Wave and email directly. Right
now you can get a notification from, um, from
wave to say that there's a new wave for you.
Fairly soon you'll be able to add just email
users to a wave, and then they'll be able
to get an email based on that wave. Um, so
we're sort of rolling out some of these things,
but again, we tend to roll them out as experiments
to see what works and what doesn't work. Because
it's, the interaction between Wave and email
is kind of a tricky little beast, and so we're
trying to make sure it's as smooth as possible.
[Pause] [Laughs] Alan, please ask the question.
>>Alan: Really? Is it that hard to get Wave
to work on the iPad?
>>Greg: Answer is yes apparently [laughs].
So we know why Wave doesn't work on the iPad,
we haven't fixed why Wave doesn't work on
the iPad. It turns out it is trickier than
you might imagine. We actually had tried it
on the emulator at one point, and it seemed
fine and it works on the iPhone, but it doesn't
work on the iPad, which made us very sad.
But it is something we're working on. [Pause]
Question.
>>Dan: Should I grab this next one?
>>Alan: Sure. When [pause]
>>Greg: Just add a Will
>>Alan: Ok, when will Google Wave federation
port be open on Wave.google.com instead of
Sandbox? Dan.
>>Dan: yes, so at this particular point we
don't have a timeframe for it. We are working
to do it as soon as we can. But the approach
we're taking here is there's more model changes
that we need to make to the wave model and
then we'll be able to open that port and that
why we're open sourcing the model. And so
this is part of that hundred thousand lines
that we're finishing on the open source that
Greg mentioned earlier. That's the base situation
there.
>>Greg: So the next one, ah, a question.
>>Male audience member 9: [French accent]
Yes, sorry. I would like to know if it was
possible to parse the text within a wave and
then to send it somewheres.
>>Greg: So I think the question is, is it
possible to parse text?
>>Male audience member 9: yeah
>>Greg: using wave robot and then send it
somewhere else?
>>Male audience member 9: Yeah right.
>>Greg: Depending on what you mean by parsed
text, absolutely. So one of the things that
Alan's robot that you saw did was it, well
actually both of them, so the chatter integration
did this as well, where they said at chatter,
then typed something then sent it into the
chatter feed. I think that was a great example
of that.
>>Male audience member 9: Is it possible to
imagine some kind of Add Sense system within
a wave?
>>>>Greg: I think it's possible to imagine
it. Um, it's ah, right now we're not heavily
focused on kind of modernization in terms
of trying to figure out how to incorporate
something like Add Sense into Wave. But we
certainly have thought about lots of ideas
in that area.
>>Male audience member 9: And is it possible
to call external API within widget, which
is designed for a Wave application?
>>Alan: So the question is, is it possible
to call the
>>Male audience member 9: Different API, for
instance other Google API or external API
from other application and to
>>Alan: Oh, from a gadget?
>> Male audience member 9: Yeah, yeah.
>>Alan: Yes, gadgets can make calls out to
other severs. If you go around to the Sandbox,
it was Travel With Me, and Hostel With Me
around the Sandbox. Those guys do a really
great job of grabbing information from all
different sources so you can see exactly where
you're going and what it looks like.
>> Male audience member 9: and display it
on a wave?
>>Alan: It's displayed right in the wave of
the gadget. It looks great.
>> Male audience member 9: Thanks
>>Greg: I guess we'll do one more question
from here, and there's one more question in
the audience, we'll take that and then we'll
wrap up. Yep.
>>Alan: Has the wave team made public a list
of organizational use cases with links to
white paper studies and other material discussing
wave collaboration in the work place?
>>Greg: Ah actually yes. So if you go to Wave.google.com/
I believe it's /about.html. Somewhere thereabouts,
you'll be able to, we actually do have a list
of examples of how people are using wave,
as well as the web paper that we talked about
with Deloitte. One of the things we do a lot
of times is when we find out and hear about
really good use cases we write up a blog post,
[cough] excuse me, about them and post them
to our blog. And so one of the things that
does is it links out both to our blog posts
where people have talked about organizations
using wave, as well as link to other organization
blog posts that they've made talking about
using Wave.
[inaudible question from audience]
>>Greg: That's a great point. So the good
team in VMware have offered to write a case
study in their usage of Wave as they built
the project that they worked on that we announced
yesterday. So that's something that we'll
definitely look into to putting up there as
well. Unless there's any other last questions,
thank you so much for coming today. A couple
of last pitches I wanna make are: please stay
in your seats and hear about the new Google
Wave Media APIs, which is the next session
in this room. If you're interested please
stick around for that. Check out the Sandbox,
there's a lot of really interesting and cool
stuff going on there. And try out Wave in
your organization. Thanks.
[Applause]
