Tip:
Highlight text to annotate it
X
VAN RIPER: Hi, everyone.
This is Van Riper.
I'm the Google Developer Groups program
manager here at Google.
And this is our second edition of Google
Developers Tech Roundup.
And here with me, my co-host Stephanie.
STEPHANIE LIU: Hi, everyone.
My name is Stephanie Liu.
I also work on the Developer Relations team, leading the
Global Programs team.
VAN RIPER: And Adriana?
ADRIANA CERUNDOLO: Hi, everybody.
I'm Adriana Cerundolo, the community manager for Google
Developer Groups.
VAN RIPER: And our special guest today is Fred.
FRED SAUER: Hi, Van.
Thanks for having me, Stephanie, Adriana.
I'm a developer advocate on the Google
Cloud Platform team.
I'm really excited to be here today.
And I have actually a little demo in store for later, if
you let me.
VAN RIPER: Oh, definitely.
So we thought we'd start off today, given that we're in the
summer blockbuster season, and we were talking about movies.
And we started talking about our favorite hacker movies.
So we thought we'd go around and talk about what our
favorite hacker movies were.
So how about you, Stephanie?
STEPHANIE LIU: OK, it's the question of the day.
OK, I won't say that this is one of my favorites, but it's
definitely the one that has stuck in my mind the most.
I think it happened during my formative years.
I saw thin in high school before perhaps some more
iconic hacker movies.
But it was "Antitrust." I don't know if you guys
remember Ryan Phillippe.
A young Ryan Phillippe--
ADRIANA CERUNDOLO: Cannot go wrong.
STEPHANIE LIU: --as a computer *** and like fake Bill Gates
and this whole thing.
And it was action packed.
There was *** and intrigue.
And also I think it was the first time I
saw a command prompt.
It was like a Unix command prompt--
he's like hacking the system from like a daycare or
something--
on a movie screen.
And there's also a nice open source message at the end.
So I thought it was a fun, again, kind of
a mainstream computer--
the protagonist being a computer program.
VAN RIPER: Cool.
What about you, Adriana?
ADRIANA CERUNDOLO: I really love action movies and great
special effects.
So I'm going to have to say "Tron." So I don't know if
that constitutes technically the hacker movie.
I feel like it is.
But I totally enjoyed it.
And Jeff Bridges is just an awesome actor, so you can
never can go wrong with him.
FRED SAUER: So the remake, not the original "Tron."
ADRIANA CERUNDOLO: It's not a remake.
It's a sequel.
STEPHANIE LIU: Well--.
FRED SAUER: Sequel.
ADRIANA CERUNDOLO: Yes, the sequel.
I guess I have to go back in time and actually watch the
original first.
So I'll put that on my list of things to do this summer.
VAN RIPER: So how about you, Fred?
FRED SAUER: It's going to have to be "War Games."
VAN RIPER: Great choice.
FRED SAUER: It's a real easy one, because it really brings
kind of the computer hacker culture-- the original meaning
of hacker is not someone necessarily trying to break
systems, but someone who is sort of a geek and fiddles
with stuff.
And yeah, they know how it works.
But he sort of inadvertently uncovers a government program,
and ends up breaking into the wrong computer.
And everything's very physical.
There's a dial up modem.
You hear the squelch of the dial up.
He has these 5/4 inch floppy disks the puts
in and loads programs.
There's a number of things in the movie that aren't quite
real or possible, but that's kind of OK.
It's on that edge between Hollywood and reality.
But it's a lot of fun.
It talks about back doors.
And I think it really introduced a bunch of computer
concepts to the general audience.
And I've watched it many times.
So definitely number one movie.
VAN RIPER: Yeah, that's
definitely one of my favorites.
I guess I'll throw another one in there.
I also liked "Sneakers." One of the things in that one is I
thought it, at least, it kind of portrays them as not just
these nerdy geeks, at least the head guy, who's played by
Robert Redford as kind of this cool guy.
ADRIANA CERUNDOLO: Cool guy.
VAN RIPER: Kind of thing.
And actually, the plot of that, there's some things
about it that, if you think about it in the context of
current events around the NSA and what was going on in that
one, it's kind of a freaky story.
[INAUDIBLE]
paralleled some of the fictitious stuff that's been
going on lately.
Anyway.
STEPHANIE LIU: So actually, I ended up watching "Sneakers"--
I only watched it the first time within the
last five or six years.
And I recognized--
there's a lot of iconic San Francisco stuff in there,
including the Google office in SF.
So they do the handoff in the Hills Plaza building, which is
where we are now.
VAN RIPER: Awesome.
STEPHANIE LIU: Before Google existed or whatever.
VAN RIPER: What a good connection.
Awesome.
So we'd love to hear from all of you what your favorite
movies are.
We're on Google+.
You can just shout out at us with the hashtag gdtech and
hashtag quoteoftheday, and share with us
your favorite movies.
Actually, our producer for today's show, Brian Grady in
the back here, was telling us that he believes the first
ever hacker movie was "Hot Millions" in 1968.
So if you know of an earlier movie than that, let us know.
So with that, I think we'd like to move on
to a few news items.
I want to preface this by saying, obviously, this is not
a comprehensive news report.
In fact, even inside of Google, it's hard for us to
keep track of everything that's happening.
And that's why we thought it would be important with this
show to highlight for you a few interesting things that we
think you may have missed in all the great happenings going
on here from Google.
So with that, we'll start with an update from Stephanie.
STEPHANIE LIU: Well, I just wanted to talk about, I've
been poking around a little bit with Polymer.
So for those of you who haven't seen it, it's in a
pre-alpha release.
So people who like living on the edge.
Definitely check it out.
It's interesting if you just want to see
where the web is going.
It's a whole bunch of libraries built on top of Web
Components and trying to evangelize the use of the
custom element and making program more declarative.
Again, trying to make web programming more easier.
Making life easier for developers.
So again, if you like living on the edge, check it out.
It's in pre-alpha.
They're looking for feedback.
Give it a look.
VAN RIPER: Sounds good.
And I think you had something to share as well.
ADRIANA CERUNDOLO: Yeah.
I just want to share the BigQuery updates I think are
really important.
BigQuery is great for processing
large amounts of data.
So this is really important for anyone
who need to do that.
But for new features, you can output
larger results per query.
So before, you couldn't do that.
So now, if you have a lot of data, get ready for some
really large tables.
And then also we can now get more out of our data.
So we can have new ways to rank and traverse results and
explore distributions and percentiles.
So it's really good to have these new features to more
effectively just get more information and analysis of
data that we're collecting.
So one great example of this actually is the Data Sensing
project that we did at Google I/O this year.
So in the last episode of the Roundup, we actually had Kim
Cameron from BigQuery team come in.
And she did a little deep dive on what the Data Sensing
project was all about.
Go check that out if you haven't seen that already.
But just the essence of that, in short, is that we collected
some great environmental data at Moscone West from I/O and
got some analysis on that using BigQuery.
So for example, we got the temperature and air quality
throughout different parts of the building.
We were able to get the median temperature over each room.
And then we were also able to rank, for example, the rooms
by their coldest median temp.
So it's just some fun stuff that we were able
to get using that.
So also just back to the updates, just kind of icing on
the cake, too, is that there is now query caching.
So BigQuery now remembers the values that you previously
calculated.
It's just going to make the whole process
a lot easier, simpler.
So great news for all you big data crunchers out there.
VAN RIPER: Yeah.
So also in the cloud space, like the big data work, we
recently had some Android related announcements.
So Android Studio now has integrated support for
building your backend applications using Google App
Engine for the backend.
And this is actually another thing that you'd find on the
Google Cloud Platform blog, as well as we had just announced
with the BigQuery.
What's really nice about this is you can manage your
application backend, frontend all in one place in Android
Studio now.
Especially if you're a Java developer, and your Java cloud
backend, and take advantage of the Google Cloud Messaging
that's built in.
You will need, on your account, to actually set up
enabling Google Cloud Messaging and
also get an API key.
But once you've done that, Android Studio takes care of
everything.
Pulls down all the dependencies.
The App Engine project is done using Apache Maven.
So it'll pull all your App Engine dependencies down and
actually pulls down even the dependencies for Google Cloud
Messaging Support into your Android App.
So you'll get that automatically, that
synchronization across all platforms.
So it's a really exciting update.
Makes it even easier for the experienced developer to work
all in one integrated environment.
And if you're actually a new developer to App Engine,
Fred's actually going to talk to us about something that
makes it really easy for you to get started.
So I'm going to turn it over to Fred now.
FRED SAUER: OK.
You talked about the Google Cloud Platform blog.
And actually, just about a week and a half or so ago, we
did a blog post about the Google Cloud Playground, which
is something that I've been working on in my 20% time for
some time now.
And maybe before I show that you, we should talk a little
bit about the background of how we kind of got there.
I've been working on App Engine for the last four and a
half years or so.
And one sort of consistent piece of feedback I get from
developers who are on the platform is, we really like
the platform.
We like the productivity.
It's just so nice not to have to manage machines.
People, once they buy into or start using a managed
platform, they really don't want to go back into doing
things themselves.
At the same time, when I talk to new developers, I find that
there's a big kind of hurdle to that first Hello World
program, if you will, where you're trying to get your
environment set up, these new tools.
And you just want to figure out how to run the thing
end-to-end, and you get those two simple
words on the screen--
Hello World.
And so taking a step back, looking at these two different
stories, it really feels like we're sort of asking
developers to make an investment in our platform.
Download this stuff.
Get it installed.
Deal with the software conflicts,
administrative rights.
Do all that stuff.
And maybe that takes you half an hour.
Maybe you spend four or five hours on it, because there's
something weird going on with your machine.
So we're asking you to invest first.
And then we're telling you, surely you'll fall in love.
And it seems a little bit backwards to do it that way.
I feel like maybe you should go on a date first or you
should have a chance to fall in love before you make that
commitment, net investment.
So with that in mind, I thought, well, how can I bring
dating to the Cloud platform and particularly to--
let's start with App Engine, because I've been working
there a long time.
So right here on this Chrome Book, I've brought up the App
Engine documentation, the Getting Started Guide.
And along with that blog post, we launched these little green
buttons onto the Getting Started
documentation for Python.
And this is sort of the Try Me Out button.
The let's go on a date, a quick 60-second date.
ADRIANA CERUNDOLO: [INAUDIBLE].
FRED SAUER: Let's go have a root beer float.
Let's go together.
STEPHANIE LIU: Fred is building dating applications.
[LAUGHTER]
FRED SAUER: And the button's green, so let's click on that.
And what it does, it takes you right into the Cloud
Playground here, loads up the same source code.
And let me just enlarge that a bit for you.
And this is our Hello World sample code that
we tell you to use.
And with one click, I can see the output, and I can see
Hello World right there.
Now that was a lot easier than configuring a machine and
downloading software, and am I doing it right, and watching a
bunch of YouTube videos.
And could go on and on about how long it takes to get here.
And I get this realtime experience.
So let's change the code.
Let's say, Hello Tech Roundup.
Oh, and we need a hashtag.
So gdtech, right?
VAN RIPER: Or we'll put a little yee haa.
[LAUGHTER]
VAN RIPER: Sorry.
FRED SAUER: We could.
We could.
If only we could add sound effects.
That's a future request right there.
ADRIANA CERUNDOLO: Let's just put that in the
queue for next time.
FRED SAUER: Very good.
So we've done Hello World, and now you want to take it maybe
a step further.
The drink's going well, and now let's order an appetizer
or something else.
ADRIANA CERUNDOLO: Dinner maybe, you know?
FRED SAUER: Maybe a full dinner.
Let's go back to the main screen.
So I just clicked on the Cloud Playground there.
And I'm going to take our next App, which is the Guest Book.
And we pop into that project, and we have a look there.
Let's just run it and see what it looks like.
And there's our Guest Book.
Pretty simple application.
If you walk through our documentation, and you go
through the different steps, at the end, you're Hello World
is transformed into a Guest Book.
So this is exactly kind of the Getting Started experience,
but a little bit accelerated for this speed dating
experience.
So let's sign our Guest Book.
I'm the first visitor here.
And so I'm going to sign it with my name.
This is actually persisting this data into the App Engine
Data Store, zero configuration.
App Engine is replicating this data to multiple data centers.
If a meteor comes down and hits one of the data centers,
my app still keeps running.
It's kind of amazing technology, and it's all
behind this little green button.
VAN RIPER: The Easy button.
FRED SAUER: The Easy button.
So that's it.
It's a really simple demo.
But you can see how you can play around with
the real APIs here.
You can try out URL Fetch and connect to another service on
the internet.
You can try the users API, see what Auth looks like.
You can play with the App Engine Data Store.
You can even configure Cloud SQL to play with
a relational database.
There's just any number of APIs that you
can use on App Engine.
You can try them out here.
And then once you're really invested and you
say, you know what?
This is a great experience.
I would like to take it up a level.
I want to download the tools, and I want to
be productive offline.
That's still there.
VAN RIPER: Sounds great.
Did you have some questions?
ADRIANA CERUNDOLO: I do, actually.
So what will be the next languages that will be
available then after Python?
FRED SAUER: That's a very good question.
That's kind of a persistent question on
the App Engine team.
We just launched the PHP runtime.
We'd had already have an experimental Go runtime.
In production, we have Python 2.7 and Java runtimes.
So that's a pretty good question.
The Cloud Playground I started with Python 2.7, because that
was just the easiest thing to do.
Python is a scripted language where you can
evaluate source code.
So it's really easy to kind of create this Playground
experience, because I can take your source code and just pass
it to an eval function, and viola, it's there.
With compile languages like Java and Go, there's obviously
a compile step.
And so that requires a little bit more work.
And I've been sort of looking at that since our blog post
went out and thinking maybe I can use Compute Engine to
combine with App Engine and kind of do this compile step.
But what was interesting is the blog post went out, and
that same day, I had two or three people walk into my
office and say, how do we get my language going?
I had the Go there, the Java guy there.
I even had Seth, the Dart guy there.
He's like, can I run Dart?
Maybe so.
Let's see what we can do in the Playground.
With a Compute Engine instance, it's a
regular Linux VM.
You can run any software you want.
You can compile it.
Maybe we can create some really cool experiences.
I'm also looking for feedback from the community.
Like what's the most interesting thing to do next?
What would make people the most productive?
VAN RIPER: So Google Compute Engine is one of the building
blocks that makes this all possible?
FRED SAUER: Currently this is just App Engine.
But if I were to expand it and include Compute Engine, then
the capabilities really get expanded there.
And combining the two has a lot of benefits, because App
Engine allows this kind of managed platform.
Instances are scaled up automatically for you.
You don't have to worry about a lot of things.
And Compute Engine gives you this flexibility to run
arbitrary binary code.
So combining those two things, maybe together with some APIs
to allow you to deploy like a private version of Playground
so that you can play around with just your source code,
it's all possible.
STEPHANIE LIU: So you've touched on the architecture,
like the backend architecture a little bit.
So one of the questions from the Google Moderator that we
sent out when we were staying in
Colorado was about AngularJS.
So do you want to talk a little bit about the frontend
of how you built this?
FRED SAUER: Yeah.
So the Cloud Playground right now is kind of a stack, a
two-layer cake, if you will.
A two-layer desert cake.
The bottom layer is this evaluation layer that just
takes your source code and executes it, and gives you the
results back.
And it's the part in this demo that displays this bottom
green box here.
That's where the output is.
And there's no real UI for it.
It's just running your code.
And that piece, in the Open Source Repository that was
called Mimic.
Because it's trying to mimic a real application environment,
doing some tricks.
On top of that, the top layer of the cake or the icing, is
this user interface.
And that's the Cloud Playground, everything that
you've seen in the demo.
And its an AngularJS app, because Angular's just really
easy for building web applications.
And one thing that I really like about Angular is that
when you view source--
and let's do that right here and actually let's grab the
project page.
Maybe the main page, the main HTML page.
So typically when you're building web applications, you
would have some sort of templating
language on the server.
And the server would take whatever code you've written
in some template-- maybe it's Django, maybe it's Jinja2,
maybe it's something else, GSPs--
translated to HTML, send it down to the browser, and the
browser would interpret it.
And so as a developer, you're always doing this mental math
or this mental transformation, where you're looking at the
template language and you're trying to imagine in your head
what the HTML is going to look like.
And then what the browser is going to do with that HTML and
then what the UI is going to look like.
And so you're sort of always one level removed from the
actual HTML that you're trying to build, which
is the native language.
So if you look at an Angular HTML page and you look at the
source code, you can actually read it.
It is the template itself.
So right here, I just search for this Angular expression
called ng-repeat, which tells it to repeat certain elements.
So you see here I have a heading, which is My Projects.
And then I have this table with a
table row that's repeated.
And it's repeated once for every project that I have.
So what does that look like?
That's right here, these two projects.
These are two rows in the table.
And so I can look at this code, and I can write all my
HTML, and I don't have to do this kind of mental math.
VAN RIPER: You can actually look at that on a browser.
FRED SAUER: You can look in a browser.
VAN RIPER: All the data isn't there, but you get some sample
data in what you've done.
FRED SAUER: Exactly.
So you can debug applications.
And I think one of the tag lines, to kind of paraphrase
it for AngularJS, is it's the HTML development experience if
HTML had been written for dynamic web applications.
And I think that really kind of sums it up for me, is that
HTML was designed for static apps.
We've done all these hacks to make it dynamic.
But once you throw in Angular, it feels like you're in a
natural development environment, and you want to
build more apps.
And that's, ultimately, I think what we're out and about
in Google Developer Relations, is making the development
experience really good for developers.
Having that best experience for your productive, you're
building stuff, you want to build more stuff.
Getting that excitement back into development.
That's what Angular is about.
And that's what the Cloud Playground's about.
STEPHANIE LIU: So going back to architecture a little bit.
We had the Python, Ruby, JavaScript
evaluators in the browser.
It has been really great.
What were some of the main challenges?
Was your approach any different than some of those
evaluators?
FRED SAUER: It was.
I looked at a lot of different playgrounds.
You have, obviously, the sites like jsFiddle that allow you
to manipulate some JavaScript, HTML, and CSS and sort of try
out widgets or little things in a web browser.
There's a lot of tools out there that lets you evaluate a
snippet of code in a web browser, GoLang, for example.
If you look at the Google I/O concurrency slides, there's a
nice little HTML 5 slide deck with code snippets and a
little Run button.
And every time you click Run, the code executes in the
server, and you see the results.
And you can kind of interact with the code.
Even the GoLang tour.
The Dart language has similar tour where you can go through
and edit code in the browser and run it.
But almost all of these Playgrounds
are our snippet based.
They're sort of about learning the
fundamentals of the language.
What does print do or print F?
Or how do I calculate Fibonacci numbers?
Or how do I do simple stuff?
But none of them are--
as soon as you want to go to something more, you end up on
the other end of the spectrum with kind of a full-fledged
cloud development experience, a cloud IDE.
like Codenvy or what's the other one?
STEPHANIE LIU: Cloud9?
VAN RIPER: Dev?
FRED SAUER: DevTable.
Yes, DevTable's the other.
Just two of the ones that come to mind that have kind of App
Engine integration.
So on the one end of the experience, you have these
little snippets.
Let's learn the language.
The other end, you have the cloud IDE or desktop IDE,
which is a full rich environment.
Lots of functionality, lots of productivity.
But there's kind of a steep learning curve.
And there was very little in between.
And that's where the Cloud Playground tries to fit.
It gives you access to sort of many projects.
So here, I have four different source files in my project.
And I can play around with that.
I can have one file here.
This is my Python file where the code executes.
And I have this index of HTML, which is
my server side template.
Old-fashioned way of using Angular.
So we're trying to strike this balance of let's get you doing
something simple like Hello World, a Guest Book, something
more than a trivial snippet of code, without the learning
curve required once you go to a full development.
VAN RIPER: So that kind of is half an answer to my next
question, which is going to be some people were asking
whether you have integration for cloud-based code editors
like Codenvy?
FRED SAUER: I haven't really thought a lot about it.
But I think that's something that's really interesting.
Because what I showed here was sort of the, I'm reading about
App Engine from the documentation.
Let's upgrade me to a place where I can edit code snippets
or tiny little projects.
And the natural extension to that is, let's say I play
around with this for a couple hours, and I'm actually
starting to build something interesting or I want to do
some tighter integration with mobile, and I want to use
Cloud Endpoints.
Or I'm just doing more, and I'm starting to get invested
in the platform.
How do I take what I've built so far and move
onto the next step?
So one easy way to do that might be to have a download my
sources zip or push it to a get repository so I can play
around with it.
But I think another great option would be let's export
it to Codenvy.
And let's upgrade my experience from this
Playground to a full-fledged IDE.
STEPHANIE LIU: Is that like going steady?
FRED SAUER: Yeah.
VAN RIPER: It's gone past the dating stage.
FRED SAUER: Yeah.
It's like getting engaged.
STEPHANIE LIU: Let's see how long we take
this metaphor out.
Keep it getting.
FRED SAUER: I think when you push your code to production--
ADRIANA CERUNDOLO: You're now watching movies at home, when
you're on the couch.
FRED SAUER: I think when you ultimately push your code to
production and do a full deploy, I think that's like
getting married.
[LAUGHTER]
ADRIANA CERUNDOLO: That was a good run.
STEPHANIE LIU: Then we took it all the way to the end.
ADRIANA CERUNDOLO: We did.
VAN RIPER: And that does bring us to the end, I think.
STEPHANIE LIU: Did you have any final thoughts?
You mentioned feedback a little earlier.
FRED SAUER: Yeah, I'd love to get feedback.
Maybe the best place is on the blog post on the Google Cloud
Platform, just comments there.
Reach out via email, of course, is
always great as well.
Just discussion online.
I'd love to see what people build and then also would
really like to hear where we should go next with the Cloud
[INAUDIBLE].
VAN RIPER: Great.
So all the things we talked about today, we'll have links
in the show notes and stuff.
I was going to do a few quick shout outs before we end this
week's show.
As was mentioned, Codenvy, we recently had some
announcements about the third party ability to edit code on
Chrome Books in the cloud.
So you should check that out, especially if you're a Chrome
Book or Chrome Pixel, like Fred is.
As some of you may know, we recently had the two-year
birthday celebration for Google+.
That was June 28 in 2011 that it was launched.
And Chris Messina has a nice post on G+, of course.
Properly hashtagged, I assume.
And that will be in the notes as well.
And then I wanted to end with a shout out particularly for
our community folks, the Google Developer Groups.
There was this recent Android Developer Days
in Ankara in Turkey.
But it wasn't just the GDGs in Turkey.
There were actually 14 separate GDGs from multiple
countries that collaborated on bringing together the Android
Developer Days in Ankara, and there were more than 1,000
participants.
So that really deserves a special shout out in terms of
community development efforts.
And if you would like your community efforts, your
developer-- it doesn't have to be a Google Developer Group.
Just Google Developer related technology.
You can kind of shout out to us on Google+ with the
hashtags gdtech about it.
We're going to end with a magic moment from the
Developer Days in Ankara, a photo from there.
And if you'd like to see your photos at the end of some
future segment, just add the gdtech hashtag and hashtag
magic for magic moments.
And with that, I think call it a wrap.
FRED SAUER: I think that's a wrap.
ADRIANA CERUNDOLO: That's a wrap.
STEPHANIE LIU: Totally.
VAN RIPER: [WHIP SOUND]
[MUSIC PLAYING]