I recently configured a bit of personal automation for myself, and if you arrived here via my share on LinkedIn, you've already seen it in action. I wanted to share how easy it was to configure with Zapier and why I am excited access to software automation is becoming democratized.
what does automation get you?
As someone with a more than a few absent-minded-professor tendencies, I knew that posting to my LinkedIn manually to announce each new post would quickly fall apart. While things like avoiding manual errors and not having to remember each time are welcome benefits, I always like to emphasize my biggest reason for automating:
The less something costs to create, the more it will be produced.
While few may disagree with the statement in theory, the temptation to forget in practice is very real. I admit I kick the can too often myself (the current lose ends in this site's repo provides a case-in-point), but when each productive iteration requires an arduous process that is left unchecked, a feeling of dread is coupled to the creation process. It can become so internalized that it is shrugged off as a "given" cost to producing whatever could come next.
Without process improvements this can quickly give rise to a lethargic creative-depression: new ideas increasingly fall under the shadow of 'too much of a bother'. Ideas carrying the potency to be big breakthroughs are ironically rejected for their potential to 'open a Pandora's box'. I have seen first hand how much this can hollow-out a software development team's productivity, but much has already been written about the impact technical debt creates in that setting and the stand-stills and hidden inefficiencies it can usher in if not taken seriously. I do not dismiss that debate as much as want stay focused on something much closer to my heart of late---enabling automation for the individual.
How automation usually goes
So I started the process as many others with experience in the software automation world would:
- Review the API documentation to ensure the data I require for my automation is available via public endpoint(s) in the first place.
- Search for an existing API-client that wraps things like authentication and endpoint calls, ideally in one of my preferred programming languages.
- Import and use the existing API-client if it is available OR write a minimal implementation of one myself.
Step 2 is where things got messy. First I found a python-linkedin lib that looked promising, until I noticed the last update was in 2015, a year before Microsoft acquired LinkedIn. No thanks.
Next I found the more current linkedin-api. It initially seemed promising until I looked closer for a way to create a share and could not find one. This library leans on an alternative service for its endpoints called Voyager and it looks like the share endpoint has not been exposed in the python lib yet. I initially tried to add the feature myself, but after going well down the path of forking the repo, configuring a dev build, setting up an account for the .env file for the tests to pass (which make requests to the live service while also using a timer-delay to prevent throttling, resulting in minutes-long test runs), I started to question this approach. After looking at the code, I began to have doubts about the time I would save spending so much effort to add a fairly simple feature to a python project screaming for a refactor. So I went to sleep that night thinking I would be writing a minimal python client-wrapper in a utils directory of my site's repository to call from a new post-step in my Jenkinsfile after a successful build-deploy from the 'main' branch of my site's repo...
So I think it is safe to say my experience demonstrates that even when you know what you are doing, building and configuring automation gets complicated quickly. That fact is a key to understanding a problem I have been increasingly concerned with, but that a platform I just discovered named Zapier is already fixing.
It felt fitting that I should taste some of the discouragement that keeps automation prohibitive for most. Perhaps the frustration was the necessary motivation for getting myself out of the professional custom-software-automator box enough to find Zapier, which I think is easy enough for someone with no programming background to use themselves.
Zapier allows you to create what they call "Zaps" that you configure for each unit of automation. I can also share my Zap for others to refer to and copy themselves if they have the same use-case.
My Zap is about as simple as you can make one. The trigger for activating it is something that will routinely poll my site's RSS feed. If it finds that new content has been created recently, it will run the second 'LinkedIn' step, which posts a share with a link back to my new post.
Punching this all in via a GUI-based configuration means you don't need to know how to read or write code to set one up yourself. Additionally, Zapier made it pretty easy to test my LinkedIn step while my Zap was in draft status by pulling the latest record from my RSS feed as test data. This saved me from the awkwardness of having to finalize my configuration and generate new content just to confirm the non-trigger portion is working.
While Zapier does have paid tiers as needs scale, most indivduals will be fine starting under the free tier and its ease means Zapier's automation-as-a-service has value to individuals and small operations typically unable to afford contracting a coder for traditional custom automation.
Automation Democratization? It's about time...
...and not just about saving people more of it. It's about time software automation tools became widely available. I'll repeat the axiom I opened with here: the less something costs to create, the more it will be produced.
If you share my interest in economics, you may have already guessed at the inspiration for this axiom: "if you want more of something, subsidize it" and the inverse, "if you want less of something, tax it". You may be familiar with a similar price-control phenomenon, where effective price-floors tend towards surpluses, and shortages tend to follow price-caps. Here the inversion is no less true: the more something costs to create, the less it will be produced.
Simply running most simple automations is usually not costly, the true cost comes in the complexity in coding, configuring and maintaining the code and infrastructure to keep it on. Yet corporations with software needs still value it enough to hire specialized engineers to build automation, because they have correctly identified its worth.
But how well do those outside the tech world understand the value of automation?
When I moved to Austin I began meeting other indpendent artists and talked to a few owners of small businesses in the creative industry around town. Contrasting their utilization of automation against my time building it for years in the corporate tech industry, it felt like tech corporations had sailed into a new era on some automation-laden super-yacht while the rest of the world gets left behind with only oars and paddles. It helped me realize how much of an oppurtunity there is for more widespread automation and I regretted not being aware of a platform like Zapier sooner. What is the cost of not having this automation? What have we been missing out on?
In talking to indepdent artists, I realized how many are spending hours each week on at least partially-automatable tasks. For example:
- posting and scheduling the same content across multiple platforms
- downscaling and watermarking images and video
- image-searching their artwork to protect against theft and misuse
- turning away spam accounts and requests for free art
- providing a streamlined commission-request system for potential clients
That's potentially hundreds of hours a year that each each artist is spending on not producing art. And this does not just apply to indepedent artists, but any single-person or small business that relies on an online operation. I went through the initial trouble of automating my site's build, deployment, and LinkedIn notification steps because I don't want some exciting idea I have for a post to be accompanied by repetitive barriers to its production, just as I don't want an artist or music producer whose content I enjoy to have to face similar headwinds.
So I hope I have encouraged you to check out Zapier and other free-tier automation platforms, or at least help spread the word to those that can benifit. Access to automation extends a power that can go beyond simply saving time. I am excited to see what new things will be created, now that a long-neglected hurdle has been shortened so nearly anyone can leap over it.