Building New Feature: Insert Past or Future Dates with Text Expander

The challenges while building the feature to insert past or future dates.

Building New Feature: Insert Past or Future Dates with Text Expander

Two years ago

It was end of May 2020 when Typing Hero shipped with a feature that lets you insert current date and time in any format just by typing a short keyword.
You don’t have to spend time looking at the calendar or clock, and typing it manually ever again.
Since then, people were asking for the feature to insert past or future dates multiple times.
I did not build the feature then as I was prioritizing other features to make Typing Hero on par with other text expander apps.

June 2022

A paying customer in the Telegram group asked, “Is it also possible to set future date?”
User requesting feature in Typing Hero’s Telegram group
User requesting feature in Typing Hero’s Telegram group
It’s the same request that I’ve heard multiple times in the past 2 years.
Typing Hero is in better state than it was 2 years ago.
It is more advanced than any other text expander apps for Android.
In fact, other text expander apps started to follow what Typing Hero is doing.
Since the situation is different now, I decided to build this feature.
But apart from that, I decided to build it because I understand that there are valid use cases to insert past or future dates.
Here is an example.
Hey Jane, Thank you so much for raising this issue. As we have never encountered this, we need more time to investigate. Today is 11 June 2022. According to our SLA, we will come back with a response on 14 June 2022, 3 days from now. Please be patient. Thank you!

Show time

This feature requires work on many fronts.
  1. UI/UX to configure the desired past or future dates
  1. The format for past or future dates placeholders in a template
    1. Render the placeholders to make them visually different
  1. Transforming past or future dates placeholder into its intended value when replacing keyword
I will not touch on 2 and 3 in this post as they are rather trivial.

Configuration for past or future dates

It is obvious that users must configure these properties to insert past or future dates.
  1. Type: Past, Future
  1. Unit: Day, Week, or Month
  1. Value: the number of Day, Week, or Month in the Past or Future
  1. Format: the desired date format
There are so many aspects to configure with a lot of options to choose from.

Existing design

Since I have no idea how to get started, I decided to look at existing design to insert current date.
notion image
There is a chip labeled with Date at the bottom.
Tapping on the Date chip will show or hide the chips above that are labeled with common date format.

New design experiments

At this point, I think it is a good place where user can configure past or future dates as well.
I experimented with it a bit as follow.
Iteration 1. Adding 1 section below common date format section.
Iteration 1. Adding 1 section below common date format section.
Iteration 2. Adding 2 sections above common date format section.
Iteration 2. Adding 2 sections above common date format section.
Iteration 3. Same as 2, but using different UI component.
Iteration 3. Same as 2, but using different UI component.
From those experiments, I learned that putting it under the Date chip is a terrible idea.
It’s becoming really crowded, cluttered.

Final design

I decided not to put it under the Date chip.
Instead, I introduce Past or future date chip at the bottom.
When tapped, it will show the UI to configure the desired date using a dialog.
It looks like this.
Iteration 4. Using dialog to configure past or future date.
Iteration 4. Using dialog to configure past or future date.
The actual past and future dates are used in the UI to configure the desired dates, as well as when displaying the past and future dates placeholder.
notion image
notion image

Closing

I decided to focus only on date for now. If you have use cases to insert past or future hours, please share them with me.
This feature to insert past or future dates is now available for all users.
You can download and install the text expander for Android Typing Hero from Google Play.
Sen

Written by

Sen