Truly amazing things can happen when you can pair one app with another, integrating the results to get something better.
But the actual integration process slows down the speed at which such mashups can be rolled out — or at least it did. While there are still plenty of apps that require developers to write custom integrations for each set of apps they want to pair together, web-app automation services like IFTTT and Zapier make it possible to come up with new integrations on the fly, without writing a line of new code.
Personally, I find these services to be the greatest thing since sliced bread. While I know the basics of writing code, I’m still at the point where I have to write out exactly what I want to happen in fairly specific detail. That usually happens to be in the format that if this one thing happens, I want this other thing over there to happen next. As it happens, IFTTT stands for ‘If This Then That’ — the short form to the average approach to deciding what simple computer programs will do.
Are IFTTT, Zapier and Tools Like Them Enabling a New Type of Programmer?
As I started outlining this post, I had an incredibly difficult time figuring out just what these tools are called: “web-app automation service” seems to get the most use across various technology blogs, but it’s a mouthful. We just don’t seem to have the right words to clearly describe what’s going on when you log into one of these sites.
Part of the problem is that while the various web-app automation services seem to be doing something novel, the reality is that what’s on offer is more a matter of user interfaces than anything else. Every single app that IFTTT and Zapier offer connections for has some sort of API — an interface that a developer can use to make use of the app in her own programs. That API might be available for free or it might have a price tag attached, but it has to be already present for a web-app automation service to tap into it.
Furthermore, if you look at the actions you can take with a given app through a tool like IFTTT and you’re also willing to dig through that same app’s API documentation, you’ll find that the actions you can take using that app are basically identical whether you’ve got an automation tool acting as an interface or if you’re willing to write some code.
If you’re getting the same results a programmer would, using the same tools (albeit with a little something special added on), are you a programmer automatically?
The question of Zapier’s place in technology today is particularly interesting because Zapier has been on a big push to add new apps to the many it already integrates. The company added a new app every day in February. Last month, Zapier announced an improved developer platform, making it easier for developers to connect their apps up to the platform. (I may have taken the announcement as a cue to nag a few developers I know about why they should invest some time in improving their integrations.)
Good Programmers Use Time-Saving Tools, Right?
It’s tempting to dismiss web-app automation services as not meeting the ill-defined standards of exactly what counts as programming. But we shouldn’t be too quick to judge.
Programmers are well-known for a willingness to embrace all sorts of tools to make their work easier. Consider frameworks that sit on top of programming languages to speed up development dramatically. Ruby on Rails, for instance, has become a favorite of new programmers because it hides a lot of the more complicated aspects of programming under some friendlier tools. As a result, new programmers can build websites and apps much faster with Ruby on Rails than if they were to use Ruby on its own.
While I have heard some grumbling from old school programmers that anyone who uses a development framework isn’t a ‘real’ coder, I’m pretty sure that the same people find plenty of other ways to exclude as many people as possible from the little club they’ve built for themselves. I’m okay with being picky about the development frameworks you personally want to work with, but there’s no doubt in my mind that using such a framework is definitely programming.
Tools like Zapier and IFTTT aren’t much different than frameworks: the user still has to invest plenty of time into figuring out what they want as an end result (unless they’re willing to stick to premade recipes). Even those premade recipes, however, can feel a bit like templates that you should tweak to your own uses, just like every programming tutorial. Sure, using a web-app automation service isn’t a particularly robust approach to programming, but it requires enough of the same mindset that we should take it seriously.
The Real Gateway to Programming
I have plenty of friends and acquaintances who are working on the question of how to get kids interested in programming. One of the favorite approaches seems to involve getting kids playing games that incorporate aspects of programming. But while getting kids to play video games may be a logical strategy, taking a more basic approach may have more value.
Just because an individual happens to be young doesn’t mean that she doesn’t have problems in her life that she wants to solve: I can’t even count the number of times I get calls from younger friends and family members asking how to do something technical (I might be considered technically savvy in some circles). And, sometimes, I have to tell them that there isn’t currently a tool to accomplish exactly the results they’re after. Suggesting that they learn to program and build their own solution rarely goes over well.
But what if there was a web-app automation service that focused on the tools that younger users rely on? How hard would it be to convince kids to sign up for the service? Finding the apps to include certainly wouldn’t be a problem: Snapchat is pretty popular, but the various educational apps that teachers now use to assign and manage homework. Most of these apps already have APIs in place, even if those APIs aren’t widely advertised. With the right connections in place, I’m certain that it would be easy enough to get younger users to use such a service.
Having to start thinking in that if-this-then-that format provides a certain entryway into a programming mindset — one that would making teaching the process of writing code much easier. Even better, once kids start using such a service, they’re almost certainly going to come up with more ideas for combining pieces of technology, some of which will require more advanced programming skills. Making the leap just isn’t that hard at that point, especially in comparison to the change between thinking that you’re doing something just for fun and suddenly needing to shift to be able to think of that same process as work.
These Tricks Aren’t Just for Kids
Clearly I’m a big fan of web-app automation services (even if that name makes me cringe every time I type it). At the very least, I see them as a way to minimize copying and pasting information from one computer window to another. But I also see them as an amazing opportunity for how businesses can move forward.
We don’t have to have big behemoth software packages that all come from the same company in order to guarantee our tools work together seamlessly. We have more options (or at least will when tools like Zapier are a normal part of our day-to-day processes). We have the freedom to use the best application for a particular task, no matter who makes it, as long as the developer in question has built an API — and that’s fairly standard practice, even when an application doesn’t advertise its API as a feature. Just go through the web-based apps you already use and check for the word API. It’s usually down in the footer of the front page.
But these tools also do good things for how we think about business problems. We’re moving into an age where every business generates absurdly large amounts of data. Just being able to move that data around efficiently makes a web-app automation service valuable. But getting us in the mindset of thinking about how we can use that data in different contexts — if I take in this piece of information here, how can I push it out over there? — improves our ability to run our businesses.
Not everyone needs to know how to write code to run a successful business, but I would argue that every entrepreneur does need to understand at least the basics of programming. In particular, knowing what’s possible is crucial, whether tools already exist with a given capability or if you’ll have to go out and find someone to put together the code. If you don’t have the right mindset, you’ll slip behind the competition as they find and build new tools. But if you can just write simple statements of what should happen after a certain triggering action, you have the skills to team up with an experienced programmer to create the application that will revolutionize your industry. Beyond that, you don’t need much more than a good idea.
Image by Flickr user Thomas Amberg