Simon 5.0 released

I'm pleased to announce the general release of a major upgrade of my website and server monitoring app for macOS: Simon version 5.0.

Simon 5 is a massive update, introducing a much-requested feature: syncing the Simon data between multiple Macs, plus a Simon Status service, a Link Checker filter, Find filter improvements, a Server Result filter, an iMessage notifier, Speak Error notifier, and much more.

Please Note

  • Simon 5 requires a minimum of macOS 10.12 (Sierra).
  • Simon 5 is a paid upgrade from Simon 4 or earlier.
  • Purchasers since September 1, 2020 have already received a version 5 license (that also works in previous versions).
  • The Simon License Agreement now allows sharing a license between multiple computers that you own. Each person in an organization still needs their own license.

Big Sur

  • Simon is now a universal app for Apple M1 silicon and Intel on Big Sur; it also supports back to Sierra (10.12).
  • Updated the app icon for the Big Sur squircle style.

Simon icon

  • A fun little easter egg is that in addition to the icon "screen" showing static while loading, the knobs turn.
  • Just for fun, changed the Dock icon unviewed indicator to a "BREAKING NEWS" TV-style chyron.
  • Improved compatibility.

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.

Test options

  • 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.

Test notifiers

  • 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.

Sync preferences

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).

Services, filters, and notifiers now organized into groups and recents

  • On upgrade, the built-in services, filters, and notifiers will be moved into new groups, to better organize them.
  • Any that you've already put in groups won't be moved, and any you have added also won't be touched.
  • To avoid overwhelming you with options, the Test Editor pop-up menus on the Service, Filters, and Notifiers pages by default now only list items that are in active use, or recently added.
  • That includes items that are used in the test being edited, any un-paused tests, or added in the past week.
  • There is a new Show All Services (or Filters or Notifiers) item at the bottom of those menus to show all, organized by groups. That toggles to Show Recent Services to go back to the compact menu.

Filters menu

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.

Simon Status test

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).

Link Checker filter

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.

Powerful custom output for Find Regular Expressions filters

  • When using Find First, Specific, or All Occurrences, the Output menu now includes a Custom option, that shows a field where text with replacement operators like $1 etc can be included.
  • This can be used to search for multiple capture groups, e.g. "title":"(.+?)",".+?"department":"(.+?)", and output a custom formatted value that includes them, e.g. $1 ($2).
  • This is different than the Find & Replace, as those replace the found text in the output, leaving the rest intact, whereas the Find ones output only the matches or their custom format.
  • If a regular expression is malformed, and takes too long to evaluate, it now times out after 5 seconds.

Find regular expression

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.

Added a new Speak Error notifier

  • This new notifier will read out loud the text of the last error that occurred.
  • Especially useful when a failure or recovery occurs, though can be used with any test result.

Sound notifier improvements

  • System sounds are now available to play.
  • The sounds are now listed in alphabetical order.

Plus other service, filter, and notifier changes

  • Fixed importing some malformed AppleScripts in the Script editor.
  • Fixed the service, filter, etc kinds not being listed in alphabetic order.
  • Fixed an issue where adding the default Block filter to a test might not be used.
  • Renamed the Change filter as Any Change, to make it more clear what it's for: to detect any change that occurs in the input.
  • Fixed an issue that prevented Script-based services from working in tests.
  • Fixed an issue with the Email notifier that prevented the helper from starting.
  • The File > Check Now menu item is now disabled for the Filters page, since it doesn't do anything there.
  • Fixed trying a notifier (File > Notify Now) not working when the Preview is displayed.
  • Tweaked the Preview placeholder messages for services, filters, and notifiers.

Report improvements

  • Fixed reports not uploading as scheduled.
  • If the preference to use simple status icons is enabled, the reports now use that style too.
  • The report templates are now listed in alphabetical order.
  • Tidied the report list content.

Removed some services and notifiers that are no longer supported

  • Removed the Calendar notifier, as it used obsolete technology.
  • 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 Mount service, as it used obsolete macOS features and would need significant changes to update.
  • 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 Specific DNS service, as it used obsolete macOS features and would need significant changes to update.
  • Removed the Twitter notifier, as it hasn't been supported by macOS for a few years.
  • Let me know if you used any of these; I could consider rewriting them with modern APIs if there's sufficient demand.

Added a Debug menu for rarely-used diagnostic options

  • Added a Debug menu for options that were previously available only via defaults write Terminal commands.
  • The Debug menu automatically appears for beta releases, and can be shown for general releases by holding down the Control, Option, and Command keys on app launch.

Debug menu

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.
  • If a service is not available, e.g. is no longer supported, the service list now displays "unavailable", and the test editor now displays a similar message.
  • 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.
  • When using the Setup Assistant to import Safari bookmarks, now prompts for the bookmark file, if it can't be directly accessed due to macOS security restrictions.
  • The contents of groups in the lists are now sorted properly.
  • Fixed some summary labels being enabled when showing a group, where they don't apply.
  • Fixed the status icon and Details column in the Activity log not containing the correct values.
  • Fixed a layout issue where list contents could be too narrow.
  • Fixed some crashers.
  • Improved character encoding of report templates to work better with non-ASCII characters.
  • Many localization updates.
  • Improved dark mode support.
  • Fixed the format of the Spotlight keywords.
  • Updated for Big Sur (macOS 11) and Catalina (macOS 10.15), but still compatible back to Sierra (10.12).

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 now!