I'm striving to motivate myself to incorporate work breaks into my routine. These breaks hold significant value as they enhance both my productivity and overall well-being. Unlike other applications that often proved overly intrusive or bothersome, I've meticulously crafted a solution that strikes the ideal balance between gentle encouragement and motivation. This solution involves a subtle pop-up reminder that reappears every minute, displaying carefully phrased sentences that deeply resonate with me, serving as a continuous source of inspiration.
- Infinite 1-hour timer
- Timer reset with Alt+F12
- Beeps and popup upon timer finish
- Reminder popup window:
- Is on top
- Can be minimized
- Re-pops once a minute
- No quick dismiss - at leased 2 user interactions, 3 minutes apart, are needed to dismiss a reminder
- Upon program initiation, it initiates a 1-hour timer (referred to as the "major wait") that can be reset by pressing Alt + F12 on the keyboard.
- After the 1-hour timer elapses, two beeps will emanate from the speakers, followed by an unavoidable popup appearing 20 seconds later.
- The initial pre-break popup presents the user with three choices:
- Ignore: The popup will reappear a minute later in a recurring fashion.
- Postpone: It will reappear after a 3-minute wait (referred to as the "minor wait").
- Start break: After a 3-minute wait (known as the "break wait"), a post-break popup will appear.
- The subsequent post-break popup offers the following options:
- Confirm break: Initiates the 1-hour ("major wait") timer to start the break.
- Deny break: Returns to the pre-break popup.
- Confirm unintentional break: Equivalent to option 1, starting the 1-hour timer.
I found developing this app as an opportunity to cultivate best coding practices:
- Test Driven Design - each class has its own unit test
- Clean Code - small functions, and classes that obey Single Responsibility Principal