The absolute statement is false.

Reminding Myself to Take a Break - The Hard Way

I spend a lot of time in front of the computer without taking breaks. It’s not that my work is particularly interesting or important, there’s a kind of inertia that makes it easy for me to sit for extended periods. Such a routine can be harmful to my eyes and may lead to other health issues like cardiovascular disease, obesity, back pain, and even mental health problems. Despite knowing this, it’s still hard to motivate myself to move my ass. Health issues tend to develop slowly, and taking a break doesn’t provide an immediate reward.

I need prompts to remind me when I’ve been working for too long.

I’ve tried the Pomodoro Technique, but it’s not for me. I think the Pomodoro Technique is better suited for people who are full of energy and have plenty of space and time to study and work quietly. My work environment is completely unsuitable for it, and with my limited energy, starting a Pomodoro clock feels draining.

I’ve used many timer applications, but the issue with these reminders is that they often go off at inappropriate times. For instance, I might just have returned to my computer and started working for a few minutes before receiving a reminder. While some software can pause the timer when I’m not at my computer and resume when I return, the problem is the same, imagine that my use of the computer is definitely not evenly balanced, there will always be some times when I often leave the computer, such as discussing with people, working for a few minutes, then going to the bathroom, then working for a few minutes, then going to get some water and so on, and then I return and have only been working for a few minutes, I get a reminder that it’s time to take a break, this is very thoughtful and it may be just right, but it is not for me, in this relatively long period of time I actually have not focused on my computer nor have I done deep thinking, but I have had plenty of activities.

Timing is important, but the ’timing’ is equally crucial.

I don’t want to be overly disturbed or distracted by another thing, nor do I want to be constrained by any particular time management methodology. I prefer to follow my own flow, even though it can get a bit wild at times. Therefore, I need some feedback to help me make adjustments.

So, I decided to develop an application for myself. Initially, all I had was a messy “do not want” list:

  • No need to manually start the timer.
  • No need to manually reset the timer to adapt to my own rhythm.
  • No timing or progress information that I can immediately see.
  • No countdown during breaks.
  • No “pre-reminder” (buffer/double reminder) to tell me that the break is about to begin.
  • Don’t disturb me when I’m using certain software.
  • Don’t disturb me when I’m watching a video.
  • Don’t disturb me when I’m just getting into a state.

In my imagination, this application is not based on timing, I mean, it is still based on timing, but on top of that, my activity level takes precedence. It times only when I am active - stops timing when I am inactive - and starts timing again when I am active again. Hmm - the timing is about my continuous active duration on my computer - it stops and resets when I stop. So, I get a reminder when I’ve been active for too long.

The core function is relatively simple, its working principle has only a slight difference from others, but in my personal view, this difference is significant enough to impact the product experience. Some people may indeed feel that this application is flawed, and a lot of the time, it seems like it does not work at all. This is also the reason why I wrote this article.

My daily work routine is simple, most of the time, I’m either using the browser or the terminal, I do use other applications like chat and note-taking applications. My coding work mostly occurs in the terminal, where I mainly use the keyboard. When using the browser, there’s a lot of clicking and scrolling. I’ve noticed (the sound) that colleagues who aren’t involved in coding do a lot of clicking as well. So I believe monitoring activity doesn’t need to be overly complicated. However, implementing this idea took quite some time, from the “do not want” list to writing the first line of code was a lengthy process, and it has been half a year since the first version was developed.

This is an activity statistic function I added recently, which can roughly show my activity on some Friday and how this application works (it is a macOS app called TotalPause):

Blue is my active time, purple is TotalPause’s prompts. TotalPause reminds me under two conditions: one is when I am not active, and the other is when I have been using the computer for too long. Here I’ll explain this picture a bit:

  • 10:14 start the day’s work, my brain is empty, TotalPause prompts, then I went to get some water
  • 10:21 still, did not get into the state immediately
  • 10:25 start working
  • 11:10 continuously worked for 45 minutes, TotalPause prompts, just went to the bathroom
  • 12:06 end of the work, went to lunch
  • 14:03 started the afternoon’s work and continuously worked for 45 minutes, TotalPause prompts, went to get some water
  • 14:52 continue the work, continuously worked for 45 minutes, TotalPause reminded me to break again, hesitated for a moment and still went to get a cup of water
  • 15:40 worked for more than 20 minutes, I took a walk by myself, TotalPause launched a reminder when I left
  • 16:24 continue the work for another 45 minutes, TotalPause prompts, I should have gone to the bathroom or got some water
  • 17:13 continue the work
  • 17:37 end of work, went to dinner, it is raining outside
  • 17:55 continue the work, finishing up
  • 18:02 went to some water, TotalPause prompted when I left
  • 18:05 came back to browse the web, TotalPause reminded me 45 minutes later, went to get some water again
  • 18:53 continue to browse the web
  • 19:06 a short discussion with colleague
  • 19:09 went to the gym, then TotalPause launched a reminder when I was not there
  • 20:20 returned to my seat, still raining, tidied up and then left

This is TotalPause’s prompt:

The prompt is very simple, it covers all displays in full screen. The text clearly states how long I have been working continuously - this duration is very important. I’ve found that if this duration isn’t displayed, I’m likely to quickly ignore the prompt. The prompt cannot be dismissed using shortcut keys, it can only be closed by clicking the button with the mouse. Adding this little difficulty effectively makes me aware of my working time and have a quick debate in my head.

Some people might think this doesn’t look good as a screensaver, wondering what good the prompt is if you’ve just left the computer.

Clicking the button above the text starts an animation that can be used for breathing exercises (hopefully I will implement a meditation/breathing effect similar to the Apple Watch), this feature is also inspired by Sit. and One Minute Focus. Doing nothing and thinking nothing is quite challenging if you’ve ever tried it, which is why TotalPause defaults to launching a prompt when I’m not active. For example, waking up the computer to start work might need a buffer, and returning to the computer with the breathing exercises can help to calm down.

The last thing: the do not disturb function when watching videos might produce false positives if video websites has some animated ads or banners, leading it to assume you’re watching videos when you’re not. However, if I’m inactive and not actually watching videos, it is acceptable to me not to receive a prompt. Conversely, if I have been active for a long time and just opened a preconfigured website with these ads, then oops, I may fix this in the future.

This application is not likely to be suitable for everyone, some might find it a bit strange at times and think it doesn’t work, this is correct, what suits oneself is the best. Give it a try to see for yourself: TotalPause on the Mac App Store (it is a one-time purchase, free until Apr 26, 2024. I believe the time zone handling is managed by Apple, although I’m not entirely sure how that works).