A year in the desktop liberation blog

I posted the other day in A year in apps script and my bucket list my take on what happened in the Google Apps Script world in 2014, and my hopes for 2015. As many of you will know, I run desktop liberation which is a site, blog and G+ community about Microsoft Office and Google Apps and APIS and how to integrate them. Here’s a lookback to 2014 and a request for input on what you’d like to see in 2015 and beyond.


Let’s take a look at a few of the desktop liberation properties pageviews first – a good year for each one. The DB screens tracking is new, associated with usage of the DB abstraction libraries which I introduced this year.

Property Pageviews Total posts
Slideshare 167633 22
Site 1408464 560
Blog 817785 205
DB screens 2738363 n/a



Although it can sometimes be hard to properly split the content between Google and non-Google related content, since integration drives a lot of crossover, almost all of this year’s posts have been on Google Apis – yet the majority of pages visited (> 60%) are still Excel and other technology subjects.


It’s been fun looking back at this year’s posts but hard to select the ones with notable content. Looking back, you always see things you could have done better (or with hindsight not at all). In any case, here’s a few useful things I’ve posted about this year.
I guess I started off the year with an introspective on the point of blogging, observing that the half life of blog posts (as opposed to posting reference content). In fact, I have only posted a handful of blogposts this year, focusing mainly on reference material and code sharing.

In January I started to prepare for a new way of navigating blogs and sites – the concept browser written in D3.js, but taking data from Blogger and Google Sites. This let to a nice uptick in traffic from the d3 community and a little bit deeper browsing from existing visitors.

If only I’d known

I’d always been a great fan of ScriptDB (now no longer with us), and had created zillions of things that used it – and in particular – exposed it to other platforms – for example I created an api for VBA that used ScriptDB as a cloud database. In February, I took this a stage further and integrated Maps, Excel and ScriptDB into a nice way of communicating interactive input from MAPS back into VBA. In itself, a fairly obscure use case – but it was fun.

GDE program

In March I was proud to be invited to join the Google Developer Experts program, which has turned out to be a great opportunity to interact with others with a shared interest in Googly stuff, and it has certainly influenced my choice of ‘stuff to write about’, and I hope, helped to increase its quality. I’m looking forward to see how this program develops in 2015.

Database Abstraction

The big piece of work for me in 2014 has been the implementation of database abstraction and most everything I’ve worked on has either used or has been extending or improving this, with the first version coming out in March in time for the ScriptDB deprecation. There are now about 10 back end databases supported (I try to add a new one each month),  and its development has caused me to create a whole bunch of more general capabilities such as named locks and tracking library usage with Universal Analytics. In September, following great feedback from users, I moved from having a monolithic library that understood all the backends to one where libraries are selected dynamically. This approach minimizes unnecessary authorizations for services not being used. The DB screens views figure of 2.5m referenced earlier, is the number of observed DB operations so far using these abstraction libraries, so it seems to be going strong in the wild.
For 2015, I have a number of new backends in the works, as well as transactions and rollbacks. It looks like these libraries will continue to be a priority and my main area of Apps Script focus.


I’ve always been a fan of d3.js and related libraries such as dc.js and crossfilter.js, so in May I went back to playing around with that for while, including showing how to use crossfilter in apps script and linking it up to Fusion Tables and Spreadsheets. Of course, we’ll see that in December, in what I consider to be one of the best things that happened to Apps Script in 2014, we are now free of caja in HTMLservice and can now use libraries such as d3.js.
2015 should see a bunch of spreadsheet add-ons based on D3 and related libraries.


Most people are intimidated by oAuth2 and tend to steer clear of anything that needs it. With taking the pain out of oauth2 and oAuth2 for VBA I released some libraries in June to try to help make it a little more accessible.
In 2015 I’d like to simplify this even more – in particular the addition of new services that use oAuth2.

Aynchronicity and triggers

In June I started to get interested in approaches to running things in parallel in apps Script, partly as a resolution to time limit quotas, but also to help with testing multi-user simultaneous access for my dbabstraction libraries. The first attempt was a bit of a science project but was inherently unreliable because it used triggers which are fairly unpredictable. Much more effectively, I implemented parallelism using HTMLservice later in November.
This technique has proved extremely interesting as a basis for an Apps Script MAP/reduce capability and one I’ll be playing around with more in 2015.

Analytics and sites

In November, I instrumented each page on my site with popularity data from Analytics and G+ data. This is much richer than just G+1 counts or likes, and also shows ranks and popularity within topics. I’m very excited by this idea, and the possibilities this opens up for informed, directed navigation.
Next, I’m planning to integrate usage data from tracking library usage with Universal Analytics with this Analytics and G+ data.

Do something useful in 5 minutes with Apps Script

This has proved to be a very popular series of short presentations showing how you could do something really quickly in apps script. In addition to this, I tend to post a snippet each few days. I’ll be continuing with these short tutorials as the format seems to be working quite well, and I’ll probably also be publishing a video format version.

The community

In October, I deprecated the liberation forum on Google Groups, and started a new community. It’s an ideal place to swap problems and solutions with other users of my libraries, so I hope you will join. I’m also looking for Moderators who will help to manage and develop this community – let me know if you are interested.

Thanks for helping make 2014 such a productive year for desktop liberation. I’m looking for you input to guide and participate in my 2015 priorities


About brucemcp 225 Articles
I am a Google Developer Expert and decided to investigate Google Apps Script in my spare time. The more I investigated the more content I created so this site is extremely rich. Now, in 2019, a lot of things have disappeared or don’t work anymore due to Google having retired some stuff. I am however leaving things as is and where I came across some deprecated stuff, I have indicated it. I decided to write a book about it and to also create videos to teach developers who want to learn Google Apps Script. If you find the material contained in this site useful, you can support me by buying my books and or videos.