How to Leverage the Conversational User Interface with Chat Bot Frameworks and commoditized artificial intelligence agents and services to deliver great interactions with customers and delivery teams.
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
Chat Bots & Chat Ops for Delivering Software
1.
2. 2
CHAT BOTS & CHAT OPS
Delivering software using the Conversational
User Interface (CUI).
3. What is a bot?
An Uber will cost £5.37, and is available within 2
minutes, would you like request a ride?
I need a ride from London Bridge to Camden
Yes
Your Uber has been ordered, your driver is
Roger Wilks and is in a Black Tesla Model S
23. Azure or CloudWatch Alerts
Send notifications to an Amido Slack Channel when Azure or AWS alerts are triggered.
Standup Bot
Reminds all members of the project of the dial-in details and summarizes the Jira tickets
closed over the last 24 hours, along with currently open and assigned tasks.
Timesheet Bot
Prompts daily to fill in your FreeAgent timesheet, allowing you to reply to say “7.5 hours
a day on ASOS Global Fulfilment as DevOps”.
Notas do Editor
Chatbots, conversational agents, or simply bots, are participants in a conversation that are backed by software not humans – often based upon artificial intelligences. These bots coupled with services APIs form what has been termed as the “Conversational User Interface”.
It’s possible to create bots that are not backed by an Artificial Intelligence, however conversing with them becomes laborious as you need to remember to the exact words in the correct order, this is not the way people have conversations. With the availability of commoditized AI platforms comes the possibility of building bots which can respond and reply naturally to users.
In the last two years new startups have sprung up offering bots, and bot related services, further the last 6 months have been filled with a flurry of acquisitions from Google, Apple, Facebook and Microsoft in a virtual landgrab for a share of the consumer conversational agent landscape.
It has been said that “Bots are the new apps”, whether this is true or not only time will tell. However like apps an eco-system has developed allowing developers to quickly bring an bot to market with maximum reach and minimal code.
Hopefully everyone will recognize that this is the Amazon Echo, Amazon’s consumer artificial intelligence agent. Amazon is by no means alone in the market.
In-fact four of the biggest software companies each have a conversational AI offering, and each is vieing for the attention of consumers and businesses. There is still plenty of room in the marketplace for startups to bring their own products to market and bots to bear.
At the moment, only Alexa and Cortana are completely open to developers, but Google and Apple have suggested that they’re planning to make their conversational platforms and AI engines available as services.
Apple’s Siri, Google Now and Google Home, Amazon Alexa and Microsoft Cortana
Viv, Cubic API, Mycroft and Ivee
Consumer Conversational Agents usually focus on voice recognition and synthesis as this provides the most natural interface in a home setting. If anyone has ever tried using voice recognition in a busy office then you will understand that this is not the most efficient way of communicating with a computer – typically in a commercial environment we are looking at text based interactions over voice based interactions.
Skype, Google Allo, iMessage, Facebook Messenger
Telegram, WeChat, WhatsApp, Slack
Regardless off the interface to the conversational agent the AI which understands intents, or if you prefer parses the input, and converts this to a format that is easy for a computer to digest and action. There are four main players on the market: Google Cloud Platform Speech and Natural Language API, IBM Watson, Amazon Alexa Voice Service and finally Microsoft Cognitive Services
The bredth of interfaces between voice based and text based poses a challenge for us as developers, there is no common API for each service, however others have created the glue for us in the form of bot frameworks: Microsoft Bot Framework, Facebook Wit, API.AI and MindMeld.
Interestingly there is one company whom through acquisitions and significant investment have a complete end-to-end solution for building text and voice based bots using a rich set of API.
Possibly more surprisingly this is Microsoft!
Let’s have a quick look at a typical flow with Microsoft Bot Framework, I’m showing a synrconus flow here for simplicity however the majority of frameworks support both syncronus and asyncronus workflows.
User types a request into slack,
Slack passes the message onto all participants in a channel, including the bot via a WebHook call to Microsoft Bot framework and eventually to your bot code.
Your bot then performs actions required to gather data and formulate a response, such as making a request to the Uber API on your behalf.
The response is then returned to the end user.
The user responds to the bot’s query via Slack, which will again call’s your bot via the bot framework.
The Microsoft Bot Framework manages all state internally so is aware of the current conversational context.
Your bot then does what it needs to do to gather further information from Uber before responding to the user via Slack.
It’s worth pointing out that although the bot framework manages most of the state for you, state is maintained to an extent through buttons in a similar way that Hypermedia APIs encode state through relations.
The average app has pretty bad retention metrics: Most apps aren’t kept longer than a day after users download them. Just over 3% of apps are still active 30 days after being downloaded, even if you manage to keep your app on a device there are no guarantees that the user will open it or give it permission to attract their attention.
Chat applications such as Facebook Messenger and WhatsApp on the other hand have got a billion installs a piece on Android alone, with typical users interacting with chat applications multiple times a day: 1.4 billion people — many of them teens — used a chat app in 2015 – that’s roughly equivalent to the entire population of China or a fifth of the world.
It’s important to understand that Bot’s are not simply about a consumers communicating with computers, bot’s can be used to augment traditional customer services by asking standard questions of the user.
This has two positive effects:
1. Customers who have standard questions get answers very quickly, for example the Royal Bank of Scotland have developed a bot which can answer about 50% of users questions satisfactorily without agents from the bank interacting with the customer.
2. Customer service agents are freed up to spend longer with customers with more unusual questions.
With the rise of text and voice based emotional recognition APIs bots have gained the ability to identify when a user is getting frustrated and hand control over to a human operator to continue the conversation.
KLM (Koninklijke Luchtvaart Maatschappij) Royal Dutch Airlines KLM offers a Messenger bot that provides automatic flight reminders, updates, and access to boarding passes. Passengers can register for the Messenger service during booking. For questions that go beyond the bot’s automated capabilities, passengers are seamlessly connected with a human agent through the chat interface.
Burger King allows you to find a local Burger King and pre-order your food without installing an app, unless you are at London Victoria then you are out of luck.
Amy, currently in pre-release, is an AI-powered personal assistant designed to help you schedule meetings. Users can add amy@x.ai or andrew@x.ai to any email thread about scheduling, and the service takes over as a human assistant would.
There is even a ChatBot powering a new Beer startup in Bermondsey, created by a company called InteligentX they are attempting to “put the customer in the room with the brewer” by introducing a chat bot that asks you questions about the specific batch of beer you are currently drinking. Their plan is to crowd source opinions about the beer using an AI to narrow in on the best beer in one of four types.
If you want to know more, O’Reilly have free book that covers the basis of conversational bots today.
Now we understand what Bot’s are and that we can develop them using commodity services in the cloud we can start looking at how to improve our workflow to deliver software.
Whilst software as a service solutions have given us the tools to delivery quickly, as humans we are rapidly becoming the bottleneck in the system by acting as the aggregator of the information these systems provide.
Businesses are demanding that we complete features faster, and deliver into Dev, Test and Production environments faster and faster. If we try and satisfy these demands ourselves we find ourselves running into three key human issues:
- Cognitive Load, that is the sheer amount of brain power required to do our job – we all have a limit and constantly shifting between complex user interfaces means we hit that limit quickly.
- Information Prioritization, in fast paced, high-value transaction systems it’s easy to miss a key alert that warns that a deployment or system may be at risk.
- Access Management, federated identity gives us the capability to have a single password for the majority of systems we use, however we still have to contend with lockouts and session timeouts that slow us down when we are working at full tilt.
There is a better way, the beauty of using chatbots and AIs is we can offload some of the time intensive tasks such as monitoring the status of services and deployments freeing us up to do what we are good at – getting on with the job of building great systems. This idea certainly isn’t new, the medical industry has been employing decision support systems to aid medical diagnosis for over twenty years.
I think it’s really important to point out that modern text based chat platforms are more than just text. Many, such as slack, support some degree of rich content through Markdown and HTML. This makes for some compelling user interfaces such as the Slack/PagerDuty integration which allows you to interact with a bot to perform you on-call duties.
Now it’s over to you to find other use cases where we could use bots to optimize our workflow, the key is to find areas of your job that could be automated so that we can focus on the things that we are really good at.