Hacker News new | ask | show | jobs
by lelanthran 1166 days ago
> It's designed to be somewhere in view of the person using it.

Then it really shouldn't be a browser app, it needs to be a local app that runs in the taskbar.

I've made two of these in the past:

V1, browser based: the browser simply wasn't viable because there's no taskbar timer.

V2, Bash+zenity script to run locally, pops up a uncloseable, uncoverable and omnipresent (across all workspaces) window, with a progress bar showing the time as it elapses[1], and properly sends desktop notifications. A much more functional experience than V1 which was invisible while I was working, stuck on a single workspace (I have nine in a 3x3 grid) and frequently didn't send notifications.

V3, Next iteration, local application without a window but with taskbar integration for timer display. Might just decide to hack zenity to provide a 'taskbar' widget.

[1] If you're interested my V2 app (run locally), see https://gist.github.com/lelanthran/bbbcf5c8b6b26c9bc0263384a...

5 comments

Arguably a case for ambient electronics. We need to start making physical devices with smarts.

And for easily distracted people, you might want a physical timer that also synchronizes with your devices. Set a timer for the stove, then forget you're baking and try to leave the house, your watch or phone needs to get the alert.

Smart watch works great for this. Haptics twitch gently.
Sometimes too gently. And with watches that last 24 hours between charges, trying to do something in the early evening that takes hours could run you into a dead battery.

Really is better if you have multiple devices to remind you. Right now if I set a timer on one iOS device it tends to go off on the one I'm using. Give me more of that, including ambient devices.

> the browser simply wasn't viable because there's no taskbar timer.

Chrome supports badges on chrome extensions. E.g. I've built a chrome extension that shows an "On" badge when it's activated in the current tab. Via the same mechanism you could display the number of minutes remaining.

Edit: Random article showing this in action: https://dev.to/paulasantamaria/chrome-extensions-adding-a-ba... -- also, no idea if it's supported in v3

> Chrome supports badges on chrome extensions.

Then it's not a browser app anymore, it's a chrome app. Maybe not even that, it's a chrome app that needs a specific extension as well?

I'm using Firefox. Having to install Chome+extensions just for a pomodoro app is extremely unappealing to me.

Nah, you’re reaching too far to neg your interlocutor, been available for mobile for years and even Safari finally shipped it
I think most popular browsers support badges in standard mode (no extension or webapp mode needed). A fallback would be to change the favicon and/or the window title and tab color.
> uncloseable, uncoverable and omnipresent window

What’s worked for me was turning the screen grayscale to signify a break:

https://andrew.kvalhe.im/2020-11-18

Relatedly for a while I was using periodic ~zenity prompts to keep myself on track:

https://andrew.kvalhe.im/2014-11-02

Hu?

As far as I know, web apps can run in the background, when the browser is closed and use native notifications.

Not according to “ps” on my Linux box after killing chrome and Firefox.
> Then it really shouldn't be a browser app, it needs to be a local app that runs in the taskbar.

Counter use case - browser apps are superior unless you can invest in building strong cross-platform capabilities (like Obsidian.md)

I'm constantly jumping between machines and operating systems. I've often been on Linux, Windows, and Mac in a single day. Or moved from desktops to laptops.

> I'm constantly jumping between machines and operating systems. I've often been on Linux, Windows, and Mac in a single day. Or moved from desktops to laptops.

Hence why I want to make a V3 that is a local app (some sort of hacked up zenity won't work, though).

For this particular use-case, functionality beats portability.

> browser apps are superior unless you can invest in building strong cross-platform capabilities

Or only use one platform... c'mon linux phones... get better!