Microsoft Teams: Meeting Scheduling

Project Overview
I primarily worked on Calendar features for Microsoft Teams (MAU of 25 million+ users at the time). Enabling our users to schedule events (meetings & appointments) efficiently and effectively was our core problem area.

Scheduling Assistant is a feature associated with the meeting creation flow, aimed to help find a suitable time slot for a meeting for all participants. It does so by identifying and exposing available, overlapping times across participants' calendars. It can also display availability of meeting rooms through the same experience, allowing for quicker, more seamless and well informed meeting creation.
Impact
Scheduling Assistant was successfully shipped to 25 million+ users across the globe in late 2019.

Meetings created/ edited on Teams increased by 41%. The revised scheduling form + scheduling assistant resulted in it taking 28% less time to create meetings on Teams.

Received a design patent
I filed for and received the first design patent for our team in Bangalore, India.
Teams: Scheduling Assistant
UX Designer
July 2019  – September 2019

My Role: UX designer

UX designer on this project.
I collaborated with a design systems designer, product manager, UX writer and 2-3 engineers.

Target user:

Organiser of an event , ideal for events where the meeting size is above 3 people.

Problem

Incomplete meeting creation experience

  • Difficulty in viewing available time slots for a meeting between all attendees, especially across timezones
  • Unable to view availability of rooms, especially across locations
  • The MVP created for Teams didn't include all the functionality that Outlook offered, leading to users choosing to schedule meetings on Outlook instead of Teams

Unfamiliar interface, interactions and mental models

  • Users were used to Outlook's Assistant, while Teams' MVP looked and functioned nothing like it
  • Access to Assistant on Teams was hidden as opposed to holding a prominent place in the meeting creation experience

Objective

Business Goals

  • To alleviate the need for users to switch tools to schedule meetings.
  • To complete Teams' feature stack for meeting creation.
  • To reduce drop-offs during meeting creation on Teams.

User goals

  • To find suitable meeting times between participants quickly and easily.
  • To schedule a meeting with conviction and ease.
  • To find and book meeting rooms across locations.

Teams upheld Microsoft's vision to empower people and organisations to achieve more. It was built to compliment Outlook and boost productivity by syncing seamlessly with it. Both Outlook and Teams belonged to the O356 suite. Teams was being sold on a freemium pricing plan, which meant that users' expectation model would demand parity between the two products in the same suite, especially for apps like Calendar that carried out the same and/or similar tasks.

Before we redesigned this experience, Teams' Scheduling Assistant was nothing like Outlook's– in functionality, interface or architecture. This was potentially throwing users astray by increasing cognitive dissonance. It also lacked all relevant functionality.

When we decided to solve these core issues, our team was gifted the opportunity to use legacy as a means to learn, align and speed the process of designing Assistant.

Learn from Outlook's framework and derive insights to improve the original architecture of Scheduling Assistant.

Align
Teams' architecture with Outlook's to match user's expectations and mental models.

Speed the building process by using Outlook's codebase.

An additional opportunity was to improve Outlook's experience to solve for a pressing time scheduling issue for global, remote teams.

Jobs-to-be-done

  • Add/ remove participants
  • Categorise participants as 'required' or 'optional'
  • Add/ remove meeting rooms
  • Set/ modify meeting parameters like date & duration
  • View empty meeting slots
  • View availability of individual participants and rooms
  • View working hours of all participants
  • Mark participants as 'optional'
  • Share the meeting with a channel (Teams specific)
  • Schedule the meeting



Learn, Align & Speed: Feature framework

There are two parts to Assistant's framework: 'Teams specific' and 'derived from Outlook'

Key interfaces, flows and considerations

Below are some sample screens, which were delivered to engineers. This was then shipped to 25 million users across the globe. Many of the components that can be seen in these designs are native to Microsoft Teams' design system. It was imperative for us designers to use these reusable components for consistency and ease of development. A few components however, like the availability pills, were introduced into the design system specifically for this feature. The legend however, maintained that of Outlook's for familiarity and continuity. Another feature that was introduced here was the summary 'Peek' (shown below). It's inspired from other Peek's on Teams, and maintained the specs of all others on the platform. It's an enhancement from Outlook's experience and is aimed at quicker decision making.

