CARRIE ROWE: Yeah, but I think they won't cut
to me until my app.
ALI ASHFAR: So not even when I introduce you?
STEVE BAZYL: Yeah.
We have the single of her right now, so if you introduce
her we can cut to that.
ALI ASHFAR: OK.
MALE SPEAKER: So let's see.
MALE SPEAKER: Cut this?
STEVE BAZYL: And feel free if I'm going to add
color or ask questions.
ALI ASHFAR: Stupidest goddamn Hangout I've ever seen.
[LAUGHTER]
ALI ASHFAR: Are we ready for some football?
Goddamn, that's dumb.
STEVE BAZYL: That'd be great.
Just like, hey, we've got a mouthful of chew.
Wearing our white gaiters.
CARRIE ROWE: How much free storage do users get on Drive?
ALI ASHFAR: Internet.
STEVE BAZYL: 15.
ALI ASHFAR: Yeah, 15.
STEVE BAZYL: 15 now.
CARRIE ROWE: 15 gigabytes?
STEVE BAZYL: Well, it's 15 shared amongst Gmail and.
ALI ASHFAR: Plus photos?
STEVE BAZYL: Yes.
ALI ASHFAR: I always forget the other one.
CARRIE ROWE: That's something that we
announced last week, right?
STEVE BAZYL: Yeah.
MALE SPEAKER: Right.
So this was the outro, I believe.
And when I hit it, I got a shot of
Carrie for some reason.
And then it went green.
MALE SPEAKER: I see.
STEVE BAZYL: [INAUDIBLE]
underneath.
ALI ASHFAR: It's really useful for like 95% of cases, and
then every now and then you need to do something, and then
it's like what.
CARRIE ROWE: App of the week.
You know what would make the GDL more fun?
Having a dog.
In the GDL.
STEVE BAZYL: Go bring him down.
CARRIE ROWE: We could just like put him on the table.
Cooper, sit.
STEVE BAZYL: I'll bring my cat.
ALI ASHFAR: You would have to deal with me like sneezing
constantly during the--
CARRIE ROWE: That's right.
Because of your allergy.
ALI ASHFAR: Exactly.
CARRIE ROWE: Sorry we could [INAUDIBLE].
STEVE BAZYL: I'll start bringing my cats to work.
ALI ASHFAR: No.
CARRIE ROWE: I would like that, actually.
I like cats.
ALI ASHFAR: Don't do that.
See, cats are the only thing I like less than dogs.
Goldfish, that's a pet.
CARRIE ROWE: How do you feel about
animals, pets in general?
ALI ASHFAR: So my favorite pet, the one I had the closest
relationship to, was a guinea pig.
CARRIE ROWE: Oh yeah.
ALI ASHFAR: Have you ever had guinea pigs?
I've had guinea pigs since--
CARRIE ROWE: My sisters both had guinea pigs.
ALI ASHFAR: I had like loads.
And they were like really intelligent animals.
CARRIE ROWE: Yeah, they're really smart.
ALI ASHFAR: Really smart.
Really sociable.
Really cool.
CARRIE ROWE: So your patronus would be a guinea pig?
ALI ASHFAR: My patronus would be--
STEVE BAZYL: At I/O, where we talked about how to get your
app noticed in Drive.
And during that talk, we went over a few things.
A lot of this talking about the opportunity behind Drive.
As well as a few tips for how your app can stand out among
all the apps that are integrated.
I don't want to repeat too much of that.
I want to go into a few things in a little bit more detail
that we didn't have time to go to during that talk.
But for those who haven't yet seen it, I would suggest later
on go and try to watch that session online.
You can find it on YouTube or linked to off
developers.google.com.
So there are a few things that I focused on during the talk
on how to get your app noticed that I
want to show in practice.
How this actually affects how an app appears to a user.
And to do that, I'm going to take a look at one of our
sample apps.
This is the Realtime Cube.
It's a demo app that we used when we launched
the Realtime API.
And it's a simple 3D cube puzzle game that you can play
with your friends.
So I want to show just a screenshot here of what the
application looks like when it's
presented to users in Drive.
And you can see here, it's a little bit hard to see.
And this really speaks to the first problem that this app
has, which is, as a user, if I see that I'm not really going
to be enticed by that.
It's a screenshot of the application, which, by itself,
isn't very interesting.
And it's really hard to make out what the app is doing
other than the cube.
It's the only thing that's really
prominent in that image.
But the text is far, far, far too small to really read
anything about.
And likewise, if we were to actually take a look at this
for real, let's take a look at the set of apps.
And you can see here, all the different apps here have
fairly bright, fairly large fonts.
Colorful, very enticing images that really
capture people's attention.
So actually, I want to go back here.
And here's the app.
And actually, that's the only thing that this app shows us
is just the screenshot.
So not a great sales job at really enticing us to use the
application.
And, of course, there's the text of this and everything.
Which, in this particular case, isn't that bad.
So I'm not going to spend a lot of time looking at that.
But do realize that this stuff is very important.
And as a user, there's really no reason why I would ever
want to install this application just based off
that screenshot.
I really want something more from that.
Kind of even a little bit more surprising, is that screenshot
probably shouldn't have ever been approved
in the first place.
This really violates just about every guideline that we
have for what these tiles are supposed to be.
And you can see these in the Chrome Web Store
Documentation.
But the text is unreadable.
There's far too much white space.
Just everything about it just fails on the criteria.
And this is--
not to fault the person who did this.
It is just a demo app.
But it's a good teaching lesson as well.
ALI ASHFAR: Was it you?
STEVE BAZYL: No, it was not me.
I'm not going to name names, but--
ALI ASHFAR: I think it was you.
STEVE BAZYL: No.
[LAUGHS]
So I took a stab at kind of redesigning this.
Fair warning, I am not a UI designer.
But I do have reasonable skill with Photoshop.
Good enough to take a stock photo or stock image and throw
on some text.
And came up with something like this.
So we have something where the text is much more prominent.
There's not a lot of it.
Just the app name.
Very, very short description of what this does.
We're playing.
We're playing with people.
It's collaborative.
And some bright, colorful cubes
that catch your attention.
Of course, if this were a real app, I would want to hire an
actual graphics designer to do this and not just whip
together something in five minutes with a Google search.
But it's a step up.
And it gives you kind of an idea, not a huge time
investment can actually make a big difference in
how that app appears.
And now when I'm looking at this, it's actually something
that stands out.
It's bright.
Catches my attention.
And then I'm more inclined to go in and check out
what that app does.
So one of the other things that we talked about at the
I/O talk was how the data that the app creates in Drive
appears to users.
And one of the things that, for this application in
particular, because it's a very visual application.
Actually, let's just go over and just show you
what the app does.
For those who haven't played with it, just we can go here
and rotate cubes around.
And of course, if we had multiple people in we'd see
our collaborators up in the corner.
We would see their moves if they were
rotating the cube as well.
It's pretty fun stuff if you like solving puzzles.
And you can sit there and torture your friends or just
screw with each other by undoing their moves.
You can have a lot of fun with it.
But anyways, so that's it.
So as you can see, there's not a lot of text.
There's really not much I can search on.
It's purely visual.
And when we look at how this app appears, ignoring this one
up in the top left, but all we see when we're looking at the
grid view for our Drive is just the icon for the app.
And it doesn't really tell me much about
that particular game.
Even if I go and click in here in the light box where I get
all these really nice previews, here
I just get no preview.
So not really useful.
If I have five or six puzzles that I happen to be working
on, and I want to go and find that particular one that I
just, oh, you know what?
I think I figured out what the moves are.
I'm going have to go and click through each one in
order to find it.
So one of the things you can do to make this a lot easier
for users is provide a rendering of that content.
So I actually kind of mocked it up a little bit earlier.
But in this case, using the API.
Just uploading a screenshot of the API.
Now we can actually see the state of that cube where we
last left it off.
And also in here you can see, in our thumbnail view, we can
actually see that same image here as well.
So again, if we have five or six games, I could actually
quickly recognize what that particular game is just by
glancing at the screen here.
To do that it's really easy.
ALI ASHFAR: So we have thumbnails there.
But as you showed us, the thumbnail also appears in the
preview for the--
STEVE BAZYL: Yeah.
In fact, I would actually probably rename what that
thumbnail is.
Because the rules for how you can create thumbnails are
actually pretty generous in terms of size.
You can go up to 2 megabytes of standard image formats, PNG
is preferred.
And you can actually do a fairly high resolution image
in just that 2 megabytes.
It's pretty easy to do.
The only thing you have to do is just Base64 encode
it and update it.
So I actually have here in the API's console, this is how I
was able to do it for that particular image or that
particular file.
Just use the API's console to inject it.
Really all we had to do was set thumbnail.
You can actually zoom in a little bit here.
Set the MIME type and provide the image.
You're only seeing this cut off a little bit here.
But you can see there are requests.
We have a really, really, really long Base64.
Hey, I just lost my [INAUDIBLE] here.
Let's go back.
Oh well, I just lost it.
But basically it's a Base64-encoded image.
It does need to be web safe Base64,
which is the only catch.
So you do have a choice.
The only difference is just how some of the symbols are
encoded like pluses and slashes and equal signs.
But it's pretty easy to go.
If you don't have a web safe Base64 encoder, you can just
do a quick regex and fix that.
But pretty easy to inject that image.
Once you do that, you get all the cool stuff.
You get the grid view.
You get the preview images as well.
You can do the same thing for indexable text too.
If this app had text, maybe we would even want to do some
synthetic text in terms of maybe the game state.
Is the puzzle solved or is not solved?
We could even index the move list, all the rotations.
Something that would be interesting.
So pretty easy to do.
And I want to take a little side track because
I had to fake this.
And I planned on actually having this be a live demo.
And it turns out there's some interesting issues with
capturing images of CSS 3D transforms that make it
impossible.
So things like PhantomJS, which a lot of people use for
screenshots, don't actually support those transforms.
So I had to fake it here.
But there's a couple issues with this that I think are
worth talking about with relation to certain apps.
So the Realtime API.
When you have an app that uses it, you don't have an explicit
save point.
So it's not always clear what you should actually be
snapshotting in terms of the image.
In this case, I did this manually.
I said, this is the point that I want to save it.
But if I have a user who's making a serious move and
they're playing for 5 or 10 minutes, do you wait for them
to close their browser?
What happens if you have multiple people in there if
one person closes and the other person continues?
So the idea is you don't want to necessarily update the
image too often.
Basically you're just burning through a quota.
It's wasteful.
And given that these are really just snapshots at a
point in time to help users recognize it, you don't
necessarily need to be super accurate in terms of making
sure that that preview is a perfect representation of what
the content of the file is at any point in time.
So you can do things a little bit lazily.
Defer things.
And for something like the Realtime API, a simple trick
you can do, assuming that we had a way to render this on
the server, would be any time that the file is changed,
queue up some sort of event.
Send this in the server, send a time stamp.
And then after some period of time, 5, 10, 15 minutes later,
then you can just snapshot that file.
And then if more collaborators come along, you may want to
coalesce all those different modifications into one event.
That way you're not burning through your quota too quickly
in order to keep this stuff up to date.
Really it's important, but you don't want to necessarily kill
yourself or burn through quota too quickly in order to keep
this information up to date.
Same thing for indexable text.
You can do the same thing where you don't want to
reindex on every word that somebody's typing.
Just do it at some reasonable interval after there's a
little bit of idleness.
You know, because honestly, people aren't going to go back
and look for that file immediately as soon as they're
done editing.
They're probably going to come back the next day, the next
week, or so on.
So just put in a little delay and you really should be fine.
But anyway, I had planned on making this all really nice
and interactive until I ran into issues with capturing the
actual image.
But for most other applications, if you're using
Canvas or something like that, it's really not that
difficult to do.
So those were just the two tricks.
There are some things this app does right, that I want to
point out as well.
One of the things I mentioned in the I/O talk was the
importance of the OAuth screen.
The importance of choosing the right scopes.
This app is written to use the fewest amount of permissions
that it needs in order to work.
One of that things that was a follow-up question during that
talk was, if you had any stats about what the impact of
choosing the right or wrong scope is.
And I actually did a little bit of research into that.
And it turns out that the approval rates for apps that
use a very restrictive scope, like drive.file, is about 10%
better, actually a little over 10% better than apps that
request access to the user's entire drive.
And so users actually do pay attention to this stuff.
And it's important that when you're building your app that
you don't necessarily choose the scope that's easiest, but
you choose the one that's right and reflective of what
your app actually needs to do.
So that's just some examples of how those tips from the
talk come into practice and how they affect
how your app appears.
We weren't able to show a lot of this in the talk, but
hopefully this gives you a little bit more context for
how these changes can impact how your app appears.
And if you haven't seen the talk, go ahead and watch it.
And of course, check back on the community and we'll
happily have discussions about any other follow-up questions
that you might have.
So that's it.
I'm going to turn it back to Ali.
ALI ASHFAR: OK, thanks, Steve.
That's really interesting.
So remember that and make your apps appear useful and
welcoming to users.
Give them the right images.
Give them the right indexable text, give them the right
thumbnails, and people will use your application.
That make sense, I think.
And this is how to do it.
So thanks very much, Steve.
And now we'll be going to our regular weekly installment of
Carrie's App of the Week.
CARRIE ROWE: Thanks, Ali.
So today I wanted to talk about a photo app
called Loupe Collage.
And photos are really prominent
in the Drive ecosystem.
I think we announced last week across Drive and some of our
other platforms users get 15 gigabytes of shared storage.
So photos are a great way for users to take advantage of all
this storage.
So let's take a look at Loupe Collage.
So I've already installed the app.
And you can see right here in the Create interface that
we've given a lot of good real estate to apps.
So right here let's select Loupe Collage.
And once this loads, you'll see that in the next step I
can easily add photos.
And Loupe has done a great job of integrating with lots of
different photo platforms, including Google Drive.
So when I go to Google Drive, all of my photos are ready for
me to select to add to this collage.
And let's select a few.
I'm a huge fan of animals, as you can tell.
So we'll add the photos.
And there's a lot of really fun, creative art projects
that you can do with these photos.
So let's select a coffee mug.
And I can, once it's created, I can have fun watching all
the animation.
So once it's created, I can save this.
Let's call it coffee mug.
And then once it's saved, I can really easily save it back
to my Drive folder.
And then when I go to Drive, I will be able to see this right
here in my Drive.
And so I can open it up and here it is.
And so this is a really great integration with Drive.
Now, Steve just talked about how important it is to get
your app noticed inside of Drive.
And I wanted to just mention one other thing that Loupe
could have done to have even more visibility.
So a lot of users will view their photos in this nice
shadow box right here.
They can swipe through them.
One other access point is right here
in this Open button.
So when I have my photo loaded, I can choose to open
it with certain apps.
And so right here if I click Open, I can see all the
connected apps I have.
So this is a really easy integration for Loupe.
They can add it right here.
So any photos that I have when I'm viewing them, I can access
them directly from the Loupe application by clicking here.
So this is a really great integration of a photo app
with Google Drive.
We love to see developers creating apps for photos.
And we look forward to seeing what else you guys can create.
Back to you guys.
ALI ASHFAR: Thanks, Carrie.
So yeah, I absolutely love that app.
Have you used that one?
STEVE BAZYL: Yeah, actually I worked with them when they
were first doing it.
It's a really fun app to play with.
I have created my fair share of collages with it.
ALI ASHFAR: And of course, once your photos are in Drive
you can share them.
You can comment on them.
You can do all the cool things that Drive offers.
I keep beating the drum, but this is the place where the
files should be.
This is where you should put them, in Drive.
So thanks very much for that, Carrie.
And hopefully we can get in touch with Loupe
and ask them to--
STEVE BAZYL: Yeah, exactly.
That's something that should be a pretty easy
fix for them to do.
And especially for things like opening multiple files and
everything.
That support is there in the API.
Which may not have been there when they first did the
integration, but it's about time to go back and revisit.
ALI ASHFAR: OK.
So thanks, everyone.
Thanks for joining us.
Join us again, and over the next few weeks
we're pretty excited.
We're launching some stuff we've been working on for
quite a long time.
So please stay tuned to find out what that all is.
And hopefully we'll see you next time.
From Steve and from Carrie and myself, goodbye.
CARRIE ROWE: Bye.