Information workers are constantly switching between communication and productivity tools [czerwinski2004diary, iqbal2010notifications]. For example, people might have an email conversation to decide on a time to meet, then switch to their calendaring tool to add the meeting to their schedule. Similarly, teams might discuss a project over Slack, decide who gets to work on what, then add those tasks to a task management system. These interruptions can add up to reduced productivity and increased stress in the workplace [czerwinski2000instant, iqbal2007disruption, mark2008cost].
In order to reduce the cost of switching contexts, a new category of productivity technologies have emerged in the form of chatbots that can be summoned from within communication channels. People can delegate tasks in-situ to these chatbots, or bots for short, without having to leave the chatroom, messenger app, or email client. For example, a scheduling meeting bot service allows people to delegate the work of scheduling a meeting by cc’ing the bot in an email conversation [cranshaw2017calendar]. Similarly, there is a myriad of bots available in work-centric chat platforms like Slack and Microsoft Teams, from bots that help teams order food [kip], to those that integrate with software development tools [lin2016developers].
Although technologies for team coordination of tasks [Sanchez:2008:ITC:1378773.1378850, Anh:2012:DCP:2372251.2372274] are well-established, the emergence of bots as mediators of work-related activities presents new challenges and opportunities, some of which we investigate in this work.
In this work, we focus on trying to understand how bots can mediate task management through the iterative design, engineering, and deployment one such bot: TaskBot. Members of a team can, for example, interact with TaskBot by mentioning it in a conversation in the team’s chatroom an delegating to the bot the job of tracking and reminding people to complete their tasks (see Figure 1).
We deployed TaskBot in eight different teams of information workers, who used TaskBot to help them track 88 distinct tasks. We present several novel findings on how people used TaskBot to mediate work may be useful to future designers, including how people use TaskBot to assign tasks to others, how created self-reminders with TaskBot, how people treated TaskBot in human-like ways, and how it is a challenge to managing multiple tasks simultaneously.
|Deadline Setting||I’ll be done tomorrow, or Next week, or Thursday.|
|Task Completion||I’m done already, or It’s finished, or Yes.|
|Task Rejection||Cancel the task, or Unassign, or No.|
2 Related work
Chatbots began attracting attention in the formative days of artificial intelligence research[shawar2007chatbots] as a vehicle for demonstrating machine understanding [turing1950computing]. While early experiments focused on free-form conversations [weizenbaum1966eliza], bots have recently become more popular as single purpose tools, performing a complex tasks for people via a conversational interface [cranshaw2017calendar, fast2017iris]. We build on this more utilitarian take on bots, offering a convenient way for teams to track and manage their tasks from within a conversation.
Previous research has looked at the intersection between task tracking and communication. Some systems seek to extend or enhance the email client with extra capabilities to track tasks [bellotti2003taking, bellotti2005quality, whittaker2005supporting]. Our work differs from this approach, in that it does not rely on any particular messaging client, making it more inter-operable with the tools and workflows of peoples’ choosing. Other work has looked at how to proactively identify tasks in messages [faulring2010agent, yang2017characterizing, sappelli2016assessing, corston2004task]
, and for example, classify them and present them in a task-centric interface from where users could easily find people who had performed that task before[faulring2010agent]. While these seamless, proactive approaches show promise, in practice, it is difficult to accurately detecting the users’ precise intentions about a task, so we opt to give them control over when and how they invoke the bot.
A number of products exist for collaborative task tracking for teams, including Trello [trello], Asana [asana], Wunderlist [wunderlist], and Visual Studio Online [vso]. While these products vary considerably in terms of offerings, generally they allow teams to create tasks records, add implementation and execution details, assign tasks to team members, track the task progress, and develop time-lines or plans of execution for pending work. TaskBot extends this basic approach, offering a conversational interface to the core functionality of these tools, using Wunderlist as its backend. Some companies have begun exploring bots for tracking task, including To-do bot for slack [Todobotb64:online] and the Trello bot for Microsoft Teams [TheTrell83:online], however, these bots have taken an command-driven approach to building a conversational user experience, rather than focusing on free form conversational interactions, as does TaskBot.
3 TaskBot User experience
TaskBot helps teams manage their tasks from within platforms they use to communicate. Although TaskBot is available on several different platforms, such as email, Skype for Business, and Slack, in this work we focus on Microsoft Teams, a group chat platform for the workplace.
Once an administrator adds TaskBot to a chatroom, anyone on the team can then interact with it by @-mentioning “@TaskBot” and some of their teammates in a message. For example, Alice might summon TaskBot to help her assign a task to her colleague Bob and follow up with him until he completes the it:
(1) Alice asks the bot to help her track a task for Bob.
Alice: @TaskBot Please remind @Bob to submit the proposal.
TaskBot: Okay, I got your request.
If Alice had mentioned two or more people in her message, then TaskBot assigns the task to all mentioned parties. We settled on this approach after trying and discarding, other methods, including a round-robin approach where TaskBot first asked each person if they could work on the task.
(2) Next, TaskBot asks Bob for an ETA for Alice’s request.
TaskBot: Hi Bob, Alice recently asked you to take this task: "Please remind Bob to submit the proposal." When do you think you can have it done?.
TaskBot: Bot: Okay, got it. I’ll check in with you then.
Because these conversations are one-on-one with the bot, they do not add noise to the to the rest of the team’s conversations:
(3) The next day, TaskBot checks in with Bob:
TaskBot: Are you done with "Please remind Bob to submit the proposal."? If not, when you think you’ll finish?.
Bob: I’m done.
TaskBot: Great job, Bob! I marked this task as complete.
This adaptive approach to following up at the specific time was an improvement over earlier versions of the system, where TaskBot checked on the tasks twice a day (in the morning and in the afternoon), which early pilot participants considered too frequent and annoying.
(4) Finally, TaskBot let’s Alice know Bob is done.
TaskBot: Good news! Bob completed the task: "Please remind Bob to submit the proposal."
|Task assignment||@Bob, don’t forget to finish the report. @TaskBot|
|Self-Reminders||@TaskBot, please remind me to leave at 5pm.|
|Task Termination||I’ve completed this task, or Please cancel.|
|Other||Catch-all: TaskBot replies with “I didn’t understand.”|
We built TaskBot using the Microsoft Bot Framework’s Bot Builder SDK for Node.js. The state of the tasks were stored in Wunderlist and accessed by TaskBot via the Wunderlist API. For this study, all tasks were stored under a central Wunderlist account for which the bot was the owner, but in practice, we envision people integrating TaskBot with their own accounts on task tracking platforms of their choosing.
We implemented a model for detecting intents from users’ utterances using the Microsoft Language Understanding Intelligent Service (LUIS), focusing on two possible categories of messages TaskBot receives from a user:
Reactive messages in response to a key TaskBot’s question: “Are you done with the task? If not, when do you think you’ll finish?” (see Table 1).
Proactive messages, that is, unprompted messages people post in a group chat mentioning TaskBot, or send to TaskBot via direct message (see Table 2).
We trained this model by hand at first, based on lists of keywords we developed to capture these intents, and then we iteratively improved it with users’ actual utterances in several rounds of pilot testing, first within our own team, then in our extended research group.
We conducted a week-long field deployment of TaskBot with eight teams of information workers ranging in size from two to five people, with 19 people in total. Participants were employees from the Microsoft Redmond campus, who were recruited via email using company mailing lists. Five of the eight teams were hierarchical, consisting of a manager and one or more of their subordinates, while the others were peers at the same level. All teams were collocated, and communicated via synchronous, asynchronous, and face-to-face interactions.
A requirement for participation was that the teams of two or more people had to be working closely together on the same project, and all members of the team had to agree to be part of the study. Each team was given a brief tutorial on how to use TaskBot, including the creation of an example task. Over the course of one work week, each participant was asked to create at least three tasks using TaskBot. We also administered pre- and post- study surveys. In gratuity, each participant received a $20 gift card.
After the field study, all the messages written by users to TaskBot (177) were independently coded by two of the authors into 27 categories, that were inductively and iteratively developed to characterize usage behavior. The two independent classifications agreed on 95.6% of all the messages (Cohen’s kappa = .76). The remaining discrepancies were resolved through aggregation or discussion as appropriate.
Over the course of the field deployment, participants created 88 tasks—averaging 4.4 tasks per user. People assigned to those tasks marked 65 of them as “complete.” Figure 2 shows how these tasks are distributed across users and types of task assignment. Table 3 shows how they are distributed across teams. The median number of tasks created per team was seven.
In tracking the progress of these 88 tasks, TaskBot received 177 messages from participants. 22% of these messages were tasks assignments. On average, users sent 12 messages to TaskBot, while users received 54 messages from TaskBot. Lastly, on average, users received 16 reminders to complete their assigned tasks.
From the post-study survey, we learned that six of the 11 people who answered felt more productive, and 8 people will use it in the future, however, 4 people reported finding it annoying. When noting features that were important to them, most said that reminding other people about tasks (10/11), and tracking the progress of tasks (9/11) as important. Six people did not find it important that TaskBot to interface with external task tracking software.
In this section, we highlight seven different patterns we observed from people’s interactions with TaskBot that are relevant lessons for designing work-centric chat bots.111These findings also align with our prior experience building productivity bots [cranshaw2017calendar].
Users particularly enjoyed the ease with which they were able to create and track tasks from the conversation in-situ: “I liked being able to jot tasks down and have them get tracked without needing to go to a separate tool to track them.” However, people expressed concerns about the complexity of using a conversational user interface for handling many tasks simultaneously: “when I received multiple messages I didn’t know how to respond to a specific message/reminder.” People also requested to use TaskBot on other channels instead of Microsoft Teams that they use more, for example, Skype for Business. Five people perceived reminders from TaskBot as invasive or annoying. Some cited the frequency of reminders as the main problem: “The reminders were annoying and too frequent.” Others pointed to their lack of context: “reminders are not context sensitive and would appear at random times and often caused me to task switch when I was focused in doing something else.”
7.1 Handling human-like interactions with bots
People often treated TaskBot in a human-like manner, conversing with it naturally, and politely, using words like “please” and “thanks,” which was somewhat unexpected. We coded all messages for signals of this type of behavior and we found that almost all the participants (93%) interacted with TaskBot as if it was a human at least once. In fact, some users (20%) never interacted with TaskBot as if it was a bot. For example, one of the participants said:
P1: Hi @TaskBot, could you remind @P2 to read the article I shared with him? Thanks!
Unfortunately, TaskBot sometimes failed to understand users when they interacted in polite or human-like ways, because the natural language understanding model hadn’t been trained to handle those utterances, or they asked for something beyond its capabilities.
Designers of chatbots in the workplace should either, explicitly build signals that their bot is not personified, or be resilient to the range of possible responses when when people interact with the bot in more human ways.
7.2 Supporting self-communication
Even though the user training focused on how to assign tasks to others, five users asked TaskBot to create reminders for themselves:
P3: Remind me at 10:15 to leave
In some cases this was a way for people to get started without bothering others, but for some people it became a common practice, not unlike emailing oneself with notes and tasks.
Designers of social chatbots should assume that bots would also be used for self-communication, either as a way to test the system or as a practical use of the tool.
7.3 Hierarchical task-assignment
We observed people using TaskBot to assign tasks to people across different hierarchical levels. The percentage of tasks that were assigned to managers by their subordinates (35%), was almost the same as those assigned to subordinates by their managers (31%). The rest (34%) were among people at the same level. When looking specifically at reminders of pending tasks (as opposed to assigning new tasks), we observed preliminary evidence that managers and subordinates used TaskBot differently. For example, 83% of requests that were upward in hierarchy (from subordinate to manager) were reminders, compared to only 47% of tasks that were downward in hierarchy (from manager to subordinate).
Designers of social chatbots should expect different uses of the same bot based on people’s hierarchy.
7.4 Failing gracefully
TaskBot failed to understand about 10% of messages people directed at it. This often happened because participants did not know the range of features available, and they would try asking TaskBot to do something it cannot do. Also, because TaskBot was not trained with a large enough corpus of data, otherwise simple utterances would fail to be understood. In these circumstances, there were some messages (10.5%) that TaskBot could not understand, and therefore were not answered successfully, for example two of the messages that TaskBot failed to understand were:
P7: How do I reply to a question?
P8: Can you send the consent form again? We’ve filled out the survey.
TaskBot’s reply in these cases was a canned response, “Sorry, I could not understand. Could you rephrase?”
Designers should create bots that fail gracefully when users ask for novel scenarios, and those failures should be categorized as such in order to use that data to improve future version of the bot. Designers should come up with mitigation strategies such as amusing error messages (e.g. Twitter’s fail whale), and provide escalation to humans if possible [cranshaw2017calendar].
7.5 Dealing with human ambiguity
Out of all the dates and times people mentioned in messages, 29% of them were ambiguously defined, with 60% of users mentioned at least one ambiguous date. For instance:
P3: Before tomorrow morning
Sometimes people are intentionally ambiguous in conversations [rong2017managing], so designers of chatbots need to build strategies to resolve certain ambiguities to function according to user expectation.
7.6 Identifying people’s name in conversations
Group communication channels often use a specific syntax to mention people within the messages, e.g. the @ symbol. This helps bots like TaskBot identify when someone is mentioned in a message. However, people didn’t always use the special syntax and this created problems for TaskBot that was not able to understand that a string like “Alice” was referring to a person without the prefix “@Alice.” About 40% of the users experienced issues when they forgot to type the symbol ”@” before the name. For instance, the TaskBot would fail to assign the following task to John:
P4: Hey John, can you finish your tutorial? cc @TaskBot
Designers should find ways of nudging users to mention people in the ways communication channels expect (e.g. using the at sign), or create smarter ways of detecting when a person might be mentioned in a message.
7.7 Handling multi-threaded conversations
One of the biggest challenges for TaskBot and other bots is the difficulty of maintaining multiple active conversations at the same time. For example, some users had multiple tasks assigned to them, and when they told the bot “I’m done with the task,” the bot would not know which task they were referring to. We implemented a solution for this in TaskBot, using a menu for canceling and completing tasks that would list all active tasks. However, this was not the most natural or elegant interaction.
Designers should invest in technology for determining which active conversation thread a new incoming message belongs to.
In this paper we introduce TaskBot, a bot designed to help teams manage their tasks. Users delegate the tracking of their tasks to TaskBot. We described our approach to designing TaskBot, and shared the lessons that we learned from deploying it with eight teams. We focused on identifying design considerations for other bot designers building conversational user interfaces for workplace. As for TaskBot, future work will focus on the following features: exploring the use of multiple communication channels (e.g. email, Skype, etc.), better handling of multi-threaded conversations, and more sophisticated ways of assigning tasks to people based on the task description.