State of the Script 2013


[MUSIC PLAYING] ARUN NAGARAJAN: Hello, and
welcome to our first annual State of the Script. My name’s Arun Nagarajan. I’m joined here by our esteemed
product manager, Saurabh Gupta. And this is our first annual
State of the Script. And those of you that are
joining in from the United States, you’ll know
the reference. Today is the State
of the Union the president delivers annually. And we’re trying to preempt him
by giving the State of the Script ahead of time. And we’re pretty excited. A lot of good questions rolling
in on Moderator. We’re going to be watching it. I have a few questions that
I’m going to ask Saurabh. And we’ll get started. SAURABH GUPTA: Thank you,
Arun, for having me. And thanks everyone
for watching this. ARUN NAGARAJAN: Yes, welcome
to our new studios. [INTERPOSING VOICES] ARUN NAGARAJAN: Shiny
new studios. And we’re pretty excited. Very fancy setup, and good
lighting, and everything. So before we get started, you
want to introduce yourself? Tell us a little bit
about yourself. SAURABH GUPTA: Sure. I’m Saurabh Gupta. I’m product manager for
Google Apps Script. I work very closely with Arun
and rest of the team to make Apps Script as awesome
as possible for you. ARUN NAGARAJAN: Excellent. So I think a lot of folks have
an understanding of what a product manager does. But for everybody’s sake, can
you explain a little bit about what a product manager does? Are you writing code all day? Are you on the phone with
customers all day? What is it that a product
manager does? SAURABH GUPTA: So it’s interesting question, actually. There’s a long answer. And there’s a short answer. So short answer is, anything
that engineers or you guys won’t do, like our esteemed
developer relations folks won’t do is what a product
manager will do. But a long answer is a little
bit of everything. But most important job of the
product manager is to steer Apps Script in direction
where it’s most useful. And it aligns with overall
Google Apps strategy. And it is a useful product
for developers. And we are taking care of pain
points, and making sure that things just work, and they
are right, and they are on right path. ARUN NAGARAJAN: Got it. So when something’s not going
right, it’s your fault. SAURABH GUPTA: Yes. Absolutely. ARUN NAGARAJAN: I kid. I kid. [INAUDIBLE]– OK. And then– my bottles in the way here. Let me get that out
of the way. So you also had an interesting
background. You were in developer relations
before you became a product manager. So you know a lot about
what we do, as well. SAURABH GUPTA: Absolutely. And I think for a developer
product like Apps Script, it is absolutely critical that we
have a very diverse set of skills in our team. So we not only need great
engineers who actually build the product, but we also need
great developer advocates, and great developer programs
engineers, and a good product manager, I hope, to make this
product successful. Because it’s not just
enough to throw a bunch of APIs out there. You’ve got to be able to
articulate the vision. You’ve got to be
able to guide. You’ve got to be able to have
developers focus on how to use APIs the best way,
and all of that. It’s really, really important
that we have good support for developers. And that’s where developer
relations come in. And that’s where I came in. And that’s how I joined. When I joined Google, I joined
in developer relations. And that’s how I transitioned
from developer relations to product manager role. ARUN NAGARAJAN: So all you
that are listening in, he understands your pain. He had to deal with– SAURABH GUPTA: Absolutely. ARUN NAGARAJAN: That’s
really good. Just conversing with Saurabh, I
know that when I explain our partners, or our developers,
or our customers that are running into issues, he’s able
to quickly understand it, and not just look at it from
features, from an end user perspective. I think we’re in good
hands there. Now that we know a little bit
about you, tell us about the State of Script, 2013. SAURABH GUPTA: If I’m being
very presidential like, I would say state of
script is strong. But yes, we have launched a few
things over the past year. The last Google I/O, if
remember, we launched a few major things. HTML service was one of them. ScriptDb was one of them. We launched the standalone
script editor, a new way of doing web apps. So we launched a
lot of things. And we spent the last six months
post I/O making sure that we iterated on whatever we
launched at I/O. So that’s what we’ve done. We have launched a few things
along the way, as well. And there’s more to come. But overall our users
are very excited. Google Docs users, Drive users,
app, Gmail users, Drive users are very excited about
interesting things that can be built using Apps Script. So I think there is a very, very
strong interest there, both on the consumer side and
the enterprise user side. So that [? pace, ?] we
are very strong. ARUN NAGARAJAN: That’s great. Can you talk a little bit about
some of the favorite things that we’ve launched
in 2012? I know you already listed
a few things. Are there a few that kind of– SAURABH GUPTA: So the first
thing that is my favorite is HTML service. And the reason why it’s favorite
is because it just gives you raw power of
JavaScript HTML CSS into your web apps. Like, if you remember– ARUN NAGARAJAN: On
the client side. SAURABH GUPTA: On the
client side, yes. If you remember, with UI App,
the service that we had, you could only stitch UI together
on the server side. And then it moved
to client side. But with HTML service, now you
can do the web apps the way you have been doing it, which
is using JavaScript, HTML, CSS, jQuery. So this is one of my really
favorite things. Standalone script editor is
another big thing for me. Because if I need to just
write a script, I go to script.google.com. And that’s it. And this was such a pain
point for developers. Because before Script Editor
existed in Drive, you had to go to Spreadsheet. And if you remember– ARUN NAGARAJAN: Yeah,
I remember. SAURABH GUPTA: And tools
and script editor. And that was like, we are
there writing web apps. So those are the two of
my favorite things. ARUN NAGARAJAN: Those are
really good ones. Those are pretty big
and important ones that I use every day. So I’m pretty excited. What are some of the now– part of State of the Script is
looking ahead a little bit. So looking ahead in 2013,
what are some of the big philosophical things
we’re working on? What are some of the little
things but have big impact? Can you talk a little bit
about that right? SAURABH GUPTA: Yes. Lots more new interesting
stuff to come in 2013. One of the things that we do
want to solve as a pain point is making scripts easier to
execute, making scripts easier to package, making scripts
easier to distribute. I think that’s really one of
the big pain points that we want to solve. For example, if you create
something awesome, whether it’s a script in a spreadsheet
or as web app, you just want to package it, make it easily
available to end users. And today, it’s a little hard. We have a script gallery, and
you publish something to a script gallery. But it should be a much easier,
smoother process, for both you as a developer
and your users. So we are really working
very hard on that. ARUN NAGARAJAN: That’s a
really important point. Because today, when I write a
great script, I find it very easy for me to test
it on myself. But then when I want to send
it to you, I have to either send you the source code, or
package it up in a spreadsheet as a copy, and have
you copy it up. So I think a lot of folks that
are listening in will be very excited about that. So stay tuned for
more on that. Other things that may make
sense for the developers? SAURABH GUPTA: Yep. So one of the outstanding
requests is, why do we just have scripts in Spreadsheet
and [? Sites ?] right? So there will be good news
on that front, as well. Because we want to treat all
Google Docs properties equal. We want sheets and slides and
docs are on equal footing. So we don’t want to just give
special treatment to Spreadsheets. There will be some good
news on that front. Another thing to look forward
to is the overall end user experience. And as part of that end
user experience is the authorization flow. Arun, you remember the ugly
dialogue that comes up whenever an authorization
is required. We want to fix that, so
that’s not scary. Today, if you give a script
to a user, you get an authorization dialog which is
like, oh my god, what is this? And then you click on it. Then there’s another
one, you close it. There’s quite a few hoops
that users have to jump to use your scripts. We want to make that simple,
easy, and painless. So that’s happening. Also, there are a whole bunch
of other Google APIs is out there that are not available
through Apps Script. And we are going to make more
of these APIs available. In Google API Services, if you
look at that category, there are four or five today. And that list is
going to grow. So that whole experience is
going to change a little bit as well, and for the better. ARUN NAGARAJAN: And when you
say other Google APIs, you mean things like Google+,
YouTube, the whole set of services that we provide
outside of Apps. SAURABH GUPTA: Absolutely. So today we have default
services category, and then Google APIs category. And default services are like
native services that are sort of baked into Apps Script. This is our foundation. But then there’s a whole bunch
of other Google APIs. And you have to go to Google API
Console to turn them on, and all of that kind of stuff. So you’ve probably always
wondered, why can’t I use those APIs from Apps Script? And today you can, a few, Like
analytics, AdSense, BitQuery, stuff like, Predictions. So we want to expand
that roster. ARUN NAGARAJAN: Good,
excellent. I know that’s going to welcome
news for a lot of folks that are trying to build more
automation around YouTube reporting, more awareness of
their Google+ stream, and things like that. That’s very exciting. So when you talked about all the
different apps, I noticed that you didn’t talk
about forms. In fact there’s actually
a question around that. And I’ll actually jump to
our Moderator here. Are Googleists working
on a forms class? With the new forms, there seems
to be much or potential for dealing with existing forms
and underlying data without having to
create new UIs. It seems like this person,
Michael, is picking up on some interesting hints. SAURABH GUPTA: That’s right. I thought I’d keep
it a surprise. [INTERPOSING VOICES] SAURABH GUPTA: But again, forms
is a first class on a Google Drive app. So we don’t want to leave
any app behind. Especially the sites are
where we are right now. We are looking at it others,
and forms is certainly one such. And so stay tuned for
the good news. ARUN NAGARAJAN: Yeah,
very good question. And certainly we’ll continue
monitoring Moderator for such questions. So you mentioned a lot of
these services, default services, you called them. So these are everything
from cache service to Document app, and so on. What is your favorite? SAURABH GUPTA: Before I jump
onto my favorite, I want to also separate the wheat from
chaff a little bit. So if you look at default
services, we have a whole bunch of different services
in default. But I would like you to organize
default services into these models. So the first is sort of like
the big five, if you will. We have like Spreadsheet,
[INAUDIBLE] service. We have Drive service. We have Gmail. We have Drive. And we have Document. So you should think of these
five as really the big, important services. Then we have other important
services, like URL fetch, and UI app, and HTML service,
which sort of is part of the platform. Less an API-ish step thing, but
more part of the platform. Then we have third category,
which is experimental services. A lot of these are
experimental. And we have never thought of
creating a separate category of experimental, but sort
of try things out. And if they work, then
graduate them. If not, then keep it more open
for suggestions and feedback, and stuff like that. So [INAUDIBLE] first think of that. Now going back to your question
about what are some of my favorite ones, I would say
Gmail App is certainly one of my favorite. There’s a very famous script out
there called Gmail meter. I have it installed on my Gmail
account, my wife’s email account, my Google account
for my work. And I know a ton of other
people who have it. And it’s almost always a
pleasant surprise on the first of every month that I get a nice
little email giving me stats of my inbox. And it’s a good window
into what’s going on in the past month. So that’s one of my
favorite ones. I like the Drive one as well. It’s pretty interesting. And HTML service. I really like it because now I
can use jQuery and create some interesting web apps,
and stuff like that. ARUN NAGARAJAN: Cool, good. I think Spreadsheet App is
one of my favorites. I think the fact that you can
inject a menu, or run a script off of a button, I think
you can do so much. As Spreadsheets happen to be
such a natural user interface for a lot of folks that
we work with. That’s good. Everybody’s got to have
a little favorite. That’s great. One of things I realized, just
looking at our Apps Script usage internally is that we are
pretty avid users of Apps Script, ourselves. Internally, we use it for
progress tracking, welcoming new folks into teams, I know a
lot of interesting use cases. Can you talk a bit about that
internal usage a little bit? SAURABH GUPTA: Absolutely. one of the founding principles
of Apps Script was to make automation a lot simpler
and easier. That’s how we started. That’s how Apps Script as
a product got started. And we need automations
in different ways. It’s not just automation in a
spreadsheet, where you can do different things in
a spreadsheet. But it is automation around
a bunch of other stuff. For example, when we are about
to launch stuff, there is stuff that we use the Drive and
Spreadsheet, and all that other stuff. So there is quite a good
considerable use case within Google using Calendar and
Spreadsheets together. That’s a big one. I just mentioned Gmail
and Spreadsheet, and Gmail and Drive. Like Gmail meter, Gmail
meter is a pretty popular one, as well. Other things that we do. We do do a lot of custom mail
merge type applications. Like if you want to send out,
let’s say, 200 emails, or something, Apps Script
is perfect for that. You write up a doc. And then you just send out
emails, and things like that. So it’s pretty interesting
that [? base, ?] as well. There’s a lot of reporting and
dashboard stuff that happens using Apps Script. Like for instance, we use that
project web script that is available in the gallery, which gives you project tracking. We use that a lot. Especially in our team,
to track stuff. ARUN NAGARAJAN: [INAUDIBLE] as well. SAURABH GUPTA: Exactly. So there is considerable usage
around Apps Script within Google, and within Docs and
Drive and all the other teams. ARUN NAGARAJAN: I would say
it’s more the dog fooding. I think we’re actually using it
for real mission critical stuff in a lot of ways. I’m actually pretty excited
about that. I think it gives us new ideas,
and make sure that our stuff’s is going to work for everybody,
not just the developers. SAURABH GUPTA: Absolutely. ARUN NAGARAJAN: One of the
things that I wanted to talk about as well was you work with
other product managers pretty closely. From your perspective, how does
Apps Script fit with the rest of the Google
Apps strategy? And can you talk a bit about how
that guides our roadmap, our priorities? SAURABH GUPTA: So Apps Script
is a developer product. And automation is our
founding principle. But along with automation, it’s
tied to another concept, which is called extensibility. Meaning, Google Apps
are great. They can meet 99.99% of
your requirements, maybe, or 99%, or 98%. You take the pick. But that 1% or 0.1% or 2% that
you need to meet 100% of your use cases you need some
kind of customization. And as part of our core product
offering, like for Docs or Drive or Gmail, we can’t
imagine and conceive every feature, and stuff the
product with every feature. So this is where Apps
Script comes in. Which is, you take a developer
product and you extend Google Apps, using Apps Script, to meet
all of your requirements, to meet 100% of your
use cases. So our goal is automation,
extensibility and no use case left behind. So that’s where Apps Script fits
in overall apps strategy. ARUN NAGARAJAN: And that
actually should be music to all the developers’ ears. That creates such a huge
opportunity of products and software that they could build,
provide additional services to the millions of
users that Apps brings in. SAURABH GUPTA: Absolutely. Because every organization
has different needs. If you work for a company, they
have their own processes. They have their own workflow. They have their own tracking
system, and all that So Spreadsheet is such a
foundational product. It’s such a fundamental
product. Drive is such a fundamental
product. Gmail is such a fundamental
product. And you need to be able to
extend these, and meet your requirements. So that’s where Apps
Script fits in ARUN NAGARAJAN: That’s great. That makes a lot of sense. You’re saying all the idea of
Apps Script is to cross cut all the different apps that
we have, and provide an extensibility and an
automation story, consistently. And that. combined with some
of the deployment story you talked about. SAURABH GUPTA: That’s
where our focus is. As I said earlier, which is make
it easier for developers to package your scripts and
distribute them to an organization, or to individuals,
or whoever. But it should be just
simple and easy. And it should just work. ARUN NAGARAJAN: Makes
a lot of sense. A couple tough questions
for you. SAURABH GUPTA: I love
tough questions. ARUN NAGARAJAN: We talked about
a lot of the good things we’re working on, a lot of the
exciting thing that’s coming up, the great 2012
that we had. What are some of the challenges
that you look at right now and we’re working on
that’s kind of tough on us? Can you talk a little
bit about that? SAURABH GUPTA: There are
quite a few challenges. We have a vast footprint when it
comes to Apps Script as an infrastructure. So we have a Script Editor. We have a whole bunch of APIs. We have the leave the Apps
Script runtime itself. We have the event
infrastructure, where you can get on [INAUDIBLE]. The pieces to this whole
machinery is just too many. We do a good job of
making sure it’s reliable, and all of that. And we want to make it even
better and reliable for developers. So that’s something that
we focus on heavily. So that’s the first thing. There are other challenges, as
well, in the sense that we have to pick and choose
our features. I know you guys have
so many feature requests out on our tracker. And you can just see this
sheer volume of it. And there are chances that we
may not be able to implement every one of those
feature requests. So we have to take a hard look
at what is good, bad, or what is absolutely needed,
and what is not. And we have to make
trade offs. And these trade offs are hard. Because I’ve been on the other
side of the fence. And I know when, if I don’t have
a method on the API it’s infuriating. And to make these trade
offs, it’s not easy. I know a lot of frustration on
the tracker sometimes, which is hey, how come this feature
has not been implemented for x weeks or x months,
or whatever. And we look at it. And we say, we have to
choose our battles. So making sure that developers
are happy, and not boiling over, some of these things, is
another challenge for us. Which is, we want to meet
your expectations, and not piss you off. Yet we want to pick
our right battles. ARUN NAGARAJAN: But at the same
time, we do appreciate your professional well-noted
comments in the issue tracker, an your votes. So we do track that. SAURABH GUPTA: Absolutely. ARUN NAGARAJAN: I can
attest to that. SAURABH GUPTA: The votes are
absolutely important. I can’t stress enough. The number of votes on the
tracker for a given issue or feature request– ARUN NAGARAJAN: Especially
with good use cases, and sample code, and scenarios where
it’s really important for you or your business. SAURABH GUPTA: Absolutely. That’s a great question. ARUN NAGARAJAN: A lot of
folks are asking some good questions here. I’ll take one. This one’s around performance,
which is another thing that we’re working on. Apps Script gadgets take a long
time to initially render in a Google site. Do you have any plans to
speed up the execution? SAURABH GUPTA: Yes. The answer is a resounding
yes. We’re already playing
with something that speeds up the stuff. If you have developed something
using HTML service, for example– and I’m taking an
assumption here that it’s HTML service– then things are slow
right now. Especially the first initial
load times, and you and I have discussed this a lot right. And we already have solutions. We are internally playing
with one. And good news is on the way. ARUN NAGARAJAN: That’s great. We’re coming up on time here,
just a couple of minutes. I wanted to ask you what are
some of the use cases and capabilities today that you
think there’s a need in the vacuum that is a great
opportunity for the community? If you look at what’s available
and what’s possible, what’s that window like? What’s the gap like? And what are some of
the opportunities? SAURABH GUPTA: Oh yeah. I think there are quite a few
services that developers can use which are not being used as
heavily as we would expect. So HTML service is one such,
which is the quality of UI that you can build using HTML
service is leaps and bounds better than what you
can do in UI app. ARUN NAGARAJAN: You get the
full power of the browser. SAURABH GUPTA: Exactly. So I am expecting that more
and more developers will leverage that, and build some
amazing use cases around it. Another thing that I think is
not being leveraged as well is ability to publish web apps
in Chrome Web Store. We launched this integration
at Google I/O. And a lot of developers have used it. But I would expect a lot more,
given the volume of web apps that are published
out of our– ARUN NAGARAJAN: And the
popularity of Chrome. SAURABH GUPTA: Absolutely. So I think that is something
that developers can use. Because Chrome Web Store is a
great distribution point. It’s really easy to build
awesome web apps, and then just publish them in
Chrome Web Store. And then have that as a
point of distribution. So I think I think that’s
something that is very useful. The third thing I think that
could be used by developers is web apps that run not as the
publisher, but as the user [? on a keyboard. ?] I’m expecting more and more
developers to leverage that capability, as well. ARUN NAGARAJAN: That’s great. You get the user’s data, which
is so useful and applicable at that point. So we’re coming up
on time here. So we do want to wrap it up. Hopefully this was a really
useful session for you. You got to see one of the
brain trusts behind our product, really kind of give
you the history, what our priorities are, some of the
challenges, and the roadmap for 2013 and beyond. And hopefully this
all made sense. And we look forward to comments
and questions. And we’ll find more ways to
engage the product manager team, the engineering
team, and have this conversation going. Thank you very much, Saurabh. SAURABH GUPTA: Thank
you for having me. ARUN NAGARAJAN: See you guys. [MUSIC PLAYING]

1 thought on “State of the Script 2013

Leave a Reply

Your email address will not be published. Required fields are marked *