Voice as a User Interface?
In the world of information management most are concerned with one important thing... how to store information so users can find it!! Most companies are getting good at this, not great, but good... and they are getting better each year. Unfortunately, they are dealing with even more information than every before:
Microsoft, Google, Amazon and Apple have all demonstrated that people can interface with their services using only their Voice. Of course, us humans are only coming around to fully adopting this as part of our daily lives.... but that is because there are still some barriers. Eventually, those barriers will be removed by some innovation so why not plan for the future and start looking at a Voice UI for Employees to help them get the information they need to do their job better.
Creating a Voice UI for your Enterprise?
Through the use of Microsoft's Bot Framework and some innovation we believe companies can train "Bots" to help employees find information more efficiently and mobile than ever before! If you don't believe, me have a look at this case study by Microsoft where they created a chatbot to assist educators to find training and teaching resources.
When you think of Bots, you may be thinking of "chatbots"... you're right, those are the same bots that would power your Voice UI. Bots are essentially software programs that automate tasks we would otherwise ourselves. There have always been simple bots that provide a very specific service; However, most recently, we are seeing the emergence of intelligent bots that can serve more complex use-cases.
All that is needed is a voice layer for these bots and we're in business, right? Perhaps, but once you layer on Voice, you need to be much more accurate in your responses for it to have utility... 99% accurate according to Google.. for that you need machine learning, combined with a strong foundation in information architecture and data science.
Machine Learning is a must...
You need some machine learning because information may need to be summarized or analyzed to provide an answer before it's sent back to the person asking for information. Without it, you'll just get a list of search results displayed on the screen.... this might be ok in some cases, but to be relavent a number of factors from the user's profile must be taken into account before coming up with the recommended response such as:
Did you catch, that I said "Recommended Response"?
This is very important in the workplace because we need to ensure accountability and that people are making decisions... not machines. The machine should present a response as a recommendation in almost every case unless it's a know fact (e.g. what time is it?)
Types of Bots
Consumer focused bots like Amazon Echo, Google Now, Cortana and Siri are not really used that often in the real-world. Don't get me wrong, they are very great at what they do but they have yet to make things any easier for people... mostly because they are trying to do too much in our opinion. That said, they are paving the way for the emergence of this type of service and Voice UI in the workplace.
Business focused bots are more widely used and everywhere... These bots are available through platforms and interfaces like Slack, Skype, Microsoft Teams, website chat windows, email assistants, etc. Today, these bots are focused on solving specific collaboration, replacing/augmenting emails, information assistants, support, and speeding up decision-making/communications.
Here are a few examples:
Let's face it, SSL encryption is important for any website even if you're not handling credit card transactions. There are a few challenges with SSL though; it can be expensive, renewals are a pain and there is a lot of server configuration required to make everything work well.
When you're using Amazon Web Services another challenge comes up which can be difficult to mitigate with traditional SSL certs; when you want to start autoscaling your infrastructure you could end up with an AMI that has an expired cert on it quite easily.. Fortunately Amazon has thought of this and is here to help us out... welcome the Amazon Classic Load Balancer with an HTTPS Listener..
What is a Classic Load Balancer?
The load balancer serves as a single point of contact for clients. This allows for high availability of distributing load across multiple servers and gives you the opportunity to add and remove instances from your load balancer as your needs change, without disrupting the overall flow of requests to your application.
In addition, you can even get redundancy across multiple EC2 instances in multiple Availability Zones. This further increases the fault tolerance of your applications.
What is an HTTPS Listener?
The listener is part of your load balancer that listens on both the HTTP (80) and HTTPS (443) ports. What makes this interesting for us is that we can listen on an HTTPS (443) port and route traffic to any of our EC2 instances who are listening on HTTP (80).. this means we do not need to manage SSL on any of our web servers because all their traffic is routed through the listener.
Setting up the Load Balancer
Amazon has a great article on this so I'm going to refer you to that to get things setup and start taking advantage of this great service.
Setting up a Certificate
So, here is the magic.. you need to request a certificate for your load balancer using the AWS Certificate Manager. ( https://aws.amazon.com/certificate-manager/) This removes the time-consuming manual process of purchasing, uploading, and renewing SSL/TLS certificates. With AWS Certificate Manager, you can quickly request a certificate, deploy it on AWS resources such as Elastic Load Balancers or Amazon CloudFront distributions, and let AWS Certificate Manager handle certificate renewals. SSL/TLS certificates provisioned through AWS Certificate Manager are free. You pay only for the AWS resources you create to run your application.
Once you setup a certificate you can associate it to your HTTPS Listener and your in business.. no more third-party certificates needed.. all basically for free. Here is some direction to get you started: http://docs.aws.amazon.com/acm/latest/userguide/gs-elb.html
Tip: Updating your DNS
Because the set of IP addresses associated with a LoadBalancer can change over time, you should never create an "A" record with any specific IP address. If you want to use a friendly DNS name for your load balancer instead of the name generated by the Elastic Load Balancing service, you should create a CNAME record for the LoadBalancer DNS name, or use Amazon Route 53 to create a hosted zone
Shane Quigley is an expert in data warehousing, business intelligence, systems analysis, and solution architecture.