Cross-platform feature design: Location picker

Meeting location as a feature that scaled across devices and platforms offered a unique opportunity to customise its functionality to suit the device and thus its use cases.

There were two core scenarios to consider across devices:

  • A meeting might be intended for multiple teams across geographies
  • A large meeting across geographies might mean multiple meeting rooms

Design iterations

I went through a few iterations for this feature.

  • Aligning the Assistant's functionality, features and interaction patterns to Outlook for relatability
  • Navigating a legacy codebase when deriving new design decisions; for instance, edge cases and how overlapping meetings would work
  • Improving Assistant's usability with feature improvements like scheduling across timezones and editing a meeting with increased transparency
  • Using Teams' rich design system to align the designs with the rest of the product

1. Timezone feature (improvement from Outlook, but rejected later)

Originally, the attendees were segregated by timezones. But, why?

Teams' largest customers are large, global organisation with teams spread across geographies. Scheduling meeting across cities and countries is common. However, finding a common time keeping time zones in mind is a manually intensive process with high cognitive load and time spent.

Proposed a solution through design

The solution automatically separated participants into their respective timezone 'buckets'. But more importantly, it displayed the corresponding time across relevant timezones so that the organiser might choose the most respectful times for all attendees.

However, our technical constraint was that we couldn't detect the location of the attendees. While we tried different approaches like looking at working hours to define timezone or extracting location data from Outlook, we soon realised this wasn't possible.

2. Edge cases (improvement from Outlook)

Through data from Outlook and collaboration with engineers, several edge cases presented themselves. Designing solutions for these were challenging, in part because they threatened to modify the core design. Given that these were edge cases, we created workarounds instead. This journey had a valuable learning embedded in it – accounting for them in the design process is crucial. Else the system can break in the rare chance that they may occur. Some examples below:

3. Overlapping meeting (improvement from Outlook)

Teams' largest customers are large, global organisations with big teams. It isn't uncommon for individuals to have multiple meetings scheduled (either accepted, tentative or optional) at the same time. A calendar needs to represent these conflicts effectively. An assistant needs to follow suite, albeit with reduced levels of granularity.

Initially, our solution was optimised for 2 overlapping meetings (the average as we learnt through data). However, this solution would breed errors while coding. We therefore came up with a new design solution entirely to deal with overlapping meetings, without limiting our solution to 2 overlapping meetings. Our new solution would:

  • Use stacked pills for overlapping meetings along with a peek on hover for details
  • Work for any number of overlapping meetings
  • Maintain the teams design system
  • Slightly modify how Outlook handled overlapping meetings
  • Ensure only the required amount of detail and fidelity of overlapping events was provided to the user

This, in addition to handling any edge case that cropped up, would also provide users with the opportunity to have any offline conversation to resolve conflict issues if needed. It provided them with information clearly and contextually.

Consumer and team impact

  • Received a design patent
    I filed for and received the first design patent for our team in Bangalore, India.
  • Efficiency and effectiveness
    Meetings on Teams could now be created faster, easier and quicker
  • Increased functionality and overall experience upgrade
    Meetings room(s) could now be booked during the meeting creation experience itself as opposed to being a separate step in the process
  • Hand-offs to developers made easy
    My manager described the design hand-off to developers as " one of the easiest and most efficient hand-offs"

Personal Growth

  • Collaborating with engineers
    To create a more collaborative way of working with developers earlier on in the process
  • Refining a solution with constraints
    That sometimes edge cases can help steer the overall design solution into a more refined version of itself
  • Working with tech constraints
    How to work with a complex code base and a defined design system to build a solution that is user friendly and effective

I was trusted to be the primary owner of this feature. To ensure I carry learnings from this experience and others with me, I documented key takeaways in this article.