Simon 5.0b1 released

I'm pleased to introduce the first beta release of a major upgrade of Simon, my website and server monitoring app for macOS.

Simon version 5 is a massive update, introducing a much-requested feature: syncing the Simon data between multiple Macs!

Sync preferences

Tests and other data can be viewed and edited on any of your Macs, and checked on a specific Mac:

Test options

What's more, notifiers can be performed on any of the Macs, even a different one than did the check. For example, have a Mac in a data center do a check, and play a sound or speak some text on the Mac on your desk if it fails or changes:

Test notifiers

Something else many people have wanted, it also includes the ability to check if other copies of Simon are still working:

Simon Status test

Other enhancements include a new Link Checker filter, to validate all links on a web page, a Server Result filter, to easily check result codes, an iMessage notifier, to send a message, a new more efficient data format, and numerous other changes.

Please Note

  • This is an early beta release, with significant changes. Probably best to wait for the general release, unless you're keen. Use with caution!
  • If you find any issues with this beta release, please let me know!
  • Simon 5 requires a minimum of macOS 10.12 (Sierra).
  • Simon 5 will be a paid upgrade from Simon 4 after the beta period.
  • Purchasers since September 1, 2020 are eligible for a free upgrade; contact Dejal for details.

Read on for the full release notes:

Simon now supports syncing via iCloud!

  • The Simon data is not synced by default, but if the new Sync preference is enabled (see below), the data is moved to iCloud.
  • Each test can be checked on a specific computer, but edited from any synced Mac.
  • Notifiers can also be performed on a specific computer, but it doesn't have to be the same one, e.g. check a test on Mac 1, and notify on Mac 2 (or both).
  • Manually starting a check, pausing, editing, etc can be done from any synced computer.
  • When syncing, the computer that will perform the check is displayed in the tests list and logs, and is available as a sorting option.
  • Note that the Preview is not available when viewing a test for another computer, since that might lead to confusing results.
  • If Simon is quit on another computer, its tests show a power icon (semicircle with vertical line), or if not quit but not seen in a while, an unavailable icon (a circle with a slash through it).
  • The data format has changed to support this, including splitting up the data files to be more efficient, and converting to JSON format.

Editor changes for syncing

  • When editing a test with syncing enabled, the Test Options page now includes a new "check on" pop-up menu to choose on which computer to check the test.
  • Similarly, the Test Notifiers page includes a pop-up menu to choose the computer to perform the notification, which doesn't have to be the same one.
  • The summary page (non-editing mode) now also indicates the chosen computers.

New Sync preferences

  • A new Sync preference pane includes buttons to turn syncing off and on. By default it is off, with data stored on your local Mac as before.
  • When iCloud syncing is enabled, a list of computers that have accessed the data is displayed. It includes the computer name, the version of Simon, and when the data was first and most recently accessed.
  • The computer names can be changed (this only affects how Simon displays them), or unwanted ones can be removed. They will re-appear if used again.
  • An icon indicates the status of each computer, with the Mac type for the current computer, a green triangle for online computers, or a quit or unavailable icon as above.
  • If syncing is enabled when there is already some Simon data in iCloud, you are asked if you want to use that data (discarding the local data), or replace that data (with the local data).
  • If syncing is disabled when multiple computers are using iCloud, you are asked if you want to make a local copy, leaving the iCloud data intact.
  • If syncing is disabled when this is the only computer using iCloud, the data is moved to the computer and removed from iCloud.
  • A sync-related change: the preference to keep backups of data files has been removed, to avoid unnecessary syncing.
  • Also, the auto-save frequency preference now uses a shorter time range, for more responsive syncing.

New Sync Setup Assistant

  • When updating to version 5, or a fresh install, a Setup Assistant page will be displayed with the same options as the Sync preferences, to ask whether to store the data locally, or on iCloud.
  • If you choose to keep the data on this Mac, it continues to work as in previous versions, and any existing iCloud data (if you chose differently on another Mac) is left intact.
  • If you choose to sync when there is already some Simon data in iCloud, you are asked if you want to use that data (discarding the local data), or replace that data (with the local data).

