Introducing Preminder, a simple and free iOS app to add a reminder some interval before a date

Sometimes an app idea comes from a need to scratch one’s own itch. My latest app is such a case: Preminder is a simple and free iOS app to add a reminder to Apple Reminders some number of days, weeks, months, or years before another date.

But why is that useful? I’m glad you asked. A common situation my wife and I have as we travel around the country in our motorhome is that RV parks only allow reserving sites a certain time period ahead. We like to plan our route a year or more in advance, and try to book popular places as early as possible, before they fill up. So given the date we want to arrive, we need to add a reminder six months or 90 days (or whatever their booking window is) before that.

The app is useful for more than campgrounds, though. Some exciting gadget going on sale in 30 days? Add a reminder. Hard-to-get concert tickets becoming available? Need to buy birthday gifts? Add a reminder, easily.

Sure, you could calculate the number of days, or ask a digital assistant to calculate it for you, but it’s much more convenient to be able to just enter when the event is and the desired offset, and have the app do the calculation and add the reminder.

6 months before Date picker Remind before

Want to try it?

Get Preminder 1.0 now — it’s free!

Weather Events 1.1 released: automatic location update option, and other improvements

I’m pleased to announce the first update of Weather Events, my app to record weather conditions on your calendar, available for macOS, iOS, and visionOS!

The biggest change in version 1.1 is a new option in Settings to choose what location to use when adding new days. By default, it is Previous Day, which uses the same location as the last day in the weather list; this is the behavior from the first release. But you can now choose to use the location from a calendar event: from All-Day Events (i.e. without a time assigned), Timed Events (i.e. with a time assigned), or Any Events (all day or timed).

So if you have a calendar event with a location, the app can use that location automatically when adding a new day. Of course, if there is no matching calendar event, it inherits the location from the previous day. And if there are multiple matching events, it picks the one with the latest start date for all-day events, or the longest duration for timed events.

This new option is great for people who travel a lot, like me: my wife and I travel around the US in a motorhome, heading south in winter and north in summer to chase ideal weather conditions, so pretty much every week we’re in a new location. Which is one of the reasons for writing Weather Events, so I can keep a record of the weather as we travel. I have all-day events in my calendar for where we’ll be, so now Weather Events can see those and automatically update the location, and I no longer need to manually edit the days. Nice.

Settings windowSettings all day

But wait, there’s more! Version 1.1 includes a bunch of other nice improvements and fixes:

  • When there are multiple accounts with calendars, they are grouped by account in the initial setup and Settings.
  • If full calendar access has not been granted, now displays an Authorize Calendar Access button next to the menu at the top of the weather list.
  • When 24 hours of weather conditions aren’t available for a day, now determines the best summary of the weather that it can with the available hours.
  • Improved fetching weather for events that had a changed location.
  • Improved searching for new locations, to provide better results and be more reliable.
  • Fixed obscure crash on iOS when adding a new location by editing an event via a widget.
  • Fixed the accent color not being respected on the latest OS versions.
  • Now uses ° instead of F or C after the temperature in the status item on Mac.
  • The Today’s Weather widget now uses a bold rounded font:

Widgets

Want to try it?

If you already have the app, you can update via the App Store.

Otherwise, get Weather Events 1.1 now!

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

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!

Time Out 2.9.2 released

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

This update includes some nice fixes and tweaks:

  • Now uses more modern ways to start the break helper, the automatically start on login option, and access the System Settings.
  • Fixed app icons not appearing in the Activity log for apps with display names that don’t match their filename.
  • Fixed a break sometimes stopping too early when using the Ask When to Start option.
  • Fixed a break not being rescheduled past midnight when a natural break occurs.
  • Added themes for the Sinclair Trails blog and YouTube channel, and updated the Tropical Rain theme.
  • Fixed the Speak Time break action script.
  • Can now use a URL of timeout://settings to open the Time Out settings window, in addition to the existing timeout://preferences (useful for scripting and shortcuts).

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.

Otherwise, download Time Out 2.9.2 now!

Simon 5.1.1 released

I’m pleased to announce the general release of an update of my website and server monitoring app for macOS: Simon version 5.1.1.

This update includes just a few — but important — fixes:

  • If not signed in to iCloud, Simon now doesn’t offer syncing, with a message explaining that, instead of assuming it’s available and sometimes crashing.
  • Fixed a crash when dragging to reorder filters, notifiers, and reports in the test editor.
  • When loading the default data when first using the app, the services, filters, and notifiers are now organized into groups (this was previously only done when updating the data).

 

Want to try it?

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.

Otherwise, download Simon 5.1.1 now!

 

Simon 5.1 released

I’m pleased to announce the general release of an update of my website and server monitoring app for macOS: Simon version 5.1.

It includes the ability to disable rendering a Web Page test, the addition of an automatic data backup, support for macOS Ventura, updated example tests, and several other improvements and fixes.

Please Note

  • Simon 5.1 requires a minimum of macOS 10.13 (High Sierra).

New Web Page test option to render the page in the Preview

  • Added a new option to the Other page when editing a Web Page test to control whether or not to render the page in the Preview.
  • By default it is on, preserving the usual behavior.
  • But if you turn it off for a test, the Preview pane only shows the HTML source and filter output, instead of the rendered page.
  • Reload the Preview to show or hide the rendered page after changing the option.
  • This option is independent of the “Capture rendered source” option; that will render the page in a separate process.
  • This is useful for performance, or if you want to minimize the risk of malicious JavaScript on the page, or other side effects.

Web Page render option

Added an automatic data backup

  • Once per hour Simon will make a copy of its data into a dated folder within a Backups folder in the data folder.
  • Added a slider on the Advanced settings page to control how many backups to keep; defaults to 10.
  • Set to zero to disable the automatic backups.
  • When the maximum has been reached, it’ll remove older ones, so that half of the backups are for the most recent hours, and half are for previous days.
  • If you need to restore your data, turn off syncing if it’s on, use the new File ▸ Reveal Data Folder menu command to show the data folder in the Finder, quit Simon, then copy the folders from one of the backup folders to replace the Filters, Notifiers, etc folders.
  • If in doubt, contact Dejal for assistance.

Backups

Support for Ventura

  • Updated for Ventura (macOS 13), but still compatible back to High Sierra (10.13).

Plus several other improvements

  • Updated the example tests.
  • Added a File ▸ Reveal Data Folder menu command, to show the Simon data folder in the Finder.
  • Added an option on the Advanced settings page to show the Debug menu, as an easier way to toggle it.
  • Fixed filters not completing if the {FilterStatusNumber} variable was used.
  • Fixed an issue with loading data that doesn’t have any reports.
  • Fixed an issue with the font in the script editor and elsewhere.
  • Fixed a localization issue, and updated the French localization.
  • Fixed a crash with the Preview.

Want to try it?

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.

Otherwise, download Simon 5.1 now!