The real world of 2016 has been full of madness, badness and sadness. It’s impossible to reflect on its events without thinking of the divisiveness, nastiness and mean-spiritedness that we’ve all seen, and I for one, am glad to see the back of it.
But this is my annual post on “A year in Apps Script”, where plenty of good things have happened both on the platform and in the community. Here’s a quick recap of the changes we’ve seen in the year, and some ideas on what we might see in the coming year.
The new stuff
There’s hasn’t been too much generally available stuff added to Apps Script this year. By contrast there has been lots of activity and new features added to the Early Access program, but let’s look at the formal release notes first.
- Android add-ons. This one is actually still in developer preview, but this will allow you to write sheets and docs add-ons that can run on Android using the Execution API which was released last year.
- XFrameOptionsMode. Previously it was not possible to host an Apps Script webapp in an external web page, but this option allows you to relax the security mode to be able to include a webapp in an IFrame of another site.
- Forms Validation. There are a set of new capabilities for validating Forms entry, and of course the look and feel of Forms was improved by a port to material design.
- UrlFetchApp. The PATCH method is now supported.
- Cloud logging. This allows you to log messages to a cloud logging store. Previously Apps Script was limited to a transient logging store that only contained messages from the latest run. Here you can store error and other logging messages and have them persist.
- Flexible quota system. We’ve all had to deal with the headache of running into a quota or limitation. The way it deals with running out of quotas has been much improved to smooth the quota availability over a more realistic measurement window.
- Sheets API. Access to many more features than you can get to via the SpreadsheetApp
- Slides API. Programmatic access to Slides. A much requested feature.
- Bigquery integration with sheets. This allows Sheets to become datasources for BigQuery. Here’s my thoughts on how that works out.
There is also a new Google Sites UI, but there is currently no way to access it from Apps Script, even though the old SitesApp does have that capability, and neither can you embed apps using an IFrame. I haven’t heard any news on whether there are plans to do any of that, so this might be a problem in waiting for many who have automated their site maintenance and content creation.
As usual a few things went away, but mostly things that were already trailed. A couple of examples were
- The loss of ability to host stuff on Google Drive was probably the most disruptive. We had plenty of warning but like many others I left it till the last minute and underestimated the work involved. There are a few other options including Google Cloud storage (here’s my cloud hosting guide) and Firebase hosting (which is a cloud storage wrapper).
- One that was a surprise was the deprecation of the project key, which meant an update to OAuth2 helper libraries amongst other things. . It never made a great deal of sense to have 2 unique keys to describe one script so it’s a good thing actually, but we never really found out why the rush to deprecate
- Hosting and Storage – Google Drive hosting deprecates and Firebase hosting starts up as a kind of subset of what you can anyway do with Cloud Storage
- Authentication – Firebase authentication services can be used as an alternative to some the capabilities present in the Google Identity platform (which isn’t really that old)
- Messaging and Notifications – Firebase messaging services do the same as Google Cloud messaging, and in fact is described as the ‘new version of GCM’
- Analytics – This is aimed at mobile apps to get the kind of analytics that you could normally use Google Analytics mobile for.
- Developers Console. The Firebase developers console is linked to, but a little different than the regular Google Developers console.
The Apps Script bucket list
Looking at last years bucket list, there hasn’t been much progress on the IDE nor with Github integration, although several of the GDES (myself included) have come up with various ways to integrate Github with Apps Script. There also have been a few Chrome extensions to improve the IDE, but fundamentally it is still a fairly poor experience compared to what we should be expecting nowadays. I did notice a few months ago the the debugger no longer fails in anonymous functions, so I guess that’s something, but an IDE revamp is still on my bucket list for 2017.
The other 2 items on the bucket list were SitesApp improvements (there have been none, and as mentioned previously, a step backwards with the new Sites), and a CORS capability for Apps Script webapps (which hasn’t happened either), so these still remain on the list for 2017.
If you have a bucket list, then leave a comment below.
G Suite and Google Script
We have several new Apps Script/Drive GDES this year, bringing the total to 16. The list is here. Some of us had the opportunity to visit Google a month or so ago and meet some of the Apps Script team, who have been seriously active on many great new features in 2016, many of which I covered earlier.
The Apps Script G+ community continues to grow, and we’ve now had 6 episodes of our monthly Totally Unscripted hangout where we demonstrate how to do stuff and talk about Apps Script related matters. We’re always looking for presenters, so if you have something of interest you’d like to share then please contact us.
I’ve been mainly writing about add-ons, APIS and client side techniques nowadays, with less emphasis on server side Apps Script. Strangely, although I have much more content on Apps Script on my site, the older VBA stuff still attracts the most pageviews. It seems there’s life in VBA yet.
This year I’ve released 3 Apps Script titles on O’reilly media.