Picture this: you're cooking something new, hands covered in flour, and the smell of simmering sauce fills the air. You glance at the recipe and need to set a timer. If you’re staying in the kitchen, a simple physical clock works great—reliable and easy to use.
But what if you need to step away? Maybe the sauce needs to simmer for hours, or the oven timer isn’t loud enough to hear from another room. That’s when a timer on your phone comes in handy.
When implementing this feature, our main goal was to make creating this alarm in your phone as close as "one tap" as possible. We identified and evaluated three primary options:
Choosing the best option depends on balancing reliability, user convenience, and technical complexity.
As long as your app or website is in the foreground, everything works smoothly. Creating a reliable timer is straightforward, and you can easily access APIs to play sounds or make the phone vibrate. The real challenge arises when the user’s focus shifts elsewhere.
Imagine this: the screen turns off, the phone goes into low-power mode, or the user switches to another app. Suddenly, your app’s ability to deliver a timely notification is severely limited. This is where the rabbit hole begins. Push notifications become your lifeline, but they are constrained by multiple layers of restrictions—battery optimizations, connectivity issues, and device settings.
In these edge cases, failing to alert the user at the right moment can have serious consequences. While turning off the stove is ultimately your responsibility, we shouldn’t build a system on a fundamentally flawed method.
Phones should make setting and receiving alerts simple, but many things can go wrong—especially if you’re considering implementing time-critical alerts you’d trust your Christmas dinner to. These are all important factors to consider when building a seamless and reliable experience:
Some of these issues can be worked around. For example, Apple’s Priority Notifications can bypass DND, but getting approval for this during the App Store review is not always easy. Android offers more flexibility but introduces its own challenges.
After testing different ideas, I relized that native alerts of the clock app are just better. They have unique integrations with the OS that are impossible to replicate. They avoid many problems with push notifications and provide a smoother, more reliable experience.
The challenge becomes... How do I create a native alert in the clock app when a user clicks a link on a website? Each platform has its own caveats, but it is certainly possible.
Apple doesn’t let apps set alarms directly in the Clock app, as there is no official API for this functionality. However, there is a workaround we can exploit.
You can easily create an Apple shortcut that creates a timer for a given time.
Then the challenge is to invoke this shortcut from a web page. Fortunately, there is a solution: you can create a URL like this:
shortcuts://run-shortcut?name=forkclub-start-timer&input=120
When you click that link on an Apple device, the shortcut will be invoked.
This method has a few trade-offs:
Once it’s set up, though, it works very well. With just one tap, you can create a timer in the Clock app!
While Android supports the AlarmClock.ACTION_SET_TIMER
intent, using it reliably isn’t easy. The main issue is that it’s not part of the BROWSEABLE
category within most clock apps, which means intents triggered through URLs like intent://
don’t always work.
Adding to the confusion, every phone manufacturer’s Clock app behaves differently. Some support the intent, some don’t, and others use different names for the same feature.
The best solution? Build a custom "fork.club" Android app with its own BROWSEABLE
intent i.e:
intent://timer/#Intent;scheme=forkclub;...
This app can act as a bridge to trigger ACTION_SET_TIMER
on behalf of the user. It’s a lot of work, but it ensures a smooth and reliable experience fairly similar to the apple one.
Timers are more than just tools for tracking time—they make cooking easier, whether you’re in the kitchen or not. Physical clocks are classic and reliable, but phone alerts add flexibility when done right.
We'll split users based ont their platform (Apple and Android initially).
For Apple users we'll:
For Android users we'll:
Yes, we have spent weeks prototyping and investigating all this just to make the experience of clicking a Boil for 30 minutes
link as exceptional as it can be. But oh boy, was it worth it!
Author: Jorge Bastida
Published: January 1, 2025
RFD: #0005
If you'd like to discuss this RFD, share your thoughts, or simply chat about it, feel free to reach out to me - To stay up to date with the project's development, you can follow me on X