When I'm stuck on coding something, I find myself reaching for my phone even if I don't have any particular reason to do so. Inspired by Calm's DoNothingFor2Minutes.com which launched on HN 13 years ago [1], I made this simple webapp to see if my friends and I could go an hour without touching our phones. It is surprisingly difficult.<p>According to a 2022 survey [2], the average US adult picks up their phone 352 times per day, or approximately once every 2m43s while they're awake.<p>On browsers that support it (iOS 16.4+, most versions of Android Chrome), it uses the Screen Wake Lock API [3] to keep the page open, and falls back to nosleep.js [4] otherwise. From testing on my iPhone 14 Pro Max running iOS 16.6, battery life only went down 3 or 4 percentage points after an hour with the wake lock.<p>Made this as a web app as a quick demo to be compatible across all mobile devices. As an app, we can probably save more on battery + not have the screen on. One caveat is that on iOS this will actually increase your Screen Time (although hopefully reduce your other category usage).<p>I currently only track time on page through Google Analytics 4. No other calls are made to a server, although if we actually wanted to verify that you kept the page open vs. javascript/inspector-system clock-fu, we could add a verified mode that pings the server every X minutes.<p>As a PWA, possibly due to an iOS/Mobile Safari quirk/bug [5], neither wake lock nor nosleep.js appear to work .<p>[1] <a href="https://news.ycombinator.com/item?id=2124106">https://news.ycombinator.com/item?id=2124106</a>
[2] <a href="https://www.asurion.com/connect/news/tech-usage/" rel="nofollow noreferrer">https://www.asurion.com/connect/news/tech-usage/</a>
[3] <a href="https://developer.mozilla.org/en-US/docs/Web/API/Screen_Wake_Lock_API" rel="nofollow noreferrer">https://developer.mozilla.org/en-US/docs/Web/API/Screen_Wake...</a>
[4] <a href="https://github.com/richtr/NoSleep.js">https://github.com/richtr/NoSleep.js</a>
[5] <a href="https://bugs.webkit.org/show_bug.cgi?id=254545" rel="nofollow noreferrer">https://bugs.webkit.org/show_bug.cgi?id=254545</a>