Can I have Time Out remind me when to go home at the end of day?

I received a customer query asking if it was possible to have a countdown in the menubar for remaining time in the work day.

They wanted a “Go Home” reminder, that was used daily except weekends, and started work at 7 AM and finished at 3 PM.

Time Out is very flexible, so I was able to configure this for them. Here’s a screenshot of the Break Schedule page:

Time Out schedule page

An explanation of the options:

  1. Break for 1 minute, just as a token reminder of the end of day; it could be any length, or even zero to use a Break Action like a notification instead of dimming the screen.
  2. Every 1 day, to have a daily repetition.
  3. From Fixed Time 0 minutes past the hour, to align the due time to the hour (not essential, since it is ignoring idle time, but tidier).
  4. Available Between 15:00 and 07:00 on MTWTF, these are the most important options, to have the break start at 15:00 (3 PM) and end at 07:00 (7 AM) — yes, it’s totally fine to have the end time earlier than the start time. And to only use this on weekdays.
  5. As you can see, the next due time is at 15:00 (3 PM).
  6. When taking a natural break… Continue Countdown, to ignore idle time.
  7. The reset and skip options are off, to avoid adjusting the due time.
  8. When this break is due Start Immediately, this could be any option; asking to start might be useful if you need a few minutes to finish off what you’re doing.

And of course to have the countdown in the menubar, you’d include that option on the General page, possibly including the Only include long breaks option to not show any micro-breaks during the day:

General options

I hope this helps others who want something similar!

DejalNews #87: Introducing Weather Events

DejalNews header

Welcome

This is DejalNews, an occasional newsletter from Dejal.

Want to get this newsletter in your inbox? Sign up on the Dejal site.

Introducing Weather Events, a new Dejal app

Calendar events

Ever tried to remember what the weather was like a month ago? A year ago? During your last vacation?

Dejal Weather Events saves a record of the weather conditions to your calendar, so you’ll be able to look back at previous weeks, months, and years, and see what the weather was like back then.

On macOS, the app lives in your menubar, where it displays the current weather with an emoji, and the current temperature. Click it to display a list of days and the weather for each, using emojis and high/low temperature display, and a textual description, which is saved in the event note.

Weather list and editor

The events are added to the Calendar as all-day events, with the location if included:

Calendar detail

On iOS, iPadOS, and visionOS, the app updates the weather in the background, and is available to view or edit in the app.

Weather Events respects your privacy. It doesn’t request access to track your location, but just asks you to choose a location for the forecast. And it doesn’t use any third-party trackers or send any data to anyone, other than Apple’s weather service.

Another key feature is that each day can have a different location; great if you travel a lot. By default it uses a single location, but you can choose a different location for each day, and they are displayed in the event if desired.

New location

Click on a day in the app to choose whether to use the forecast or custom values, whether or not to show the location in the event, and choose a new or previous location.

The weather conditions can use multiple emojis to show how the weather changes throughout the day, e.g. sunny in the morning and rainy in the evening. If there’s rain, the probability percentage and quantity is included. And if it’s breezy, the maximum wind gust is also included. The precipitation and wind can be disabled in the settings if you prefer.

If the forecast doesn’t exactly match what you experience, or you want to make a note of anything special, you can easily edit the event in the app.

The weather events and settings are synced between multiple devices via iCloud.

Weather Events is available on the App Store for macOS, iOS, iPadOS, and visionOS. It has a monthly or yearly subscription, and a free two week trial.

Try it now!

– David

DejalNews #86: TestFlight for a new Dejal app!

DejalNews header

Welcome

This is DejalNews, an occasional newsletter from Dejal.

Want to get this newsletter in your inbox? Sign up on the Dejal site.

Get on the TestFlight for a new Dejal app

Today is my birthday; my present to you is a new app!

I’ve previously mentioned that I’ve been working on a new app for the last several months, around other work. It is now ready for a private TestFlight beta release.

I’m not going to announce the app name or features publicly just yet, but I’ll strongly hint that it is related to weather and calendars. If you live by your calendar, and are interested in weather, and perhaps if you travel a lot, you’ll want to check out this app.

