How to

Designing the intelligent assistant: Part 1, design principles

Editor’s Note: Elastic joined forces with Endgame in October 2019, and has migrated some of the Endgame blog content to elastic.co. See Elastic Security to learn more about our integrated security solutions.

As we enter 2017, there has been one particular user experience (UX) trend that designers can no longer ignore: chatbots.

intelligent-assistant-pt1-graphic-blog.jpg

While some debate their practicality, others believe it to be the internet’s next wave of innovation.  And despite some noticably terrible attempts at chatbot implementation, there is a huge surge of virtual assistants coming your way in 2017, whether we like it or not.

intelligent-assistant-pt1-clippy-blog.png

The Original Digital Assistant

Most discussions on chatbots emphasize the underlying artificial intelligence aspect, but the UX component is equally important.  Chatbots need to be effective in capturing a user’s needs, and quickly deliver the expected results without added complication or the use of complex methods to input commands.  This is true of any successful application, where the ease of workflow is seamless. As Joe Sparano noted, ‘Good design is obvious, great design is transparent’. For designers, ‘a simple workflow’ is the result of countless hours of research, implementation, and expert feedback, repeated in an endless loop. If the chatbot is more of a nuisance than an assistant, ignoring instead of augmenting the natural workflow, users skeptical of chatbots will view the technology as yet another tech fad that is over-hyped and under delivers, and would be quickly cast aside.

Knowing well the promise but also potential landmines associated with chatbots, we began the journey of designing our new intelligent assistant for cyber defense, Artemis. I’ll briefly walk through our use case and decision to integrate a chatbot into our platform  (which will be expanded upon in a follow-on post), and the key design principles we implemented and researched along the way.

Is a Bot For You?

Infosec is non-intuitively a natural use case for a chatbot. Infosec operators and analysts generally are overwhelmed with data, often have limited time and resources, and need their questions answered ASAP. As UX designers, we understood the key pain points and requirements for the analysts and operators who would be using our platform. These included anything from alert fatigue to data navigation to eliminating the necessity to learn complex and proprietary machine languages to perform even the most basic of tasks. In addition to significant design innovations throughout the interface, a chatbot seemed like a logical component to augment the user’s workflow.

As we designed Artemis, we constantly sought best practices and design principles to ensure Artemis augments the SOC analyst. Let’s take a look at some of our key take-aways that are relevant for anyone who wants to jump on one of the year’s hottest tech trends and ensure it truly augments the user’s experience.

Creating a Successful Bot Workflow

Below are several notable design interactions and useful guidance our UX team has integrated while creating Artemis.

There’s no need to reinvent the wheel

Chat is a pretty well-defined medium. There are countless apps in the market today that pull from preexisting chat paradigms.  Every user is familiar with the basics of call and response: The chatbot asks a question and in return you provide a response. We built upon this established foundation to instead focus our efforts on improving optimization to the user.

Provide your user guide rails

Chatbots can be characteristically ambiguous without proper guidance. Let’s imagine the user’s first interaction with an unprompted chatbot - they will either be confused about what exactly they should type or confused about what the chatbot can offer them. From the very start, provide your users a short introduction that bridges directly to quick call-to-actions. While we allow the user to engage in simple conversation with the Artemis, we purposely drive each starting conversation with contextual call-to-actions that map to and are relevant for the specific view within the interface. Start thinking of ways to subtly sprinkle ‘guide rails’ throughout your chat UI to enable your user to take action, such as those in the graphic below.

intelligent-assistant-pt1-guide-rails-blog.png

Guard Rails Provide Context for Users

Get to the point  

When designing a utility chatbot, the user will most likely have a goal in mind the moment they initiate a conversation.  Your user could be ordering flowers, booking a hotel, or in our particular case, gathering sensor information around active endpoints to look for anomalous activity in their environment.  It’s important to remember to avoid letting conversation get in the way of action. We want to allow the user to drive as fast and efficiently as possible. The last thing they want to do is navigate through rhetorical questions and ‘cute’ persona-based responses. And unlike booking a hotel, our particular use case has users interacting with the chatbot throughout the day, gathering information on their endpoints or triaging suspicious activity in their environment. Having the chatbot initiate even just a few lines of human-like rhetoric can be quite annoying after your fiftieth query prompt. In cybersecurity, even seconds matter - there is no room for cuteness when the proper interaction may impact the dwell time of malicious activity.

Don’t design for the edge case  

Designing for every interaction can be a cumbersome task when creating a chatbot. It can be quite daunting to try to account for every input from a user and provide a custom response back.  In fact, the more branches you open in a conversational tree, the higher likelihood your user will hit a dead end. For a utility model, structure your user’s expected input until you have reached safe place to explore in plain text.

Provide a way out of the rabbithole  

Expect the user to make mistakes. Your chatbot may have correctly guided your user down a logical path of action, but your user may not have started with a set of correct base facts.  Build in a set of interactions for the user to make changes, walk back up the conversational path, or completely restart the conversation over again.

Rethink the role of traditional design

Are you a designer working on a chatbot? Great! Now roll up your sleeves, because we are now going outside the comfort of pixel pushing and into writing conversational dialog. Most conversational chatbots try to mirror human speech, while assigning it an identity that pushes the company’s brand identity. For instance, our users are often purpose driven to a particular set of unique tasks. This required our designers to create a dialog that both educates the user on their system’s environment and optimizes the speed at which they can set tasks, while also maintaining our brand identity.  So it goes to show, as a designer, you should be heavily involved in the writing process. Your chatbot’s conversational skills are only as strong as your writing. Writing purposeful and engaging conversations to your user is now your UX. Lorem ipsum is no longer your friend (but really, it never was).

intelligent-assistant-pt1-conversation-blog.png

Beyond Lorem Ipsum

Incorporate feedback loops

As UX designers, we are always thinking how can we optimize the experience for the user.  Traditional user-research heavily involves understanding your customer’s need through a variety of user research methods.  Defining what works and what doesn’t is the sole foundation for great design.

An easy UX win, when designing any chatbot, is to include a feedback loop at the end of every successful (or unsuccessful) interaction.  Your chatbot may save an entire history of conversational information, but providing a purposeful feedback outlet to the user can cut the root of the problem. After the user completes a successful query, the chatbot can prompt the user to optionally input feedback on the most recent conversational path.  A simple prompt from your chatbot could capture frustrations from the user, workflow gaps in our design or even bugs.  

To Bot or Not?

While some are betting on 2017 as the year of the chatbot, it is important to remember that chatbots take an extreme amount of thought and process. It’s easy to make a terrible experience for the user, and extremely difficult to get it right without the proper design principles. The most important first step is defining your business needs and deciding whether your user truly needs a bot. If the answer is yes, be sure to keep in mind the design principles summarized above.  

With those in place, the next step is to gather key lessons learned from those in other industries. In the upcoming weeks, I’ll address those lessons learned and apply them to our specific use case in endpoint security. And remember, as UX designers, we never compromise at the expense of the user. We know from experience that often times it takes a whole lot of effort to create the effortless.