material-components / material-components/material-components-android

[TimePicker] a more functional digital input design

Open
#4,224 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
Java
Stars
17.4k
Forks
3.2k
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**
Honestly, the [current]() digital input design when creating a new alarm looks visually "pretty" but is functionally clunky to use for a few subtle reasons.

**Describe the solution you'd like**
Out of all the designs to set up a new alarm I came across, so far the most sensible one for me has been the plain and simple "Numeric keypad" from (the now-abandoned) [ClockPlus by philliphsu]().
Some of the usability advantages include:
- not being at the mercy of the generic numpad included in your own installed keyboard software, which usually comes with unnecessary keys like `#-+,.`, meanwhile Clock+ has a custom-made one for itself
- you can hold down the `Delete` button to quickly delete everything you typed
- in Clock+ you start typing on a "blank slate", which is more predictable behavior than the weird pre-inserted "current time" of Material
- with the `:00` and `:30` shortcuts you can input times like `09:00` and `08:30` in just 2 quick taps + `OK`
- ^theoretically times like `09:00` could be made even faster by allowing the user to input just `9` and `OK` (behavior not used by Clock+)
- if the first digit you type is "3" or bigger, it cleverly greys out 6/7/8/9
- if you type `1 2 3` in Clock+ you get a `01:23` alarm, which is a more sane behavior than the `12:03` you get on Material
- if you type `8 2 2` in Clock+ you get a `08:22` alarm, meanwhile in the current Material you're stuck typing `8` in the Hour field
- Note: in 12h mode the `:00`/`:30` buttons are replaced with `AM`/`PM`, so it's compatible with both.

A "fresh coat of Material paint" on top of that little-known but clever old Material design app sounds like an improvement (and default-worthy imo).

**Additional context**
![ClockPlus_Numeric_keypad](https://github.com/user-attachments/assets/97757696-3861-460f-ba9b-27483cc3bc85)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing Android TimePicker implementation and reproducing its current digital input behavior against the examples in the issue. Use the ClockPlus design and attached screenshot as references, then clarify the interaction design and acceptance criteria before implementation; done means the agreed numeric-keypad flow works in both 12-hour and 24-hour modes.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
design, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.