Case Study: How We Built Dialog House, a Chat App Maker Solution
Using chats and chatbots for business needs is not a novelty these days. These solutions help companies build trusting relationships with their communities and facilitate customer service. But what should your business do if you need a chatbot but have no development team? Dialog House is a solid choice for building a custom chat solution.
Nowadays chats have become one of the most used and widespread forms of communication. All around the world, people use various messenger apps and don’t even notice how deeply they have already become rooted in their lives.
Moreover, with fast messenger apps being used more and more often, chatbots and voice assistants have become popular ways to communicate with people, especially in the fields of business and customer service.
But what to do if you want to implement a chatbot in your business, but have no coding skills? The answer is simple: use Dialog House!
Why we built it
Chats and chatbots present many pitfalls that aren’t immediately apparent to people who have never worked with them. Even the most experienced team of web or mobile developers will likely face difficulties while building a chat. Especially if their chat is fully custom-made.
Of course, the situation is even worse for people who want to build a chat or chatbot for their business, but know absolutely nothing about development. For them hiring an entire development team can be wasteful at best, and far too expensive at worst.
A number of platforms exist that provide function sets that help businesses build chatbots, but working with them can be difficult. Their interfaces can be pretty complex or they require a certain level of programming ability.
That’s why our team built Dialog House.
What is Dialog House
Dialog House is a chat app builder that makes life easier for those who want to build a chat or a chatbot and add it to their apps. With the help of Dialog House, you can build a true WhatsApp-like application experience – not just a support chat window.
The suite consists of three parts:
- Dialog Kit
- Dialog Admin
- Dialog Engine
Each part of Dialog House has different functionality and when combined, these parts create a perfectly balanced system for implementing a conversational solution.
Dialog Kit is an SDK (Software Development Kit – a number of development tools collected into a single package) that allows you to create chats and chatbots with a customizable UI for web and mobile platforms. And by “customizable” we mean an almost infinite ability to make the chat look exactly like what your business needs.
Dialog Kit consists of three main modules:
- Dialog Chat UI
- Dialog Core
- Dialog Utils
In Dialog House (and in Dialog Kit in particular), our goal was to combine simplicity in chat and chatbot building with the ability to make the chats look just the way you want them to. Since customizability was our top priority, we decided to create Dialog Chat UI.
Chat UI is a universal component that helps you customize the chat window according to your needs. It’s separated into several parts and each part can contain different elements. For example, you can edit avatar view, the bottom and top bar elements like the “send” and “add an attachment” buttons or the way included links are displayed.
Also, Dialog Chat UI lets you create a custom input window that has the functions you want to implement. Here you can add media attachments or give your chatbot the ability to record voice messages.
The Core module is responsible for the main logic of the chat or chatbot you are creating. It consists of Chat Engine, Chat Encryption, Chat Media Storage, Chat Web Socket and Chat API Client. All these parts can be easily updated or changed as needed for project implementation.
Utils in Dialog Kit is a set of main and additional extensions that are used in the previous modules (for example, Push Notification Handler).
The modules can all be used either together or individually, depending on whether you are building your chat from scratch or as part of an infrastructure that already exists.
Dialog Admin helps with bot skills management and uploading data sets to train it. What’s more important, the Admin module enables you to build conversation templates for any platform and any occasion depending on the bot’s purpose. For example, a simple template for an insurance voice bot might look like this
With the user-friendly admin panel, you can visualize and test chatbot performance and make sure it works just as expected. What's more, you can also use the built-in analytics tools to examine the results and rearrange the chatbot template as needed.
When a chatbot template is created, it’s time to answer two important questions: What tools will be used to deploy the bot and what platform will host it? Dialog House has the answer to both these questions, and it’s called Dialog Engine.
Basically, Dialog Engine is a backend for chatbots. Our team created an engine-agnostic runtime built on top of cutting-edge technologies. This module takes the pain out of choosing tools for deployment. Every tool needed for the bot to function is already listed in a dropdown menu. All you have to do is pick a service where the bot will be deployed.
The second issue – choosing the platform – is also easily solved with the help of a dropdown menu. The only things that might be required are some manual actions from the platform side, like receiving a security key for Telegram or creating a page for Facebook.
Dialog Engine is designed to work with Dialog Admin, so it makes setting up the full pipeline for dev-staging-production a breeze (and no coding experience is required).
Development Challenges & Solutions
As mentioned above, we rejected using iOS Auto Layout so that we could provide users with the utmost customizability and create a unique universal layout for chat windows. However, doing this required revising some old documentation, so that we could make the layout work as we needed. After doing some research, our team created an easy-to-use, fully customizable and user-friendly UI-component.
- PubNub old framework
When we started working on Dialog House using PubNub, we used a framework with the PubNub Objective-C SDK. But that framework was updated, and the SDK was rewritten in Swift. We had to adapt to this new tool and change some points in the core logic of Dialog House. Currently, the suite functions flawlessly with the Swift SDK.
Moreover, you can now add other chat engines and switch between them in seconds, making the final result as convenient to use and manage as possible.
It took us four months to develop Dialog House, and we still update it to make the service even better.
Six people are working on this project:
- Project Manager
- iOS developer
- Android developer
- Two web developers
Our team wanted Dialog House to be completely unique, easily updated and engine-agnostic, so most of its components were implemented without using any external frameworks. We even refused to use iOS Auto Layout, as it was not as fast as we needed for the project. Instead, we opted to build our own universal layout that would be convenient to use and customize.
However, some complex processes and operations are best implemented using trusted solutions. This reduces the chances of making mistakes in core functionality and provides future users with smooth and seamless performance. For these reasons, we used Cloudinary as the tool for building media storage and PubNub Chat with Swift SDK as the chat engine that processes all conversation flow and manages sending and receiving messages.
PubNub Chat significantly sped up development and cut down on infrastructure costs. This tool helped us quickly and easily implement the basic features and business logic of Dialog House. PubNub Chat is scalable, customizable and secure (which is really important nowadays), and its functionality was just right for project implementation. Also, the Swift SDK provided by PubNub was convenient to use, so our team opted for this variant.
Each part of Dialog House is a SaaS (Software as a Service) solution, which means Dialog Kit, Dialog Engine and Dialog Admin are licensed on a subscription basis and are centrally hosted. This allows you to buy only the solutions you need for your project, not the entire suite at once.
To sum up
Implementing a chatbot for any business can be a great solution for customer service. And now there is no need to worry about hiring developers or learning to program. Dialog House will save the day. If you need a custom solution for your business, we are here to help you, just drop us a line!✔Read next: How to Develop an App like Clubhouse: Cost, Tech stack, Pitfalls
Get weekly updates on the newest design stories, case studies and tips right in your mailbox.
Some circumstances can make a non-marketer do marketing work. There can be a need for a regular check-in or simply an absence of marketing specialists. Since an advertisement is one of the most important tools for marketing, working with advertising platforms like Facebook Business Manager is inevitable. Keep reading to find out how to work with Facebook Ads!
Making your idea come true is hard. A lot of steps should be taken into account, yet the final result can still fail. One more way to prevent failure from happening (to some extent) is to ensure that business needs are considered before technological implementation. What do we mean? Keep reading to find out!
Testing is an essential step in software development. Every function of your app must be perfectly polished, or it might crash on your users during a sudden huge load or after your latest update. How to test your app to keep this from happening? Well, we’ll help you figure that out.