AI In Web and App Development
In my last blog post I discussed A Brave New World of AI. This was a general discussion on how AI is making an impact on the world today and what can be expected in the future. However, not all fields of application are impacted the same way and the method of application differs.
In this blog post I am particularly interested in AI for web and app Development. As mentioned in the last post, some of the areas in which AI has an impact is in automated customer support, personalized shopping experience as well as travel and navigation. These are applications of AI that are common use cases for Web and App Development.
The premise in these areas of application is to automate tasks that humans traditionally used to perform and pass them on to AI. This is expected to bring in appreciable efficiencies and allow humans to perform other tasks that AI is not yet able to perform.
There are 3 types of Artificial Intelligence: Narrow or Weak AI, General or Strong AI, and Artificial Super Intelligence. Artificial Narrow Intelligence (ANI), has a narrow range of abilities; Artificial General Intelligence (AGI) is on par with human capabilities; and Artificial Super Intelligence (ASI), is more capable than a human.
It has to be understood that AI at this stage is only efficient at performing certain singular tasks more efficiently than humans are capable. Presently, AI lacks common sense and is at the stage of Narrow AI which is goal-oriented, designed to perform singular tasks.
Chatbots In Websites and Applications
Chatbots are the most common implementation of AI in websites and apps. They are able to conduct conversation via textual or auditory methods. You will find these types of AI in some websites and apps where you can ask questions and get automated responses.
Typically chatbots are designed to simulate human conversation but they are not convincingly able to do so as of 2019 chatbots have fallen short by failing the Turing Test. The Turing test, developed by Alan Turing in 1950, is a test of a machine's ability to exhibit intelligent behaviour equivalent to, or indistinguishable from, that of a human.
They are however practical enough to serve the needs of most customer support functions where customers ask questions and the chatbot responds by either scanning for certain keywords to provide a response or using more advanced language processing techniques.
Chatbots are often driven by a database of responses suited to what the customer is searching for. If nothing relevant is found in the database by the AI, it then escalates the issue to a human operator or offer other relevant suggestions.
At the time of writing this post, most chatbots are accessed via virtual assistants such as Google Assistant and Amazon Alexa, via messaging apps such as Facebook Messenger or WeChat, or via individual organizations' apps and websites.
Personalized Shopping Experience
AI is showing up strong in E-Commerce websites and apps. The inventory for online stores is growing on average. This means that customers may have to spend a lot of effort in finding what they want from an online store.
It is therefore understandable that customers typically will have to browse through numerous products before finding what they are looking for. The search for products on an online store can hence become overwhelming for the customer.
AI can be deployed to track user activity on a website or app and even other websites and apps to which the AI has data access to provide curated experiences for a customer. Using advanced machine learning to remember and analyse browser history, page clicks, likes, shares and purchases, even down to page duration, to gauge interest in certain products, AI can tailor recommendations to the interests and habits of each customer individually.
With this kind of personalization, experiences can be custom tailored to each customer to the extent that the online store can be crafted for that specific customer in every aspect from branding, products offered and layout of the website or app.
Travel and Navigation
The travel and navigation industry is developing very fast with help from AI. We use map applications such as Google Maps to find places and navigate to them seamlessly. However it is not only Google that is utilizing and making progress in this space.
Ride hailing companies such as Uber are providing efficient and affordable transportation across cities around the world. Customers are able to specify their destination with high precision and know how long it will take with the aid of AI that takes into account traffic conditions.
In the travel industry, with the help of AI embedded in websites and apps, services can be tailored for customers depending on their home location as well as their destination thereby providing highly personalized experiences.
From First Principles and APIs
But how exactly do you bring AI to a website or an application? The answer is; there is the hard way and there is the easy way.
The hard way is to go from first principles. Developing AI from first principles means creating the AI from scratch. Doing it this way is not really the role of a web or app developer. It is rather a job for a Data Scientist.
Developing AI from first principles is no easy nor general task, it involves making use of specific programming languages for developing AI, such as Python or C++ or even using frameworks and libraries such as Google's TensorFlow.
Furthermore, developing AI from first principles requires a massive data set on which the AI has to be trained in order to effectively perform its role. Since AI is not pre programmed to perform its task, it has to learn from existing data through a process called training.
Building AI From first principles is the hard and time as well as resources consuming endeavor. As a web or app developer, it is often more convenient to make use of an API that has been developed by data scientists to embed AI functionality into a website or an app.
Application Programming Interfaces (API) are mechanisms that expose the AI functionality to developers who do not need to understand the inner workings of the AI but are able to manipulate it to suit their needs. Examples abound; such as IBM Watson. This is the easy and more preferred way of incorporating AI into a website or an app for a developer.