1000 pages and counting

Most years I do a post on ‘a year in Apps Script’, looking back over the changes in the platform over the preceding year. As many of you will probably know, I’ve been running this web site for a long time now – I can’t find the actual date as I’ve changed platform a couple of times – but it was about 12 years ago. Now that I’ve exceeded 1000 pages of content (to be fair some of it is pretty outdated nowadays – and some of it was pretty poor in the first place), I figured that instead of covering Apps Script specificaly I’d be a little self indulgent this year and do a retrospective of this site and it’s evolution.


When I started this little blog (as it was initially), its focus was VBA and Excel – (Apps Script came out in 2009). Around 2016 it was hitting about 1 million pageviews a year. It’s reduced nowadays, but it’s still at about half a million annually. In its 12 year lifetime, the site has had about 6 million page views – which translates into about 2 million different people. Because I’ve changed platform and analytics properties a few times it’s quite hard to aggregate exact figures, but it’s gratifying to know that the content may have been useful to at least some of those visitors.


Martin Hawksey (@mhawksey) put together a nice post on my 1000th page on his Apps Script Pulse blog and is one of a number of GDE (Google Developer Expert) colleagues who have contributed in various ways to the content in this site over the years.

I came to Apps Script not long after it was available, my first foray into it was probably around 2010, and started writing about it not long aferwards. Sadly, on one of my change of platforms, I lost all the original dates of each of the articles so I can’t figure out what those first posts were about, but looking through analytics data I can see which pages people are mainly looking at.

Transitioning from Apps Script to VBA

Since this is exactly what I was doing, I wrote many posts on this subject (some are here), some were published on the Google Developers blog, and later went on to write my book (Going Gas – O’reilly) on this subject. Nowadays I’ve left VBA behind (I don’t even have a copy of Office on any machine any more), but I have played around with Microsoft’s JavaScript for Office and had a go at converting an Apps Script Addon to Office’s equivalent Addin. This site still has a bunch of native VBA pages, but most of them are a little esoteric, and have a common theme of making VBA more JavaScript like. Here are a few examples, some useful, some not so much

Google Docs,GSuite,Workplace

Throughout the changes in the platform name, Apps Script has kept its name (despite many rumors to the contrary over the years), although it did change its logo once or twice. Apps Script was something of a revelation for me – I had been familiar with JavaScript client side, but the idea of Server based JavaScript (later becoming mainstream in Node, Deno etc) seemed filled with potential, and built in integration with the Workspace API (like Office, but looser) and with a more unversally known language was inspired. Of course in those days, the JavaScript engine was an emulation (I dug into this a little in What JavaScript engine is Apps Script running on?) the transition to V8 (same as Node,Chrome, Edge and others).

Useful Apps Script libraries and code

My initial focus was again on what you could do with Apps Script, but soon it was all about Apps Script. Some of the posts were a little esoteric, and because of the evolution of Apps Script, some of the content referenced services that were either deprecated (for example ScriptDB), or became unnecessary as they were workarounds for features that later became part of Apps Script. Much of the work is released as libraries – I have close on a couple of hundred public libraries out there, or is in the form of snippets. Here’s a few examples of some of the topics that get the most traffic over the years (I’m not especially endorsing any of these, they just get the most attention from visitors)


When these first came out I was quite enthusiastic, and created a few. However the Add-on review process became more and more bureaucratic and onerous, and in my view, unfit for purpose for ‘citizen developers’ to generally share handy (free) little add-ons, whether for learning purposes or for use as-is. Nowadays, in addition to being time consuming (and endless), some types of add-on can also be expensive to make public, with the need for external paid for (by the developer) reviews before being allowed on the platform.

There is of course a balance between preventing poor (or even dangerous) add-ons onto the platform and making it all more accessible to people who just want to share stuff. Right now, I think that balance is wrong. I just can’t be bothered with the process around Add-ons, so I withdrew all mine from the store but did make them open source and available to anyone who wanted to take them over as add-ons, just implement copies of them privately, or even just copy some of the techniques used in them. Here’s a selection of the most popular posts on Add-ons

Client side visualizations

I’m very keen on d3 (although it’s getting a little long in the tooth nowadays), as well as Maps and Earth, so I have a number of posts on integrating all of these with both Apps Script and VBA (some of that stuff is very old). Here’s a selection of the most popular posts on d3, (some of which are entirely client side).

Cloud platform

After using Apps Script for a while you find yourself graduating to other cloud platforms. In my case, I got involved with a Film industry startup a couple of years agao and found myself becoming more and more involved in a range of Cloud services (from Google and other cloud providers). That introduced me to Kubernetes, Pubsub, Firebase,Redis, GraphQl, ML (and especially the Video Intelligence API) and a number of other services as well as some client frameworks like Vuejs and React.

Here’s a video on that project from a Totally Unscripted episode


Here’s a few posts from that period.

Sharing code

Sharing code is at the heart of the Apps Script community, and in addition to the libraries that we all share, I wanted to do my bit to make Apps Script a lot more discoverable. My Getting your apps scripts to Github project was an early attempt to automatically maintain all my public code on github (I have 200+ projects so doing that manually wasn’t really going to work for me). This predated both the Script API and Clasp, so it doesn’t rely on developing on Node and using a git client, or on chrome add-ons, and for me it’s just a trigger that runs now and again and pushes the latest versions of all my projects to github for me.

A year or so ago I started cataloging all Apps Script projects and created a client that you can use to not only visualize all of the Apps Script/Github world, but also to clone them directly into the Apps Script IDE.

Here’s a video on that project

and some posts on the subject

and the client is here


I’ve touched on just a few of the topics, and be warned – I’m embarassed to have read some of the others whilst writing this article – but I’m leaving them anyway.

I’m not sure if I’ll be up to doing another 1000 pages, but let’s see. I’m always open to comments, suggestions, even (constructive) abuse on any of these platforms.

twitter: @brucemcpherson

email: Bruce@mcpher.com

github: https://github.com/brucemcpherson/desktopliberation/issues

linkedin: http://linkedin.com/in/brucemcpherson