The app will be available for macOS, iPadOS, iOS, and visionOS. It will require the current major versions of these OSes (i.e. Sonoma for macOS, iOS 17, etc).

Starting today, I’m seeking volunteers to help me test the app, to knock off any remaining rough edges. I would like to do a public release soon, depending on what issues come up during testing, but you can be one of the first people to try this new app.

To request to join the TestFlight, please contact me via the email you use with the App Store. Please indicate that you’re willing to provide feedback, you will keep the app confidential until I’ve publicly released it, and what platform(s) you’re interested in testing.

Time Out 2.9.7 released

In other news, I recently released Time Out versions 2.9.4 to 2.9.7.

These updates fixed a bunch of issues with the app. And helped reinforce the merits of beta testing!

– David

 

Time Out 2.9.7 released

What’s this? Yet another update of Time Out?!

This is getting ridiculous, but I think I’ve finally caught all of the issues with older macOS versions.

Why did this happen, you may wonder? It’s my own fault, of course. I’m working on version 3.0, which will require the latest macOS version. But it included a bunch of bug fixes, which I decided to bring forward to version 2.9.x, since some of them were affecting a bunch of people. But I had stripped out logic to check for API availability, since that wasn’t needed in version 3.0… and thus ended up including some function calls that were not supported by older macOS versions.

I’ve gone though all of the changes in these 2.9.x releases and checked the API availability, so I’m pretty sure that it’s good now. And a couple of customers on older OS versions have confirmed the app works properly now. Yay!

A couple of important lessons: beta testing is important (though that would have only caught these issues if at least one tester was on an older OS version; people who don’t upgrade their Macs tend to be less likely to test app updates too). And secondly, supporting older OS versions is risky, and perhaps not worthwhile, since the majority of people do use the latest release. Again, people who are happy to stay on an old macOS release are typically happy to stay on an old app release, too. (Of course, there are exceptions.) I typically require the latest OS version for a major upgrade, but I might consider adopting that policy for all updates. As an indie developer, I don’t have the ability to test updates on older OS versions, which makes supporting them somewhat difficult, for minimal benefit.

Anyway… version 2.9.7 again includes a critical fix for people on older macOS versions:

  • Fixed another crash on pre-Sonoma macOS versions. Sorry about that!

If you missed them, versions 2.9.6, 2.9.5, and 2.9.4 were released over the last week, and included several more fixes and tweaks:

  • Fixed a different crash on pre-Sonoma macOS versions.
  • Fixed the app launch helper unexpectedly opening Terminal on older macOS versions.
  • Fixed the settings window unexpectedly appearing after restarting the Mac, when the Dock icon is hidden.
  • Fixed misnaming the app in the sidebar when using a When Open app exclusion.
  • Fixed the Also skip breaks during focus exclusion option.
  • Fixed a break with a large negative duration when scheduling from the calendar with no more events.
  • Fixed the tooltip for the Ask When to Start scheduling option.
  • When there are multiple displays available, now uses the names of the displays in the menu.
  • Fixed the With Inactive Menubar option for multiple displays.
  • The other displays now fade out and back in correctly.
  • Fixed requesting full calendar access when using the calendar exclusion option (need full access to look for matching events).
  • Fixed the Skip button appearing when previewing a break if the end early option is enabled.
  • Fixed the option to alert of another copy of the app.
  • Added support for break-specific pause via a URL like timeout://break/micro/pause/30m, where micro is the break name, and 30m means pause for 30 minutes.
  • Also break-specific resume via a URL like timeout://break/micro/resume.
  • Fixed using a timeout://pause URL without an amount (to pause all breaks indefinitely) possibly crashing.
  • Fixed the settings window unexpectedly appearing when using a timeout:// URL.
  • Bonus: added the Sinclair Trails 2023 theme, with random timelapse clips of driving around the US.

Want to try it?

If you are using the Mac App Store edition, you can update via the App Store app.

Similarly, if you are using the Setapp edition, it will handle that update for you.

If you are using the direct edition, you can use the Check for Updates feature in the app to update. (If it says you’re up-to-date with a previous version, turn off the Via SSL checkbox; CloudFlare caches the version state for a few hours.)

