Shuang Liu

Printer Service Chatbot

UX Research & Design
Nov - Dec 2017
Chatfuel, JavaScript, Sketch App
To protect confidential information, I removed and edited information in this case study.

Project Overview

During my internship at Lexmark, I partnered with a senior technical staff member to create a chatbot for printer customer support service. This is a proof-of-concept project that aims at exploring the potential of using chatbots for better user experience. I conducted the initial research and created two iterations of prototypes.

1. Motivation

Problem Statement

Issues with current customer service

Currently, Lexmark printer users can get customer help from the Lexmark support site, but it is hard to navigate around the site due to a confusing information architecture. Many frustrated customers can't get the help they need. Lexmark needs to provide better customer service.

1. Information overload on the support site

The Lexmark support site

2. Low-end printer users can't get help

A screenshot of a low-end printer display

3. Disconnected from frustrated customers

A screenshot from the Google app store
Problem Framing

How can we provide on-demand customer service to millions of Lexmark printer users?


Chatbot Opportunities

I collaborated with a senior technical staff member, who has worked at Lexmark for 30 years, on exploring the use of a Chatbot to streamline customer service for printer issues.

Lower the cost

Cheaper than hiring live human agents

Get user feedback

Get data directly from user input

Single platform

One channel to place all the support material

Easy access

Users can use the bot from their favorite apps

Easy to use

No need to search for docs on the support site

Centralized resources

Users with any printer can find resources at the same place

2. Research


Expert Interviews

I interviewed our Knowledge Manager, an Information Developer, a UX Researcher and a UX designer and learned about how the content of the current support site is organized, how support information is provided to customers and related previous UX research.

Key Findings

  • The support site is for both external users and internal technical support chat agents.
  • Top articles were selected by user hits.
  • Lexmark does not have data on support information usage by customers.
  • Some users prefer to use search.
  • For step by step troubleshooting, it is more important to "continue" than "show me".
User Persona

Our Customers

Enterprise printer users usually have professional office equipment repairmen take care of their printer issues. I put our users on an expertise scale (from novice to expert) and listed the needs of each type of user.

Expert vs Novice

  1. Different knowledge level
  2. Needs different level of detail
  3. Familiarity with support sites/tools
  4. Different printers (high-end vs low-end)

Based on my expertise scale, I created two personas: an expert user who has profound printer knowledge and a novice user who knows very little about printers.

The Bot

Lexie is a Facebook Messenger bot, available to anyone with a Facebook account.

3. Design Exploration

Design process

This was my first time creating a chatbot. I gained knowledge about bot design by reading Designing Bots by Amir Shevat and also followed Google's design principles and methodologies. I started the project by identifying the unique design considerations for a printer troubleshooting customer service chatbot. I brainstormed ideas and options for the user and bot interaction.


  1. Create User Personas
  2. Select a scenario
  3. Create user flow and alternative flows
  4. Write dialogs
  5. Test it out
  6. Build and iterate

Since I only had 3 weeks to work on this project, I defined the scope as prototyping a chatbot to provide guidance to users with the most common issues: print quality and paper jams.

Design Considerations

The chatbot for customer service experience is fairly unique. A user following instructions from a mobile chatbot to move printer parts is quite different from buying a book on a mobile app.


If the user’s phone runs out of battery or the user was interrupted, can the user pick up where s/he left off?


The user might need to hold things with two hands and can’t press buttons on the phone.

Company Policies

What if some companies don’t allow users to take photos of printers or printed pages.


If a broken part needs to be replaced before the user can fix the printer, can the user order parts through the bot?

Idea Exploration

With the design considerations in mind, I explored different ways to present troubleshooting guidance. The troubleshooting process can be very different based what the error is. I created a list of WHAT IF questions to help me with brainstorm solutions.

What if Questions

  • What if the troubleshooting process has too many steps to fit in one screen.
  • What if the user is fixing the printer in a quiet office space.
  • What if the user needs to bend over to fix something and the phone is on the top of the table.
  • What if the user needs a new printer part.

Design Options for context

Troubleshooting Content Audit

I analyzed how troubleshooting information is presented on the Lexmark support site. The troubleshooting process has 4 components: 1. Where 2. How 3. Warning (optional) 4. Notes (optional). Let's take paper jam as an example.

Warning design options & defense

I created 4 design options for presenting warning information. I used the QOC (question, option, criteria) analysis to analyze the options and selected option 3.

Option 1
Option 2
Option 3
Option 4

4. Design & Prototyping

Lexie Workflow

I drew a high-level workflow flow for Lexie.

User Onboarding

The onboarding experience should be 1) succinct and straightforward, 2) show the value of the bot and 3) tell the users what actions they can take.

Onboarding Flow

Persistent Menu

The persistent menu located in the bottom of the screen is for primary use cases.

Primary use cases:
  1. New Issue
    • Start a new help session
  2. New Printer
    • User tries to fix a different printer
    • Correct the wrong printer name
