material-components / material-components/material-components-android
[TimePicker] a more functional digital input design
Nobody has claimed this yet.
- 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**

Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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