Otherwise, download Time Out 2.9.7 now!

Time Out 2.9.6 released

Let’s make it three: another update of Time Out, my popular break reminder tool.

When I did the recent 2.9.4 update, I figured I didn’t need to do a beta release, since it was just basic bug fixes. Oops… no, beta releases are useful even for bug fixes, since I can’t test on older OS versions, and sometimes Apple changes things that break apps, even apps for taking breaks.

Version 2.9.6 includes a critical fix for people on older macOS versions:

  • Fixed a crash on pre-Sonoma macOS versions. Sorry about that!

If you missed them, versions 2.9.5 and 2.9.4 were released a few days ago, and included several more fixes and tweaks:

  • Fixed the app launch helper unexpectedly opening Terminal on older macOS versions.
  • Fixed the settings window unexpectedly appearing after restarting the Mac, when the Dock icon is hidden.
  • Fixed misnaming the app in the sidebar when using a When Open app exclusion.
  • Fixed the Also skip breaks during focus exclusion option.
  • Fixed a break with a large negative duration when scheduling from the calendar with no more events.
  • Fixed the tooltip for the Ask When to Start scheduling option.
  • When there are multiple displays available, now uses the names of the displays in the menu.
  • Fixed the With Inactive Menubar option for multiple displays.
  • The other displays now fade out and back in correctly.
  • Fixed requesting full calendar access when using the calendar exclusion option (need full access to look for matching events).
  • Fixed the Skip button appearing when previewing a break if the end early option is enabled.
  • Fixed the option to alert of another copy of the app.
  • Added support for break-specific pause via a URL like timeout://break/micro/pause/30m, where micro is the break name, and 30m means pause for 30 minutes.
  • Also break-specific resume via a URL like timeout://break/micro/resume.
  • Fixed using a timeout://pause URL without an amount (to pause all breaks indefinitely) possibly crashing.
  • Fixed the settings window unexpectedly appearing when using a timeout:// URL.
  • Bonus: added the Sinclair Trails 2023 theme, with random timelapse clips of driving around the US.

Want to try it?

If you are using the Mac App Store edition, you can update via the App Store app.

Similarly, if you are using the Setapp edition, it will handle that update for you.

If you are using the direct edition, you can use the Check for Updates feature in the app to update. (If it says you’re up-to-date with a previous version, turn off the Via SSL checkbox; CloudFlare caches the version state for a few hours.)

Otherwise, download Time Out 2.9.6 now!

Time Out 2.9.5 released

I’m a little embarrassed that I needed to do a second release, but here it is: another update of Time Out, my popular break reminder tool.

Version 2.9.5 includes a critical fix for people on older macOS versions, and properly fixes something I attempted to fix in the previous update:

  • Fixed the app launch helper unexpectedly opening Terminal on older macOS versions.
  • Fixed the settings window unexpectedly appearing after restarting the Mac, when the Dock icon is hidden.

If you missed it, version 2.9.4 was released a couple of days ago, which included several more fixes and tweaks:

  • Fixed misnaming the app in the sidebar when using a When Open app exclusion.
  • Fixed the Also skip breaks during focus exclusion option.
  • Fixed a break with a large negative duration when scheduling from the calendar with no more events.
  • Fixed the tooltip for the Ask When to Start scheduling option.
  • When there are multiple displays available, now uses the names of the displays in the menu.
  • Fixed the With Inactive Menubar option for multiple displays.
  • The other displays now fade out and back in correctly.
  • Fixed requesting full calendar access when using the calendar exclusion option (need full access to look for matching events).
  • Fixed the Skip button appearing when previewing a break if the end early option is enabled.
  • Fixed the option to alert of another copy of the app.
  • Added support for break-specific pause via a URL like timeout://break/micro/pause/30m, where micro is the break name, and 30m means pause for 30 minutes.
  • Also break-specific resume via a URL like timeout://break/micro/resume.
  • Fixed using a timeout://pause URL without an amount (to pause all breaks indefinitely) possibly crashing.
  • Fixed the settings window unexpectedly appearing when using a timeout:// URL.
  • Bonus: added the Sinclair Trails 2023 theme, with random timelapse clips of driving around the US.

