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.
Popularity
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 |
Content
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.
Highlights
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.
D3
Oauth2
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
Do something useful in 5 minutes with Apps Script
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