Ripple
Ripple (v0.1.5) now runs on both Android and iOS (iOS 16.0 and later). Built on Apple's official Screen Time frameworks (FamilyControls, ManagedSettings, and DeviceActivity), the iOS edition prevents impulsive app removal, enforces a 15-minute to 2-hour monotonic cooldown before rules loosen, and supports an 8-character Friend or Parent Unlock Code.
Apple's built-in Screen Time is easy to set up, but three things often go wrong in daily use. First, when you set limits for yourself without a passcode, one tap on "Ignore Limit" or "15 More Minutes" dismisses the shield right away. Second, the 4-digit Screen Time passcode is short enough that kids frequently watch a parent type it or guess it. Third, many third-party blockers can be removed from the Home Screen in two seconds when willpower drops. Ripple for iOS addresses each of these weak points directly.
When you turn on Anti-Uninstall in Ripple, it sets store.application.denyAppRemoval = true through Apple's ManagedSettings framework. iOS disables app deletion on the Home Screen so neither you nor a child can delete the blocker on impulse.
Ripple ships with two dedicated system extensions: RippleDeviceActivityMonitor and RippleShieldConfiguration. Even if the main app is swiped away, iOS automatically displays the full-screen "Take a breath and pause" shield as soon as a daily quota expires or a focus schedule begins.
Tightening rules takes effect immediately. Raising a daily limit, turning off a schedule, or disabling Anti-Uninstall starts a 15-minute to 2-hour countdown powered by ProcessInfo.processInfo.systemUptime. Changing the iPhone clock or timezone in Settings does not shorten the timer.
Hand an 8-character unlock code to a partner, friend, or parent so you cannot bypass limits on impulse. All rules and tokens stay inside the local App Group container (group.com.slowisle.app) with zero cloud uploads.
| Feature | Ripple for iOS | Apple Screen Time | Opal / One Sec |
|---|---|---|---|
| Friction Before Relaxing Rules | 15m to 2h monotonic cooldown or 8-char Unlock Code | 1-tap Ignore Limit or 4-digit PIN | Strict mode locked behind paid subscription |
| Prevent App Deletion | Yes (ManagedSettings.denyAppRemoval = true) |
Built-in, disabled once 4-digit PIN is known | Paid tier only |
| Clock Tamper Protection | Yes (ProcessInfo.processInfo.systemUptime) |
Manual clock changes can desync quotas | Partial |
| Works When Main App Is Closed | Yes (native DeviceActivityMonitor extension) |
Yes | Yes |
| Price & Privacy | 100% Free, No Ads, Local App Group Only | Free, tied to Apple ID | $50 to $100/year, requires cloud account |
AuthorizationCenter prompt using Face ID or your Apple ID.FamilyActivityPicker, and set your daily limit (90 minutes by default) and nightly sleep schedule (23:30 to 07:00).ManagedSettings, set the cooldown up to 2 hours, and let a parent or friend hold the 8-character unlock code.Apple Screen Time uses a 4-digit passcode that kids often shoulder-surf or guess, and adults using it on themselves can tap Ignore Limit in one second. Ripple makes tightening rules instant while relaxing any limit or turning off protection requires waiting through a 15-minute to 2-hour monotonic cooldown or entering an 8-character Friend or Parent Unlock Code. It also locks app deletion via ManagedSettings (denyAppRemoval = true).
Yes. Ripple uses two independent iOS system extensions (RippleDeviceActivityMonitor and RippleShieldConfiguration). Even when the main app is closed, iOS automatically displays the full-screen "Take a breath and pause" shield as soon as a daily quota runs out or your bedtime schedule starts.
No. Cooldown timers on iOS use ProcessInfo.processInfo.systemUptime, which counts seconds since the device booted. Changing the date, time, or timezone in iOS Settings has no effect on the remaining wait time.
Open Ripple › Settings › Anti-Uninstall, wait for the cooldown timer to finish (or enter your 8-character unlock code), and toggle off Anti-Uninstall. iOS immediately restores standard Home Screen app deletion.