Want to try it?

If you are using the Mac App Store edition, you can update via the App Store app.

Similarly, if you are using the Setapp edition, it will handle that update for you.

If you are using the direct edition, you can use the Check for Updates feature in the app to update. (If it says you’re up-to-date with a previous version, turn off the Via SSL checkbox; CloudFlare caches the version state for a few hours.)

Otherwise, download Time Out 2.9.5 now!

Time Out 2.9.4 released

I’m pleased to announce an update of Time Out, my popular break reminder tool.

Version 2.9.4 includes some nice fixes and tweaks:

  • Fixed the settings window unexpectedly appearing after restarting the Mac, when the Dock icon is hidden.
  • Fixed misnaming the app in the sidebar when using a When Open app exclusion.
  • Fixed the Also skip breaks during focus exclusion option.
  • Fixed a break with a large negative duration when scheduling from the calendar with no more events.
  • Fixed the tooltip for the Ask When to Start scheduling option.
  • When there are multiple displays available, now uses the names of the displays in the menu.
  • Fixed the With Inactive Menubar option for multiple displays.
  • The other displays now fade out and back in correctly.
  • Fixed requesting full calendar access when using the calendar exclusion option (need full access to look for matching events).
  • Fixed the Skip button appearing when previewing a break if the end early option is enabled.
  • Fixed the option to alert of another copy of the app.
  • Added support for break-specific pause via a URL like timeout://break/micro/pause/30m, where micro is the break name, and 30m means pause for 30 minutes.
  • Also break-specific resume via a URL like timeout://break/micro/resume.
  • Fixed using a timeout://pause URL without an amount (to pause all breaks indefinitely) possibly crashing.
  • Fixed the settings window unexpectedly appearing when using a timeout:// URL.
  • Bonus: added the Sinclair Trails 2023 theme, with random timelapse clips of driving around the US.

Want to try it?

If you are using the Mac App Store edition, you can update via the App Store app.

Similarly, if you are using the Setapp edition, it will handle that update for you.

If you are using the direct edition, you can use the Check for Updates feature in the app to update. (If it says you’re up-to-date with version 2.9.2, turn off the Via SSL checkbox; CloudFlare seems to be caching the version state.)

Otherwise, download Time Out 2.9.4 now!

DejalNews #85: Time Out and Simon in BundleHunt, Time Out is 20, Mac is 40, and Time Out tips

DejalNews header

Welcome

This is DejalNews, an occasional newsletter from Dejal.

Want to get this newsletter in your inbox? Sign up on the Dejal site.

Time Out and Simon in BundleHunt

It’s been years since I participated in an app bundle, so I thought it was time. Both Time Out and Simon are included in the BundleHunt New Year Bundle, a collection of significantly discounted Mac apps, available now for a limited time:

BundleHunt

Even if you already have Time Out and/or Simon, you can include them in the bundle to renew your support of Time Out, or upgrade to the latest version of Simon. Tell your friends!

Time Out is 20 years old

I recently marked a major milestone for Time Out, my popular break reminder tool: it turned two decades old last year.

I celebrated the occasion with a bunch of pictures of the old app icon, the old website, and app screenshots. Check out that blog post to relive or discover the ancient history of this app. It has changed quite a lot over the years, and yet the core functionality is still very recognizable.

Dejal year in review: 2023

Every year I publish a blog post reviewing the app updates over the past year, how things went, and what to look forward to in the coming year. Check out the year in review post for 2023.

I’m excited for my new app that is nearing completion. Look out for an announcement of a TestFlight soon, probably in the next newsletter — if you’re not already, subscribe to be amongst the first to try this new app! It will be available for macOS, iOS, iPadOS, and visionOS.

Time Out tips

If you missed them, I published four blog posts with tips and tidbits for Time Out:

Happy 40th Anniversary, Mac!

Finally, I also published a retrospective of the first Mac I used (the original 128K Mac), the first Mac I owned (the Mac Plus), and other early Macs, to celebrate the 40th anniversary of the introduction of the Mac.

– David

