Opportunities and Challenges Ahead of Conversational Apps
Conversational User Interfaces have been a hot topic in the tech industry lately. It is named as the next big platform. They have been around at least for 40 years: Eliza (1966), PARRY (1972), ALICE and many more. However, suddenly the big tech has delved so much into it, which has led to its rise to the big scene. What has made it a hot topic is mostly due to cultural shift: people are spending a lot more time in chat applications such as WhatsApp, WeChat, etc. This has created a new opportunity for integrating many other tools inside the chat platforms, and hence, the invigorated rise of Chatbots or conversational apps.
Some people believe that Chatbots are a new opportunity, which will completely change the way we interact with apps, while few others think that it is just a passing cloud that will diminish soon. Instead of looking at it as a binary paradigm, I believe that bots will eventually transform some industries, improve others and will fall short in impacting some markets. In these series of articles, I’m putting across my view on the presumed challenges and opportunities associated with consumer and enterprise markets of Chatbots.
How Conversational User Interface would Improve User Experience?
The most natural (but not necessarily the most efficient) way to interact with a virtual agent or an app is through a conversational interface: a Language User Interface (LUI), which is intuitive and user friendly and that can conveniently perform user’s tasks. This is more easily said than done, as it’s one of the most difficult tasks in developing an app. Building the “right” GUI/LUI requires many iterations, trying different approaches, and finding the best way that delivers the user customized expectations. But why not try something with no interface and allow users to get things done in their own words? Achieving this goal is probably one of the main reasons that companies such as Apple, Google, Microsoft, and Amazon have been heavily investing on assistant software such as Siri, Google Now, Google Assistant, Cortana, and Alexa for many years, and yet customers do not regularly use any of these services for their daily life tasks.
There are many reasons for integrating several apps into our current chat platforms such as WeChat or Facebook M, but the main reason and motivation is that users are spending a significant amount of their time in chat platforms. Installing an app in your mobile OS is still a tedious process; most apps lack the interactivity and dynamic of engaging users, etc. These reasons aside, a conversational interface should deliver two main benefits to users.
When users open an app (like Yelp), they interact with the app through predestined procedures so as to maximize utility of the app. For example, it involves interactions with the app to search for restaurants in order to nail down the end result based on the personal constraints and preferences. A conversational interface will get rid of the procedures and grant the user an interface that directly delivers the expected result. We can issue commands to the conversation app like, “show me restaurants that have opened within an hour?” and the app directly shows the names of the restaurants. This makes the user experience much easier. If we miss any information in the input text-based query, the app can ask a follow-up clarification question (e.g., what is the price range that you are looking for?). This is probably the optimal interaction: process input of the user and ask further information, only if necessary. This interface lets customers interact with the app in the most natural and efficient way.
There is one more main advantage of using a conversational interface. When users are interacting with an app through a conversational interface, it gives them more freedom. If a user opens a health app, showing a text-box or a microphone, gives the impression that the user can ask any question in the form of free-text and get the answer back. That makes one feel liberated!
The State-of-the-Art in Building Intelligent Bots
How easy is it to build a robust conversational app that doesn’t fail very often? This is one of the biggest challenges in Artificial Intelligence (AI). In terms of an AI technology, even converting a command/instruction such as “show me cheap Indian restaurants near me” to a set of executable commands is not an easy task. It requires understanding that the user wants to see restaurants with “Indian” cuisine, and also being personalized in terms of interpreting what users mean by “cheap”. Recently, a great progress has been made in improving accuracy of speech recognition, from 95% to 99%. Achieving accuracy of 99% is a game changer in getting the trust of users to interact with their devices using speech and natural language. However, this is just a prerequisite in building a robust conversational assistant — we still have a long way to go in order to deeply and semantically understand users’ queries and have a meaningful conversation with them.
Moreover, allowing users the freedom to ask free form questions is a greater challenge since it doesn’t limit the extent of the questions. Providing a robust solution, even for a specific vertical as simple as telling you about weather, is still a hard problem. One of the most probable dominant approaches for solving these problems in the meantime is to limit users to choose their preferred option from a given list of commands. This usually tends to consume a lot of users time before getting to their desired result that satisfies their constraints.
It is important to know the state-of-the-art, otherwise companies or developers may end up implementing solutions that hardly scale.
Design of Bots
One of the reasons for favoring a conversational app compared to a native app is basically because developers need to care less about the user experience and the user interface of their bot. Backend code is needed to allow communication with the user through a conversation API. It’s not necessary to have a pretty design and an easy flow. However, that will change with time as chat platforms such as Facebook Messenger allow developers to communicate with their users using rich, interactive experiences. Moreover, it is extremely involving to design a fast and effortless bot, which efficiently communicates with a human. The goal of a bot is not centrally to impersonate humans but to help users to achieve their goals in the fastest possible way. This requires a new way of thinking about UX and design: a shift from technology to design.
Cloud-based On-Demand App Stores
“People don’t need apps for every single business that they undertake”, says David Marcus, VP of Messaging Products at Facebook. This has been a key motivator that led to the development of Chatbot platforms. However, this refers to a more fundamental problem that we encounter when installing apps on the phones. Why does every app need to be installed natively on the phone? Would it be possible for some apps to be fully loaded from the cloud? The answer is yes. Already, there are companies such as Nextbin, which are developing smartphones that are merging cloud and onboard storage. In principle, not all apps need to be natively installed on the phone. Moreover, Google recently announced a new approach called Instant Apps, which bridges the gap between native mobile apps and web apps by letting users to instantly use the apps, even if the app has not been installed in the device.
There is still a barrier in using Chatbots: when the number of Chatbots grows, the Chatbot discovery becomes a problem. The solution might be a “Chatbot store”. There are already Chabot stores such as Telegram Bot Store, Kick Bot Store, or Facebook Bot Store, which are developed to make it easy to find bots. These can be seen as cloud-based app stores and in principle there is no reason that Apple or Google could not extend their own app stores to include cloud-based or on-demand apps.
Head vs. Long Tail
When chatting with your girlfriend and suddenly decide to order her a flower, you may prefer to order it inside the chat. There are even bots that help you find ideas to buy her a gift. But how often are you going to order a flower? If you want to find a restaurant for tonight, are you going to open a chat app, and start interacting with a bot? Users mostly may install an app once and use it for the rest of the time. For frequent issues and queries, apps may still remain the dominant mode of interacting with our smart phones/gadgets. If we use apps for the most frequent queries, will there be a significant value for Chatbots handling only long tail queries?
Bots are Shortcuts
When chatting with a friend and want to show her a list of restaurants for tonight, it is much easier to communicate through a bot, get the list of restaurants and paste it inside the chat for both of us to see. Compare it with opening a new app for searching restaurants then copying and pasting data to the chat. Interacting inside the chat is definitely a better and easier experience. But is interacting through a conversational Chatbot the solution to this challenge? All we need is a shorter and faster way of accessing the information we need. Most of current ecommerce applications in WeChat are non-conversational: they are similar to a regular app that is running inside WeChat. There are other easy and convenient ways to solve the same problem. For example, Google recently launched GBoard, which is a keyboard that allows you to search inside your keyboard and easily copy and paste the search results. With GBoard, you don’t need even to communicate with a chatbot: just search in the keyboard for the names of restaurants, pick the right one, and paste it in the chat. Android N will natively support multiple apps to be opened (iOS already supports it). With all these progresses, it is not surprising that soon we get to a point that copying and pasting information from multiple apps would be as easy as interacting through a Chatbot inside the chat.
Winning Strategy might be a Hybrid Approach.
Do you remember Microsoft Clippy?
It was an assistant user interface for Microsoft Office, which was released in 1997. The goal of Clippy was to provide assistance for users performing basic and advanced tasks. The problem was that it never worked! In most cases, Clippy kept on repeating a script and it ended up frustrating users.
Given the recent advancements on machine learning algorithms for conversational and storytelling approaches, it is prudent to consider building assistants which help users to have a more natural and conversational interaction with apps and also help them to perform easier and faster. In this approach, bots are not going to replace apps, but with a deeper integration, they would help users when using their apps. Bot (or assistants) have access to information of customers by knowing which pages they have visited, what actions they have taking so far, etc. Imagine that you want to choose a restaurant for tonight, you may open the app and perform some searches, but if you have a question about the restaurant’s reviews, you can easily interact with the assistant inside the app and find the answer to your question.
Thanks to Touraj Parang for his valuable comments on a draft of this.