There’s been substantial buzz this past year regarding chatbots, with many Silicon Valley titans calling it the next big thing. As with many new technologies, chatbots will likely follow the Gartner hype curve. We first need to get past the Trough of Disillusionment, and most importantly, we need to understand what Enlightenment will look like.
We feel the chatbot hype is well-deserved, particularly for the enterprise. When executed correctly, the proper approach substantially reduces UI development and maintenance costs while also delivering an intuitive product with greatly reduced training and deployment costs. It’s a win-win for those who author UIs and those who use them. The following sections detail our approach.
The Status Quo
Enterprise integration vendors commonly divide project work into two distinct phases. The first phase involves unifying the client’s heterogeneous and disconnected legacy apps in order to present a common set of service oriented APIs. This is commonly approached using an Enterprise Service Bus (ESB), but any approach that exposes a consistent API is sufficient.
Phase 1 has become highly commoditized as vendors have libraries of adapters that work right out of the box to connect and unify a client’s technology landscape. Teams composed of architects and engineers use well-understood tools to do the work, often outsourcing much of it due to its modularity and adherence to common standards like WSDL, REST, and BPMN to name a few.
Phase 2 is substantially different. This is the point in a project where user experience (UX) experts, visual designers, focus groups, and UI engineers work together to produce end user applications. This space continues to evolve with successive waves of platforms and approaches ranging from desktop to Web to mobile.
While existing approaches to application UI development are adequate, their weakness is that business is a process--something the backend development teams optimized their tooling for years ago. Very few activities happen in isolation, particularly within the enterprise. From RFPs to expense report approvals, our work is flow based, traversing multiple apps and personas. We answer the phone, open an app, send an email, then open another app. We know implicitly what needs to happen to do our jobs. But what the organization actually needs is a way to construct an explicit representation of this process, corralling just the right bits and pieces.
There's an opportunity to align how application UIs get developed and delivered with how business is actually conducted, and chatbots are key. Stop building monolithic apps that target Windows, iOS, Android and the Web (HTML Web apps), and instead treat messaging apps like Slack and Messenger as the deployment platform.
To make all of this work requires three key pieces of technology.
An API-enabled messaging app like Slack, Messenger or WeChat that supports chatbots
- Well-defined company APIs and services
A bot platform capable of:
Natural language processing (NLP) and AI to resolve user intent conversationally
Complex process orchestration to execute the bot’s logic, including long running processes
HTML5 MVC templates to provide Web View vignettes in support of micro-interactions
The chatbot-driven approach simplifies building application UIs by making it a process-driven endeavor. Instead of building monolithic apps, developers model the chatbot to orchestrate vignettes of interaction. The rich UIs of the traditional apps don’t go away. Rather, they’re delivered as micro-interactions, orchestrated by the chatbot’s configuration. Development teams spend less time on visual design, user experience, and other qualitative tasks and instead focus on quantitative tasks like process modeling.
End User Benefits
Once the chatbot is deployed to the company messaging app, an end user might type “I want to change my insurance provider”. The chatbot would then respond and guide them through the entire process. The app is no longer a monolithic structure that is challenging to navigate. Instead, it’s a process-driven set of rules, orchestrated by the chatbot. The chatbot guides the interaction, calling system APIs and engaging the user via the messaging app. If ever the user gets confused, the chatbot’s AI capabilities respond appropriately, helping the user complete the task.
History has shown that mobile apps never fully replaced Web apps just as Web apps never fully replaced desktop apps. And chatbots are no different. They’re another arrow in the quiver of approaches to doing phase 2 work and building application UIs. Where they shine is their time-to-market and end product usability. Engineers stop building monolithic apps, and end users no longer get mired in navigating their complexity.
All the same skill sets on your development team still apply. Usability and UI considerations still remain. But it's process driven, allowing your development teams to finally extricate the application logic from the presentation tier.