Happy 40th Anniversary, Mac!

[This is an updated repost from the 25th and 30th anniversaries.]

It’s the 40th anniversary of the introduction of the first Macintosh.

I first used a Mac back in high school in New Zealand, where I volunteered as head student librarian. The school had mostly Apple IIe computers, but bought one of the newfangled Macintosh computers in 1984. It was an original 128K Mac, with a single internal floppy drive. Back then, the OS, an application, and data fit on a single 400K disk. We used MacWrite for letters and other documents, MacPaint for occasional graphics, and the OverVUE database for some records… though not a full book catalog.

I bought my first Mac four years later while at university, in 1988. It was a Macintosh Plus, one of the new platinum-colored models. And I even had a second 800K floppy drive:

Mac Plus

Later, I added an external hard drive (I think it was 10 MB, though I could be wrong), a modem, and a mageno-optical drive:

Mac Plus

Those were the days… working on a 9-inch 512 x 342 pixel monochrome display… which is actually not much more than the original iPhone screen resolution, to give some perspective.

Later I bought a Macintosh II, which I subsequently upgraded internally to be a Macintosh IIx. Then I used a number of other models provided by a Dejal client.

When my wife and I got married, Apple gave us a PowerBook 150 as a wedding present, since we had met while using Macs with the fledgling internet. Our wedding was covered on local TV news and newspapers. Yep, meeting over the internet was a novel concept back then:

PowerBook 150 and other Mac

Just before we moved to the US, we bought a clamshell iBook G3, then later an iMac G4:

iBook G3 and iMac G4

Over time, I had a PowerMac G5, a 17″ MacBook Pro, and a 27” iMac, and others. I’m currently using an M1 Pro-powered MacBook Pro.

All in all, it’s been a great 40 years. I’ve enjoyed using and owning the various Macs over this time, and developing software for them since 1988, and supporting myself as a Mac developer since 1991. I look forward to many more years. Happy birthday, Mac!

How can I send an email or text message when a break is due or done?

I recently had an interesting customer request. They wanted to send an email or text message when a break was due, in case they were away from their Mac.

So I added a couple of new scripts to the Time Out Extras page.

The first one is called Send Email, which as you might imagine, sends an email message. Download it here.

Here’s the script; after downloading it, you’ll need to edit it to replace the two instances of example@example.com with your email address; you can customize the subject and content of the message as desired:

tell application "Mail"
	set my_message to make new outgoing message
	set subject of my_message to "Time Out break"
	set content of my_message to "Time for a break...."
	set sender of my_message to "example@example.com"
	--
	tell my_message
		make new to recipient at end of to recipients with properties {name:"example@example.com"}
	end tell
	--
	send my_message
end tell

The second script is called Send Message, which you may be amazed to learn sends a text message (via iMessage, Apple’s “blue bubble” messaging protocol). Download it here.

Here’s the script; after downloading it, you’ll need to edit it to replace the example@example.com with your iCloud email address or phone number; you can customize the message as desired:

tell application "Messages"
	set targetBuddy to "example@example.com"
	set targetService to id of 1st account whose service type = iMessage
	set textMessage to "Time for a break!"
	set theBuddy to participant targetBuddy of account id targetService
	send textMessage to theBuddy
end tell

To install the scripts, open the Time Out settings window, select a break, and go to the Break Actions page, then click the + button and choose the Reveal Scripts menu command:

Break Actions menu

Then drag the script files into that revealed folder. Then they will appear in that menu so you can choose one of them.

As always, you can choose to use these scripts before the break is due, when it starts, or when it is done, amongst other options. If you have a long break that you spend away from your Mac, a message when it is done could be very useful:

Send Email after done

If you want to send a message when a break is due, note that if you’re away from your Mac, by default the breaks are skipped, so it won’t send the messages. You can avoid that by choosing to Continue Countdown on the Break Schedule page:

Contine Countdown schedule option

As previously mentioned, I plan to write an iOS edition of Time Out, probably later this year. Once that’s done, you’ll be able to get notified of breaks on your iPhone, even when away from your Mac. But these scripts may be useful in the meantime. Enjoy!