User Flow & Scripting

Use Case: Paper Jam

With different levels of expertise, novice users and expert users need different level of help. The workflow should suit the needs for both novice users and expert user.

1. Novice User

  • Actor: Newman
  • Trigger: Home printer has paper jam
  • Goal: Fix the printer problem
  • Precondition: Tried to print a document, but found there was a paper jam
  • Description: Newman uses the Lexmark Bot to diagnose and fix the paper jam issue


Newman has a Lexmark printer at home. One day, when he tried to print out some documents, the printer was jammed. Newman was not sure how to fix the issue and tried to Google around. Newman found Lexmark has a bot service. He installed the bot on Facebook Messenger. He followed the guidance step by step and had to click the “SHOW ME” button on several of the steps for more information. Newman was able to fix the paper jam.

Prototype Novice User Flow

2. Expert User

  • Actor: Eason
  • Trigger: Receive a help request from a colleague
  • Goal: Fix the printer problem
  • Precondition: Office printer was jammed
  • Description: Eason tried to fix the printer based on his experience and a little help from the Lexmark Bot


Eason repairs printers for his office. One day, he got a call from a colleague about a paper jam issue. He quickly made fixes but got stuck at one point. He immediately pulled up the Lexmark bot on his phone and typed in a question. He received an answer from the bot and fixed the printer problem.

Enable shortcuts for expert users

Experts who are familiar with the bot shouldn't be forced to go through the instruction step by step.

Feasibility vs UX

Use Case: Print Quality

Since we are still at the early stage of this chatbot project, the senior architect I worked with was still experimenting with different technologies, such as computer vision. Our technology is not perfect. Therefore, we have to find a balance between the use of technology and user experience.

When users have print quality issues

Existing Solution

Currently, when the printer has print quality issues, the user needs to go to the support Lexmark site, find the page related to print quality, identify the right issue from 20 samples and read the instructions. current steps


  • The troubleshooting process is nested (very hard to navigate there).
  • Finding the matching pattern is extra work.
  • The support site is not mobile friendly.

Design Option 1

Ideally, the user should be able to snap a photo of the print-out and send it to the bot. The bot can auto-diagnose the issue and give instructions. current steps


  • Simple process


  • Users can't send confidential documents to Lexie.
  • Our existing computer vision technology can't classify personal documents.

Design Option 2

With our current technology, the bot can only diagnose the issue if it is a picture of our sample page. The user needs to go through the trouble of printing out our sample page. It might be more work than the current solution. current steps


  • No need to send a photo of a confidential document to Lexie.


  • Extra steps
  • If the user can't do mobile print, the user needs to go through an additional step of sending the sample page from their phone to their computer.

Final Solution

We tried to find a balance between feasibility and convenience and developed the final solution. final solution

Print Quality Prototyping

Testing and Iterating

Usability Study

Use case

Your printer C4150 is jammed. You heard that Lexmark has a bot service and you wanted to get help from the Lexmark Bot.


3 Internal users


Chatfuel Prototype 1.0

3 Key Takeaways

  1. The user was confused by the error messages. After seeing the same error message a few times, the user gets very irritated.
  2. Screenshots from usability testing
  3. Users didn't understand our command example. Participant 2 thought the example is "I assumed it was a rough example I should type."
  4. Screenshots from usability testing
  5. Users tend to interact with the bot as if it were a human, using sentences instead of keywords.
  6. A screenshot from usability testing

Iteration 2.0

“(After triggering the same error message several times) But I’d already progressed deeper in the script before. So I didn’t understand why I had to go back to the beginning again. If you type something wrong doesn’t it take you back to that first level of error again?”
- Participant 2

Error Handling Improvements

  1. Show the default error message the first time.
  2. If users still make the same mistake, switch to a different error message
  3. Echo back to the user.
  4. If the bot can't help the user, the bot should give users other suggestions, e.g., Live Agents.

Design Details

Paper Jam (Expert User)

Paper Jam (New User)


This chatbot project is one of the most challenging projects that I have ever worked on. Since this is a proof-of-concept project, I didn't have financial support to carry out research on the project. I made use of secondary data that I could find. I read through threads on a printer forum and learned the style of language used by online users who seek help with their printers and learned about user behavior from previous usability studies.

Designing a conversational UI is very different from designing for web or mobile. I tried various bot prototyping tools (Bot Society, It's Alive, BotMock and Chatfuel). There is no one ideal tool for bot prototyping. In order to build more robust conversations, I tried to use JavaScript, but my users didn't like the JavaScript prototype, because it did not feel like a bot.

This project is still an early stage prototype. I limited the prototype to one specific printer model (C4150). I didn't have the chance to go through all types of issues and troubleshooting instructions for all Lexmark products. I would also like to explore the design for users with different personalities. Furthermore, to make it a functional product, we need to spend time on developing the back-end to support the bot (natural language processing and computer vision).