All projects Next project

Designing Calendar Mobile App for Enhanced Productivity

project bio

Project Overview: This real case from work outlines the comprehensive process of creating a new calendar mobile app designed to enhance productivity and streamline event management for users.

Team and Duration: This real-world project was a collaborative effort involving a product owner, a team of programmers and one designer (myself, Elina Karamova). The project lasted 1 year (2023-2024 years).

Business Challenges:

Design Goals: The primary goal was to develop a user-friendly and feature-rich calendar app that caters to diverse user needs, ensuring seamless event scheduling and management. 

Users: Company employees scheduling daily work meetings with colleagues on their calendars.


Design procces

1. User Research

Interviews: Conducted extensive interviews with 30 respondents working with mobile calendar apps to understand user pain points, preferences, and expectations.

Each interview followed a structured approach with open-ended questions designed to explore:

Results of interviews: 

Planning

Meetings

Push


2. UX/UI 

The functionality of the mobile calendar application was designed and developed iteratively and was divided into several features, which will be described sequentially below.

1. Viewing calendars events in day view mode 

1.1 Ideate

The first feature allows users to view their calendar events in a detailed day view mode. This mode provides a comprehensive and organized display of all events scheduled for a specific day, allowing users to easily track their daily appointments, meetings, and tasks. Key functionalities include:

1.2 Competitor analyses 

The comprehensive analysis comparing Outlook, Google Calendar, and Apple Calendar across various features and functionalities:


Outlook: 

Google Calendar: 

Apple Calendar:

Results: Based on the analysis of competitors, a decision has been made to implement a list view mode displaying events as "sausages" to represent their duration. At the top of the page, there will be an expandable calendar showing busy times, with swipe and scroll gestures enabled. Tapping on an event will open a detailed view with editing capabilities. 

1.3. UX/UI 

For the design system, I've developed the following components adhering to the M3 Material Guidelines:

Interaction and Swiping Functionality:

   Corner cases:


2. Navigation between calendars  

2.1 UX/UI 

Navigation within the calendar is displayed in the "Drawer" component. The drawer covers the entire body area, providing key navigation between application components. The driver does not cover the Status Bar. Account data is displayed at the top, then a list of calendars, a data update button, and at the bottom there are links to general sections (settings, feedback, help center).

All connected calendars are displayed in one list. By default, all calendars are enabled. When a new calendar is added to the list (for example, a new calendar was shared with the user), it appears enabled by default.

The user can control the visibility of both all calendars and individual types. Types of calendars are on the first level, the calendars themselves are on the third level.

All calendars are grouped into two types:

   Corner cases:

3. Creating events and editing fields 

3.1 Ideate

The second feature provides users with the ability to view and edit all the details of their events. This comprehensive editing functionality ensures that users can manage their calendar events with precision. Key functionalities include:

3.2. UX/UI  

An event can be created in two ways:

1. Tap on a free area of the calendar   the Bottom Sheet component opens to quickly create an event without filling out a large number of fields.

2. Tap on the fab button the full event creation form opens with all fields available for filling. The screenshot shows the empty (min) and filled (max) state of the following fields:


Below will separately described the operating principles of UX and UI patterns of certain fields that have the most complex operating principle: 

3.2.1 Start and End Date fields


3.2.2 Resources and Attendees

When a users taps on the item “Add resources” / “Add attendees”, a new screen opens. 

Adding both resources and participants works in the same way:

When focused, the field displays the Suggestion component with a list of all resources in alphabetical order. When a user enters text into a field, the results in Suggestion are filtered according to entered query.

  Corner case If entered email of attendees isn't valid, client will show alert about it. 


3.2.3 Set the recurrence for event

  Limitation of the feature — along with the product owner and development restrictions, custom reminders were not considered, so the most commonly used repetitions were implemented. By tapping on the replay field, in this version a bottom sheet with the following options is displayed:


For events whose date and start are within the same day.


For events whose date and start are on different days — only the start date of the event is displayed on dat, weekday and month positions. The preposition "on" changes to "from".

For events that have the “All day” switch enabled  events are displayed in the events area for the whole day. 


3.2.4 Reminders 

  Limitation of the feature — along with the product owner and development restrictions, custom reminders were not considered, so the most commonly used repetitions were implemented. By tapping on the remainder field, in this version a bottom sheet is displayed with the following options:


For single and recurrent events in one day: 

For events with duration longer 1 day: 

For all day events:

Depending on the reminder set, user will receive a push notification on their mobile phone (shown in the last mockup).


3.2.4 Calendar and Status

For setting both Calendar and Status using the Bottom Sheet component. 

Calendar   by default the event is created in the default users calendar, but in the Bottom Sheet user can change to another one while creating and editing event. 

Status have Busy/Free options. If user set status busy, then another will set busy timeslot for set event there. 



5. Viewing event mode 

Users some functionalities depends on their roles:



3.3. Analytics  

3.4. Plans for the future 


Results of project

The Calendar mobile app project was designed to enhance productivity and streamline event management for users. Spanning from 2023 to 2024, this real-world project involved a cross-functional team, including a product owner, programmers, and designer Elina Karamova. We achieved the following results:

Design Goals:

Business Achievements:

  Future plans include expanding functionality and integration, coming to Android and iOS stores, refining features based on usability tests, and leveraging analytics to enhance user retention and engagement. 



All projects Next project