G Suite

Celebrating 10 years of Apps Script: looking back on how it started

Google_Training_hero_image.jpg

10 years ago this week we introduced Google Apps Script, G Suite's scripting platform. What started as a small experiment has grown into one of Google's most popular developer products. To commemorate the moment, I sat down with Mike Harm, the creator of Apps Script, to reflect back on how it all got started. 

Mike, what inspired you to build Apps Script?
I taught an "Intro to Computers" class when I was a graduate student at Northeastern University. The course was intended for students outside the computer science department, so I ended up teaching Pharmacy majors. The course covered everything from drag-and-drop to office productivity tools, building up to a final project using Hypercard, where the assignment was just "make something cool." Those students produced so many interesting things: an interactive recipe book, a Led Zeppelin trivia game, an animated, choose-your-own-adventure story. It made a lasting impression on me. Once you strip away all of the technical hoops, people can build amazing things, even if they’re not programmers.

The same revelation happened later in my career. This time, in the workplace. I was working in the IT department of a New York hospital that had built a custom application server running server-side JavaScript, years before Node.js was created. This engine powered a lot of their approvals systems. Because of how accessible JavaScript was, business analysts could write the code themselves instead of waiting on IT to implement it. 

How did you use this experience to create Apps Script at Google?
I worked on the Google Sheets team when I first joined Google in 2007. At the time, the team was evaluating how to make our spreadsheet APIs easier to use. With Hypercard and JavaScript still bounding around in my head, I kicked off a stealth, side project to build a rough demo of what a JavaScript-based scripting language for spreadsheets could look like. This was the start of Apps Script.

Why did you choose JavaScript as the programming language?
I was certainly influenced by my previous experience with JavaScript, but also saw how popular the language was becoming in web programming. Specifically, there were a lot of non-traditional programmers using JavaScript to add small bits of dynamic functionality to websites, and the syntax was becoming well known. I still had Hypercard on my mind, and I wanted a language that anyone could code in.

I wanted a language that anyone could code in.

Were there challenges building a tool for non-traditional programmers?
We had many passionate discussions about whether to adopt traditional coding paradigms, like versioning, or to build something more accessible for non-programmers. Even I had trouble keeping my eye on the pharmacy students I originally intended to serve.

We hosted hackathons to help us keep in tune with what was really needed. I remember an 11-year-old demoed a simple celsius to fahrenheit custom function. I totally swooned. From that point forward, when we discussed how to shape Apps Script, I’d think about that kid—for some, a red error message is an occupational hazard, for him, it was personal.

Can you share other examples of how you use Apps Script?
I turn to Apps Script whenever I say to myself, "I wish [this app] could do that!" For example, I built a web app that lets me see all of my meetings for the week, check a box next to the ones to skip, and then click one button to cancel them—works great when I travel to other offices.

Companies can be hesitant to hand over low-code app development broadly to their employees. Do you think they should embrace this democratization?
I've thought about this a lot. I feel that they should embrace it, but that there should be guard rails. A good metaphor is that we should allow people to plug in a teapot at their desk, but not an arc welder that could black out the building. When dialing in our quotas for Apps Script, we made sure that users had the amount of power they needed to get important work done, but not so much power that it would become a nightmare for IT teams to manage. 

10 years in the making, Apps Script has inspired people to customize G Suite apps in many different ways—check out our video library to see it in action (along with sample code) and start building today.