If you're expecting to build a Terminator, this is probably the wrong post. But you may remember from my earlier bot automation post
that bots are clever pieces of software or hardware that automate one or more tasks. Hopefully your mind is stimulated with a list of tasks for your Bot Army, so let's look at platforms, APIs, and other tools to help you create your own customized Bots from scratch.
There are a ton of ready made apps dedicated to the overall umbrella topic of Productivity. Here, I’ll point you towards a few that I have found to be most helpful. I would love to hear about the apps you find useful in the comments.
Cross Platform (Even Windows Phone)
- Evernote - check out the Reminders API and trigger reminders when you need them.
- Gmail - create all your filters server side, so that when you view email on your phone, you only see the essentials.
- Google Now, Voice - who needs Siri, when Google Now can do all this?
- Tasker - make your phone perform tasks based on context automatically. For example, you may want to turn off phone tethering when you connect to WiFi.
- Lynx Fit - want your own Personal Trainer Bot? Here you go.
- Genie - let Glass become your Personal Assistant Bot.
On the Mac, there are several tools that can build some incredible Bots. Here are a few of my favorites:
- Sikuli - this is an image recognition based automation tool
- Automator - discover powerful system wide scripting tools for the Mac that don’t require any coding
- Keyboard Maestro - create your own system wide macros with this tool
- Hazel - let Hazel watch over your folder and do all the housekeeping for you
- Text Expander - take your snippets and templates to a whole other level
If you play in Windows land, you will want to take a look at AutoHotKey
Perhaps the most important tool you will find is IFTTT. Take the time to explore its many uses
, then get an account and put it to work.
to automate browser based functions. While most use this tool for testing code in various browsers automatically
, think about using it to automate repetitive tasks you previously tortured yourself with doing manually.
Before we go into developing and using software tools, lets pause and consider a key building block, the API. Because of the API explosion, tasks that could have taken you hours, are just an API call away. You will want to familiarize yourself with the API database of record, Programmable Web
You might even try what Kin Lane, the API Evangelist
, did. Go through and try each API in the Programmable Web API directory
. See you in a few months. :)
And hey, don’t forget about SendGrid’s amazing API.
As a developer, you have tons of libraries available to you for any language you favor and resources like GitHub
, Google Code
and Stack Overflow
which are all brimming with fresh source code.
Using any of the resources linked above, you can get started right away, tweaking as you see fit. If you have an idea for a Bot, first find an existing Bot that is close to what you want with available source code. Try to use it as-is, then make some modifications to suit your purpose. In the end, that may be all you need.
Whichever set of tools you choose, I suggest you learn more about that community through online forums, chat, and in-person meetups, always with a spirit of enhancing that community.
If you are going to build your own Bot from scratch, there are certain tools that should be readily available in your Bot building arsenal. I’ll cover the most important tools here.
But before I go down that path, I suggest you take a look at these tutorials and open source apps:
A Cron job
will allow you to schedule your Bots to perform actions at a specific time. Learn about Cron on OS X
and in Windows check out the Task Scheduler
To have your Bots run in the background, you will need to learn about Daemons
. No, not the sworn enemy of Angels or the one with the first name Matt, but the nice friendly Daemons.
Either you will be gluing your code together (cue the Elmer’s Glue jokes) with scripting languages
or command line tools
. I suggest you learn both methods, giving you a greater range of options in your toolbox.
Many programs have programming hooks that can be used to develop macros. Take OmniFocus for example, there are a ton of AppleScripts
that can automate tasks previously only available through manual manipulation.
Your Bots need to live somewhere, whether that be on a home or remote server. From Heroku
to Digital ocean
, your options today are amazing.
Whichever server provider you choose, be sure to have another system outside of that network for monitoring.
Because of Arduinos
and Raspberry Pis
, the barrier to entry for hardware hacking has been greatly lowered. Take advantage and think of issues in your physical world that can be automated with Bots, even if their not as sophisticated as a T1 Terminator.
Solutions like Nest
make it easier than ever to automate common tasks around the home. If you need some ideas, check out LifeHacker
and see if you can visit a Maker Faire
Now that your Bot Army is continuing to multiply, you are going to need some management Bots to help keep things running smoothly. I’m a big fan of creating Dashboards and using Reporter Bots to fill them in and ideally perform repairs when needed.
Start simple, perhaps with a spreadsheet
, then begin to automate each element. If you want to use an existing framework to build out your dashboard, check out Dashing
If you prefer to use an existing service, check out GoodData
Now that you're a Bot master, you've had a taste of the time they can save you. It's addictive, isn't it? Then you'll want to learn more about Personal Productivity for Developers.