Software Bots

From Do-it-Yourself companion bots to AI powered software

This article is part of series covering the world of software bots. Part 1 is a general overview (you’re here), part 2 focuses on Slack bots and part 3 on the rise of the “do it yourself companion bots”

Software bots are all the rage, between the promise of AI powered software which will eat our jobs and the invasion of Slack bots there’s no shortage of articles covering them. Since I had no clear overview of what the landscape and the big picture really were, I decided to deep dive in the topic and I’m sharing a summary of it.

Feel free to comment or to send me a message on Twitter or by email (clement@pointninecap.com).

Which software bots I’m talking about?

Software bots are simply software that performs automated tasks. They don’t necessarily involve fancy stuff like artificial intelligence or machine learning but they can. The spectrum goes from a dumb Twitter bot that will favorite every tweet containing a specific hashtag to state of the art software which is able to drive your car.

Software bots are already everywhere

Software bots are not new. They exist for a long time and were living on IRC channels, processing resumes for big companies’ HR department in the 90s or crawling the web as soon as the internet took off.

But as more and more of our life now happens online and as the underlying technology required to build them is more accessible, software bots are invading an increasing number of industries and at an increasing pace:

Partial landscape of services using software bots and infrastructure services to build them

This acceleration finds its source in many causes, from which:

Technological barriers are lowering. Many technical components necessary to build bots are now available “ready to use” as APIs or as open source projects. From web scraping to AI blocks ( Google, Airbnb or Facebook), see the mindmap below for more examples.

Click on the picture to access the interactive mindmap

A world of “online abundance”. We’re definitely living in a world of “online abundance”. There are too many software or mobile apps than we can use, too many articles, videos or music than we can consume, too much data than a person can process, too many human connexions than we can handle manually etc… Automated software help us deal with that. As workers and individuals we’ll be working with an increasing number of bots.

The multiplication of platforms. Platforms are a great medium for bots to proliferate. They can serve as distribution channel and user interface for the end users. As we use more and more platforms (messaging, social networks, internet of things, gaming, music…) software bots will proliferate as well.

Platform or standalone bots?

Some bots are running on closed platforms and others are not limited by a particular medium.

Platform bots

Platforms are a great place for bots to live as they can leverage several of their properties:

Platform as UI. Users can interact with bots directly through platform’s interfaces. For example, on messaging platforms such as Slack, Hipchat or Telegram users can interact with bots directly with simple text messages. No need for us to go on “yet another interface”. We stay where we already have our habits.

Platform as distribution. Platforms are great distribution channels for bots where they can spread fast. For example Nightbot is a “moderating” chat bot for Twitch which went viral simply because casters could see it on each other stream .

Platform as source of data / integrations. Platforms can also be sources of data which feed the bots. It’s by accessing the platform’s data that Twitter bots can automatically favorite tweets containing keywords, that Youtube copyright bot can crawl video content to detect copyright infringements, that steamspy can produce video games charts…

Not all platforms were created equal and not every platform offers these 3 properties.

Slack is great for distribution and UI but bots cannot (yet) access interesting data about users or access deeper integrations (ex: access to user’s credit card for payment).

On Twitter data and distribution are very often leveraged by bots but UI is not its strength (you can actually interact with Twitter bots but it’s definitely more in the “nice to have” category rather than in the “must have” one).

When we say ‘platform bots’ we very often think of messaging platform bots. But as you can see they exist on many different other ones. And more platforms will emerge (IOT, car OS etc.)

All these products don’t benefit from the distribution and UI advantages that we mentioned above. But on the other hand they are not dependent on a platform and don’t risk to see a platform operator launching an equivalent feature or shutting down the access to their data stream (like Twitter or LinkedIn already did in the past).

From script to AI powered bots

When you read articles about software bots you get the impression that software automation automatically involves machine learning, AI, deep learning and other sophisticated / fancy stuff. But looking at the evolution of the landscape I have the impression that it’s only part of the trend.

There’s actually a continuum between script bots, which are bots that simply complete a set of predefined tasks once triggered (no intelligence required), and cutting edge software, like Tesla self-driving software, that can adapt dynamically their behaviour according to the context (powered by sophisticated AI and big data processing).

From “pure script bots” to AIpowered ones the spectrum is wide. Heyscale is a pure script Slack bot which posts recurring messaging on your channels, Birdly is a bit more sophisticated bot which processes the receipts you send him on Slack (expense reporting), Clara is a virtual assistant that uses a combination of AI and human, Ross is a virtual legal assistant and Tesla software is a magical bot.

Innovation does not only happen at the “cutting edge” end and the future of software automation does not involve intelligent “overlord bots” only.

Script bots

There’s actually more and more tools which ease the creation of simple script bots. I’ve shared some examples in the landscape above but products like Zapier, Hoist, Dexter, motion.ai let you easily create simple bots.

This is the rise of the do it yourself bot. More and more people will create their own little “companion bots” which will be crafted to answer their own precise needs.

Many of these bots don’t need fancy AI but I believe that, eventually, these services will also offer AI blocks that we’ll be able to use when creating our companion bots (like putting together lego pieces).

Smart bots

The multiplication of smart bots is driven by the “democratisation” of AI. Companies like Facebook, Google, Airbnb are open sourcing AI / DL / ML libraries and other services are selling them (predict.io, indico…). So it’s getting easier and easier to access this technology and to build products leveraging it.

Another interesting trend in this space is the use of human intelligence in combination with software intelligence. Virtual assistants like Clara are far from being 100% AI powered, they actually rely a lot on humans who check / improve the output provided by software. To which proportions I have no idea, but nevertheless this trend is interesting and I believe that human + AI will be used in many products until we reach singularity (pun intended).

Cutting edge bots

These are mainly built by big players (Google, Facebook, Tesla…), by well funded startups and by research programs (see what the people at the MIT are doing).

Additional comments

No UI is the new UI. It’s an interesting narrative that I’m seeing more and more: with the rise of messaging platforms and AI we’re heading toward UI-less interactions with software. My feeling is that at the moment it makes sense for several types of tasks (like productivity tools on Slack) but I yet have to be convinced of a world where we interact with software only with voice and text messages. At least in a near future. The UX/UI discussion is interesting and would probably need a whole dedicated article.

There’s currently a lot of bullshit going on too. Many of the so called “smart” or AI powered apps are not that smart at all. As with every everything, when there’s hype there’s also bullshit. That said, we already have examples of amazing AI powered bots so there’s no doubt we’re heading that direction for more and more apps.

Bots will be features. Not every software needs to be a bot but chances are high that more and more of them will include features that will leverage software automation (like a light companion bot for Slack). Ex: smart reply within Gmail app.

Creative vs repetitive tasks. The majority of bots are good at accomplishing tasks which are perceived by humans as “repetitive”. But bots will also be good at completing “creative tasks”. Ex: logo creation with a software parsing a database of existing logos and analysing the current design trends to come up with a new logo completely programmatically.