Web service changes

  • Renamed the default "Web (HTTP)" service as "Web Page", to be more clear.
  • When capturing the rendered source (via the option on the Other page), the <html> tags are now included.
  • The default protocol is now "https://" instead of "http://".
  • Now doesn't add "www." before a domain name if missing the ".com".

Added a new Simon Status service

  • When you are syncing Simon data between multiple computers with the new sync feature, this new service enables checking the state of the Simon instances.
  • You can choose to check all computers, or a specific one.
  • The output of the service can be customized, including variables.
  • Optionally Simon being quit and/or unavailable can result in a failure, with customizable error messages for each.
  • A "Simon Status" service has been added to the data by default, to check all computers; you can customize what to check and output in the test editor, or add new services.

Added a new Link Checker filter

  • This new filter will check multiple links to see if they are valid or invalid.
  • For input, it can extract links out of HTML source from a web page, or a list of URLs separated by linefeeds or commas.
  • It can scan only local links (within the same site), only remote links (to other websites), or both.
  • A link is considered invalid if either the server can't be contacted, or the server reports an error (e.g. 404, page not found) when requesting the header (it doesn't load the actual content).
  • It outputs a list of the found URLs, optionally with some text or emoji indicating it is valid or invalid, and/or the status code or error message.
  • For the result, it can be always a success (for further evaluation of the output), or a failure if any local and/or remote links are invalid.
  • A Link Checker filter is included in the default data for use with tests. More options can be configured by editing this filter (or adding new ones).

Added a new Server Result filter

  • This new filter can be used with the Result Code input to detect an invalid HTTP result.
  • If the input number is 400 or more, this makes the test check be a failure.

Added an iMessage notifier

  • This notifier can send an iMessage to a recipient if you already have a conversation with them in the Messages app.
  • Contributed by Chris Copleston; available on the Simon Extras page for people using earlier versions.

Removed some services and notifiers that are no longer supported

  • Removed the Calendar notifier, as it uses obsolete technology. Let me know if you used this; I could rewrite it with modern APIs.
  • Removed the Email Cycle service from the default data, as it can't receive email successfully (and hasn't for a while; clearly nobody uses it).
  • Removed the Growl notifier, as it is obsolete. Use the Notification Center notifier instead.
  • Removed the MySQL service, as it used a 32-bit helper that no longer works with Catalina and later.
  • Removed the SMS notifier, as the third-party Clickatell connection doesn't work anymore, and the email-based option had significant issues; switch to using an Email notifier directly if needed.
  • Removed the Twitter notifier, as it hasn't been supported by macOS for a few years.

Plus several other improvements

  • Simon now displays a small progress window while starting, since loading lots of tests, especially when syncing, can take a few moments.
  • Simon now prompts for approval to send Apple events, as required on recent macOS versions. Please approve this, otherwise the Email notifier and Script-based services won't work.
  • The Setup Assistant now supports importing Safari and Chrome bookmarks.
  • All services are now checked in the background, so they don't interfere with updating the lists etc. This also fixes a weird temporal anomaly where a check start could be logged after a finish.
  • The contents of groups in the lists are now sorted properly.
  • Fixed importing some malformed AppleScripts in the Script editor.
  • Fixed the service, filter, etc kinds not being listed in alphabetic order.
  • Fixed some summary labels being enabled when showing a group, where they don't apply.
  • The File ▸ Check Now menu item is now disabled for the Filters page, since it doesn't do anything there.
  • Improved character encoding of report templates to work better with non-ASCII characters.
  • Improved localization support.
  • Improved dark mode support.
  • Updated for Big Sur (macOS 11) and Catalina (macOS 10.15), but still compatible back to Sierra (10.12).

More coming later

  • I wanted to get a beta release out so brave people can begin kicking the tires. There is more planned for version 5.
  • Don't expect rapid updates; it will slowly improve over the next few months, and go into general release when deemed ready.
  • There are still a number of known issues with this first beta. But please let me know of any issues you find via the contact form or the Dejal Subreddit.

Want to try it?

Please read the warnings and release notes above before jumping in. This is a beta release, not ready for primetime quite yet.

If you are using the direct edition, you can change your Updates preferences to include beta releases, then use the Check for Updates feature in the app to update.

Otherwise, download the beta now!