Ephemeral Apps with Apps Script and App Maker: The Perfect Use Case
Back in December I had a conversation with a coworker (and all-around awesome person), Eric Koleda about the future of Apps Script. During the conversation he made a curious claim — that once you write a script, you can “set it and forget it.” It would continue to run forever without having to worry about it breaking. It’s neither a radical idea nor completely unprecedented, but something about the notion bothered me.
The software developer in me knows that maintaining software is a lot of work — and what the consequences of ignoring it can be. Bit rot happens, because the world changes even if the code doesn’t. Lingering security vulnerabilities in unmaintained systems have been exploited by hackers to create botnets, distribute malware, etc. Developers are steeped in tools designed to ease the burden of maintaining software, and those tools are conspicuously absent in Apps Script.
I can go on about why maintaining software, and Apps Script in particular, is hard. But the truth is that Apps Script isn’t meant for software developers who spend countless hours designing, building, and maintaining software with all this in mind.
And that, of course, was Eric’s point. The people who write scripts just want to get something done quickly and have neither the time nor expertise to babysit their scripts.
Still, many scripts are about processes — human processes. We’re automating things that we would otherwise manually do. In the real world processes change and evolve for countless reasons. People come and go. Regulations and policies add new requirements. A script written a year ago might no longer be appropriate and may even be doing real harm.
So where does that leave using Apps Script?
The sweet spot for Apps Script, for me at least, is ephemeral apps. These are apps meant to solve an immediate problem with a short lifetime. Think organizing an event, analyzing a specific set of data, etc. These are all well-defined and simple problems with a clear end goal.
As a software developer conditioned to think about maintenance, thinking of scripts as throwaway is incredibly liberating. All those nagging thoughts about how to do things “the right way*”* don’t matter. There is no right way, just good enough. I can be lazy and undisciplined (and let’s be honest, I am!).
The best part is Apps Script is designed exactly for this type of quick and dirty problem solving. It’s genuinely easy to create a script and start running code in Google’s cloud. No tools needed, just your Google account and a browser.
Of course this doesn’t mean you shouldn’t use Apps Script (or App Maker) to build more complex solutions or automate long term workflows. Automation is a wonderful thing for saving precious time. Just understand that maintenance is still required and you need to plan for it. Even if Google never changes an API or turns down a service again (ahem…), chances are the assumptions you have to make when writing it will.
And yes, I’ll happily waste hours arguing with you about the importance of well-maintained applications :)