simon

Simon 4.2 released

Simon version 4.2 is now in general release!

This update has lots of improvements, including:

Added an Exclude Block filter

  • Added a new Exclude Block filter that outputs the text outside the block, instead of inside like the normal Block filter.
  • Enhanced the Block filter feature to support specifying whether to output the text before the Start, the Start text itself, the text between the Start and End, the End text, and/or after the End text, or any combination of those, optionally joined by some separator.

Added difference analysis filters

  • Added new Extract List, Extract Changes to List and Rich Text Representation of Changes filters, kindly contributed by Max Cardale. Read the comments for those filters for detailed descriptions of each.

New filter variables

  • Added support for {FilterIndex}, {FilterPreviousText} and {FilterInputVariable} filter variables to support referring to prior filters, e.g. the second filter can see the previous text of the first filter via {Filter1PreviousText}.
  • Added support for reverse-numbered filter variables of the form {FilterPrior1InputText}, where the number counts from the filter before the current one. All of the Filternumber variables are available as FilterPriornumber ones. These are "smart" variables that are not available to notifiers, since they just duplicate values already available. (In case you weren't already aware, you can add a number after Filter for any filter variable, to access variables of prior filters; the numbers count from 1 for the first filter.)
  • Added a description of the numbers in filter variables to the help book.

Email improvements

  • The Preview now supports the Email notifier; it will display the message that is sent, with placeholder values for any variables. (Tip: you can check that an email notifier is configured correctly by showing the Preview or just clicking the Reload toolbar button, or File > Notify Now.)
  • Added support for STARTTLS connection security and Password (PLAIN) authentication in the Email Transport panel.
  • If the Port field is clear, or contains a standard port number for a connection security, it is changed to the typical port number when the connection security is changed.

Preview improvements

  • When the Preview page is displayed for a service, filter or notifier that supports previews (i.e. email and scripts), it displays a message "Reload to Preview", rather than automatically sending an email or running the script (resulting in unexpected placeholder emails or script actions). Click the Reload toolbar button, or the File > Notify Now menu command, to actually preview the item.
  • Added special case support for Web content encodings specified in the source instead of the header (e.g. or for Chinese).

Several fixes of the reports feature

  • Fixed an issue with uploading reports to remote FTP servers.
  • Fixed a crasher when adding a new report with the Preview pane selected.
  • Fixed a logic error that prevented recent checks, changes, etc from being listed on the detail pages.
  • Fixed incorrect last report date display when the report hasn't been generated yet.

More convenient upgrade licensing

  • When adding an upgrade license, now automatically looks up the original license, instead of just telling you it's needed (which can cause confusion, since it's an unusual situation).

Lots more security and stability improvements

  • Updated the Sparkle updater framework to the latest version.
  • Added a Via SSL option to the Updates preferences, to use a secure connection to check for and download app updates. This is on by default, but can be turned off if it doesn't work for some reason.
  • Also updated license refresh etc URLs to use TLS/SSL.
  • Scripts are now saved as Base64-encoded text, to preserve formatting.
  • Fixed a common crasher when editing at the Auto Pause pages.
  • Fixed another crasher when changing pages at the bottom of the window.
  • Fixed a cosmetic issue where the editor info background could show garbage in some situations.
  • Fixed a couple of rare crashes with deleting items.
  • Fixed a crash with using the Convert Domain/IP command with a large text field.
  • Fixed a rare crash with reports.
  • Fixed a rare crasher with the Find filter.

If you are using version 4, you can use the Check for Updates feature in the app to update.

Otherwise, download Simon 4.2 now!

Simon 4.2b4 released

Time Out recently went to beta 4, and Simon was feeling left out. So here's a beta 4 of Simon too!

Just a couple of changes:

  • Scripts are now saved as Base64-encoded text, to preserve formatting.
  • Tweaked the new filters.

If you already have Simon 4, update in the app. Otherwise download Simon 4.2b4 now!

Simon 4.2b3 released

Here's a third beta release of Simon 4.2.

Changes in the update include:

  • Added new Extract List, Extract Changes to List and Rich Text Representation of Changes filters, kindly contributed by Max Cardale. Read the comments for those filters for detailed descriptions of each.
  • Added support for reverse-numbered filter variables of the form {FilterPrior1InputText}, where the number counts from the filter before the current one. All of the Filter<b>number</b> variables are available as FilterPrior<b>number</b> ones. These are "smart" variables that are not available to notifiers, since they just duplicate values already available. (In case you weren't already aware, you can add a number after Filter for any filter variable, to access variables of prior filters; the numbers count from 1 for the first filter.)
  • Added a description of the numbers in filter variables to the help book.
  • Fixed a crash with using the Convert Domain/IP command with a large text field.
  • Fixed a rare crash with reports.

If you already have Simon 4, update in the app. Otherwise, download Simon 4.2b3 now!

Simon 4.2b2 released

It's been a while (due to work on Time Out 2), but here's a second beta release of Simon 4.2.

Changes include:

  • Added support for {FilterIndex}, {FilterPreviousText} and {FilterInputVariable} filter variables to support referring to prior filters, e.g. the second filter can see the previous text of the first filter via {Filter1PreviousText}.
  • When the Preview page is displayed for a service, filter or notifier that supports previews (i.e. email and scripts), it displays a message "Reload to Preview", rather than automatically sending an email or running the script (resulting in unexpected placeholder emails or script actions). Click the Reload toolbar button, or the File > Notify Now menu command, to actually preview the item.
  • Added special case support for Web content encodings specified in the source instead of the header (e.g. <meta charset="gb2312"> or <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> for Chinese).
  • Updated the Sparkle updater framework to the latest version.
  • Added a Via SSL option to the Updates preferences, to use a secure connection to check for and download app updates. This is on by default, but can be turned off if it doesn't work for some reason.
  • Also updated license refresh etc URLs to use TLS/SSL.

Download Simon 4.2b2 now!

(By the way, if you prefer to access websites via TLS/SSL, you can do so for the Dejal site via https://dejal.net/. I'll move the main dejal.com site over later.)

Simon 4.2b1 released

Simon version 4.2b1 is now available.

This first beta includes the following changes:

Added an Exclude Block filter

  • Added a new Exclude Block filter that outputs the text outside the block, instead of inside like the normal Block filter.
  • Enhanced the Block filter feature to support specifying whether to output the text before the Start, the Start text itself, the text between the Start and End, the End text, and/or after the End text, or any combination of those, optionally joined by some separator.

Email improvements

  • The Preview now supports the Email notifier; it will display the message that is sent, with placeholder values for any variables. (Tip: you can check that an email notifier is configured correctly by showing the Preview or just clicking the Reload toolbar button, or File > Notify Now.)
  • Added support for STARTTLS connection security and Password (PLAIN) authentication in the Email Transport panel.
  • If the Port field is clear, or contains a standard port number for a connection security, it is changed to the typical port number when the connection security is changed.

Several fixes of the reports feature

  • Fixed an issue with uploading reports to remote FTP servers.
  • Fixed a crasher when adding a new report with the Preview pane selected.
  • Fixed a logic error that prevented recent checks, changes, etc from being listed on the detail pages.
  • Fixed incorrect last report date display when the report hasn't been generated yet.

More convenient upgrade licensing

  • When adding an upgrade license, now automatically looks up the original license, instead of just telling you it's needed (which can cause confusion, since it's an unusual situation).

Lots more stability improvements

  • Fixed a common crasher when editing at the Auto Pause pages.
  • Fixed another crasher when changing pages at the bottom of the window.
  • Fixed a cosmetic issue where the editor info background could show garbage in some situations.
  • Fixed a couple of rare crashes with deleting items.
  • Fixed a rare crasher with the Find filter.

If you're using a recent version of Simon already, you can update to this beta by checking for updates in the app. If you haven't used a beta previously, you may need to change your Updates preferences within Simon to include Beta & General Releases. Otherwise, you can download Simon 4.2b1.

Simon 4.1.1 released

Simon version 4.1.1 is now available for download.

Please update to this release for El Capitan compatibility, including:

  • Fixed a crash on OS X 10.11 when changing tests with the Preview displayed.
  • Improved the layout of the Preview.
  • Added exceptions to 10.11's restrictions on http:// access.
  • Fixed several issues raised by the latest development tools.

It continues to work on Yosemite (10.10 and later) too.

Download Simon 4.1.1 now!

Simon 4.1 released

Announcing the general release of Simon version 4.1!

This update is free for licensed customers of Simon 4. It includes several significant improvements and fixes.

Redesigned web feature

One of the most noticeable changes is a redesign of the Web (HTTP) feature. It now uses a list of pages including Parameters, Headers, Cookies and Other. Clicking on one shows the corresponding page.


Support for custom headers

Another much-requested enhancement to the Web feature is support for custom headers. This enables you to send extra values to the server, for example a "User-Agent" so the server thinks the request is coming from a specific web browser.


Load dynamic web content

Many websites nowadays use JavaScript to load additional content after the initial HTML is loaded, for example to incorporate updating values from a database, or activity tracking, and other uses. Previously, Simon wouldn't see that dynamic content — it only looked at the base HTML. Now, you can enable a new option to load the dynamic content a specified number of seconds after the base HTML loads, to incorporate such later changes.


Plus much more

There are many more changes, including various tweaks to the UI, moving the Delete function to the Edit menu, adding a crash reporter to make it easier to capture issues, and localization improvements (including adding Chinese).

Read the release notes for full details of the changes.

Download Simon 4.1 now!

Simon 4.1b5, 4.1b6 and 4.1b7 released

Oh look, another beta!

  • Fixed an issue in the previous betas with the Username and Password fields in the Web feature.
  • Simon now uses the third-party Fabric Crashlytics framework to automatically capture crash reports. Previously it would attempt to ignore crashes, so it might crash a little more than before, but hopefully not. Automatically aggregating crash reports will enable faster fixing any that occur.
  • If a crash occurs, Simon will now display an assistant window on next launch to ask for information about the crash, which may help trace the cause. There are also optional fields for your name and email address, in case there are any questions.
  • Updated a few pages in the help book.
  • Integrated a German translation into the help book.

EDIT: A quick update to fix another couple of issues:

  • Fixed a crasher in the Web feature when quickly editing custom headers or cookies.
  • Fixed an issue in previous betas with the Web feature when using a username and password.

EDIT 2: Hey why not make it a trio: another quick update with some further tweaks of this area:

  • Fixed another crasher in the Web feature (caused by earlier beta changes).
  • Fixed an issue in previous betas with the Web feature when editing Parameters values.

Download Simon 4.1b7 now!

Simon 4.1b4 released

One last beta, with just localization changes. English customers can feel free to skip this update if you like, though it's trivial to update.

  • Added Chinese localization, thanks to WeiOSX. Anyone familiar with Chinese, please provide feedback on this work (any issues or improvements).
  • Removed Japanese localization, as it has not been updated for a while. If anyone experienced with Japanese localization would like to take over this, please get in touch.
  • Updated the German and French localizations in some of the plugins (where they hadn't been used before).

Download Simon 4.1b4 now!

Simon 4.1b3 released

One more beta with a few fixes, for good measure. This will probably be the last beta before general release; please let me know if you find any issues.

  • If the When pop-up menu for a test filter is changed to None, the filter plugin controls are now removed, as expected.
  • Changed the (-) button to set the When pop-up menu to None for the last filter or notifier in the test.
  • Fixed an issue where the Preview source wouldn't finish loading if the Preview is displayed on launch of the app.

Download Simon 4.1b3 now!

Simon 4.1b2 released

Just been a couple of days, but here's another beta of Simon 4.1, with some exciting changes:

Redesigned Web feature

  • The Web (HTTP) editor has been significantly redesigned, to use a list of pages including Parameters, Headers, Cookies and Other. Clicking on one shows the corresponding page.
  • The Method pop-up menu is now on the Parameters page, since it indicates how the parameters are sent.
  • The Username and Password fields are now on the Other page; they are only useful if you connect to a server that has an authentication challenge (as displayed in a web browser via a sheet; not the same as a in-page form-based login).

Web feature support for custom headers

  • The new Headers list enables you to add custom headers to send with the request, e.g. Accept, User-Agent, etc.
  • Note that sending a request via Post will set the Content-Type and Content-Length headers, overriding any you may add.

Download Simon 4.1b2 now!

Simon 4.1b1 released

Time for an update to Simon! This first beta release includes:

Support for dynamic web content

  • Added an option to the Web (HTTP) service to enable capturing the rendered source some interval after the base HTML is loaded, to support including dynamic changes from JavaScript, as is more and more common nowadays.
  • Now does Post requests via the more compact application/x-www-form-urlencoded content type, instead of multipart/form-data. (Please let me know ASAP if this breaks any of your POST tests.)
  • Updated the web helper to 64-bit.

Other changes

  • When adding a new test with the Preview displayed, now displays a message saying that there's no location, instead of making the test a failure immediately.
  • Changed the display of status icons in the Tests list to support the Use simple status icons preference option (that uses just green & red instead of fading colors over time).
  • Moved the Delete menu item from the File menu to the Edit menu, to match the placement in most other apps.
  • Fixed enabling and disabling of menu and toolbar items depending on the selected list items.
  • Fixed a very vexing code signing issue with the Growl framework.

Download Simon 4.1b1 now!

Simon tip: Simon Extras

Dejal Simon is a powerful and flexible website & server monitoring tool. One of the reasons it is so flexible is that in addition to the many built-in services, filters, notifiers & reports, you can extend it by using or writing custom scripts (or port sessions).

Simon comes bundled with many examples of such scripts; check out the Services, Filters & Notifiers lists and look for the items with a "Script" subtitle. You can inspect and edit those to customize them to suit your needs, or use them as inspiration for your own.

As an additional resource, the Simon site has an Extras page, which lists several more scripts that customers have contributed over the years. Some of which have later been bundled with the app, but some are only available there.

The Simon Extras page is organized by feature kind: Service Scripts, Filter Scripts, Notifier Scripts, Report Templates, and Other Goodies (including a way to add multiple tests, an extended siren sound, and a script to monitor a FTP site). There's also info for developers on writing custom plugins.

I occasionally add new customer-contributed items to the Simon Extras page. For example, yesterday I added a notifier script provided by Carlos Leal to use the third-party Plivo site to send a SMS message, as an alternative to using Clickatell or email.

Installing scripts is easy:

  1. Decompress the downloaded archive, if you browser didn't do it for you;
  2. Launch Simon if not already running;
  3. Go to the Services or Notifiers list, as appropriate;
  4. Click the New toolbar button (or via the File menu);
  5. Choose the Service Kind (or Notifier Kind) button to show the service (or notifier) page.
  6. Choose the Script service/notifier kind, if not selected by default.
  7. Click the Open Script... button and choose the script file.

The script is copied into Simon, so there's no need to keep the downloaded file around after loading it.

If you create or modify a script that others might find useful, please share it! Send me an email with the script attached, along with a description, and I'll be happy to add it to the Simon Extras page.

Simon tip: enable PHP for scripts

Simon is a very powerful server monitoring tool. One of the reasons for this power is the ability to create custom services, filters and notifiers using a variety of scripting languages.

While languages like AppleScript, Perl, Python, Ruby and shell scripts work out of the box, many people are more comfortable with PHP, commonly used server-side for web pages. But that is not enabled by default in OS X.

It's not too difficult to make it available for Simon scripts, though... if you feel comfortable using Terminal.

Fire up Terminal and enter this command to edit the Apache configuration:

sudo nano /etc/apache2/httpd.conf

You'll be prompted for your password (for the sudo command), then presented with an editor screen.

Press Control-W to search for php. This will move the cursor to this line:

#LoadModule php5_module libexec/apache2/libphp5.so

Delete the leading # to uncomment this line.

Then press Control-O to save the change, then Control-X to exit the editor.

Finally, for good measure, tell the Apache web server to restart:

sudo apachectl restart

That's it! You should now be able to run PHP scripts in Simon.

About Simon Express and Simon Free

Did you use Simon Express or Simon Free for the Mac App Store? As you have probably seen by now, they are no longer available. I was unable to update them, so announced back in October last year that I'd remove them, which I did when Simon 4.0 was released.

I thought I'd go into this in a bit more depth today.

So, why wasn't I able to update them?

When the Mac App Store was introduced back in 2011, apps could be included without too many modifications or special requirements. So I was happy to provide special editions of my Simon app, which I called Simon Express and Simon Free. The Express edition enabled unlimited tests (at a time when the standard edition had license limits on the number of tests, which is no longer true), but was streamlined to only provide a basic set of services, filters and notifiers, without the ability to add or edit them. Simon Express sold for $59.99. Simon Free was the same, but was limited to only a few tests, and available at no cost. These seemed like useful editions for people who didn't need the full power of the standard edition, and preferred the convenience of the Mac App Store.

But as of June 2012, Apple threw a spanner in the works: they required that all apps in the Mac App Store be “sandboxed” — where the apps can only access their own private folder, among other restrictions.

Since Simon is a powerful tool, capable to monitoring arbitrary folders, accessing network services, running customizable scripts, etc, it wasn't feasible to sandbox Simon without cutting out a lot of functionality, which I didn't want to do. Even the cut-down Express and Free editions would have had to be severely restricted. So it just wasn't doable.

For a couple of years, I left the Express and Free editions on the store, without updates, but I felt bad about them falling behind the standard edition, and so when version 4 came along, it was time to retire those editions.

But where does that leave people who bought the Express edition?

If that's you, you are of course welcome to continue using it (or the Free edition) for as long as you like. But to take advantage of the attractive new user interface and enhanced features of version 4, you'll need a Simon 4 license.

I didn't want to make you have to buy a full license, though. So in version 4 I added support for treating Simon Express as a full version 3 license. If you have Simon Express installed (or have previously used it with your Mac), a “Simon Express” item will automatically appear in Simon's Licenses window. So all you need to buy is a Simon Upgrade license.

Furthermore, if you don't already have data for the standard edition, Simon 4 will automatically recognize and import your Simon Express data, enabling a smooth transition from the old app.

In the months since removing the Mac App Store editions, I don't recall having received any negative feedback about this move. I think most people understand... and frankly the Mac App Store editions were never huge sellers; most people preferred the power and flexibility of the standard edition.

The Mac App Store is a useful tool for discovery of apps that fit within Apple's rulebook, but some apps like Simon, and other third-party ones like BBEdit, Coda and more don't fit in that model. And that's fine.

I will continue to include my apps in the Mac App Store when I can... while also selling directly from the Dejal site.

Simon tip: reorder filters, notifiers & more

One of the many enhancements in Simon 4 is the ability to rearrange the order of filters, notifiers, reports and auto pause times while editing a test.

Before, the only way to reorder them after adding was to remove and re-add, but now you can change the order very easily. Simply click and drag anywhere outside a control to move a filter etc to a new position.

Here's a looping video example:

Simon tip: check notifiers

I've recently had a couple of queries (via email and the Simon Forum) about checking if a notifier is working, so that seemed like a good blog topic.

Simon is a powerful app. One of its many features is the ability to create custom notifiers, the mechanism for informing you of changes or failures on the tests. Naturally, when you configure a new notifier, or edit an existing one, you want to make sure that it is set up correctly.

This can be done very easily. When showing the Notifiers list, you can simply select the notifier you want to check (as you probably already have if you're editing one), and click the Reload button in the toolbar, or choose the File ▶ Notify Now menu command.

The selected notifier will then be used, just like when used with a test, except that placeholder values will be used for any variables (since there isn't a test in this case).

For example, here's a Notification Center notification, showing placeholder values (click to see full-sized... and yes, I do have rather a lot of system menus!):

Simon 4.0.3 released

Another small update of Simon, to version 4.0.3.

This update is notable as the first to be delivered via the Sparkle update framework, for people on 4.0.2 (where that was introduced). Hopefully it'll work properly. :) (Yes, seems fine; I just tested it.)

Changes in this release include:

  • When the Show the Simon icon in the Dock preference is turned on, its status is now immediately updated.
  • If a password has been set to access Simon, the unlock panel is now shown without the Monitor window.
  • Fixed a hang in the Twitter notifier when typing in the message text area.
  • Fixed some cosmetic Console warnings with the notifier options editor.
  • Fixed an issue that prevented the MySQL helper from starting.
  • Fixed the helper to launch Simon on login.

If you have Simon installed already, you can get the update via the SimonCheck for Updates... command in the app, which will install it for you; no more need to download manually. You can even check the box to have future updates installed automatically if you wish.

If you don't have Simon yet, you can download Simon 4.0.3 now!

Simon tip: groups

One feature request that I received many times for Simon was the ability to organize tests into folders or groups — especially useful for people with lots of tests, or simply want to collect all tests relating to a particular server or client together.

Previously, the closest you could get to this was to use a common prefix on the name, and sort by name. But that is cumbersome, and loses the benefit of being able to sort by something more useful, like last event date — so recently changed or failed tests appear at the top.

Simon 4 solves this with the new groups feature.

Now, tests can be grouped together however you wish. It's easy to create a group: simply choose the New Group command in the File menu or the + pop-up menu, then drag the tests into the new group. Even easier, you can just select some tests and choose the New Group with Selection command to make a group and move those tests into it in one step.

Groups appear with disclosure triangles, enabling them to be collapsed. The group row shows a summary of the contents, with any common values displayed for easy reference. And similarly, the info pane shows a summary of the contained tests.

Groups can even be nested, if desired — you can have an unlimited number of groups within other groups, if that helps organize them.

But wait, there's more! While grouping tests is perhaps one of the most-requested features, I didn't stop there: you can also group services, filters, notifiers and reports in the same way!

When these items are grouped, they appear indented in the Kind pop-up menu in the test editor, so you can keep related items together:

I hope you enjoy this new feature.

Simon tip: hide the Dock icon

Simon 4 added a surprise new feature that many people have asked for over the years: the ability to hide the app from the Dock.

In the past, Simon's app icon was always displayed in the Dock. Now, with version 4, there is a new General preference to control this. By default, it is on (so the icon is shown, as before).

Why might you want to hide it? Maybe you want to keep your Dock as sparse as possible. Simon's Dock icon can display the most interesting status, but maybe you don't need to see that all the time, or you're satisfied with seeing that only in the status menu. Since you'd probably want to keep Simon running all the time, treating it as a background-only app can make a lot of sense. Now you can!

If you turn off the Show the Simon icon in the Dock checkbox, the app icon vanishes from the Dock, and also from the Cmd-Tab app switcher. Note that if you have chosen the Keep in Dock option in the Dock menu, the icon will linger, in an inactive state; you can disable that or drag the icon out of the Dock to remove it.

When Simon is hidden from the Dock, you can still activate the app via the status menu, if you have that enabled — and the app will automatically turn it on when you turn off the Dock icon, as a convenience. If you don't want the status menu, you can turn it off again... in which case the only way to activate the app will be to click on one of its windows, if any are visible, or open it from the Finder.

One thing to note is that as a necessary side-effect of hiding the Dock icon, Simon will no longer have a menubar. It'll truly be a background-only app. When you display the Simon Monitor window, the menus won't change from whatever other app you were using. This isn't a problem for most functions, as the toolbar buttons and sort drop-down menu options cover most menu commands. But for app functions like checking for updates, accessing preferences, etc, when the Dock icon is disabled a special action menu is added to the toolbar. For power users, the keyboard equivalents still work, too — so you can press Ctrl-Cmd-1 to switch to Preview mode, for example.

I know that this is an exciting enhancement for many customers. For anyone who wants Simon to "disappear" into the background, try turning off the Dock icon. You can always turn it back on again. No restart required. What do you think? Do you prefer the Dock icon visible or hidden? Let me know in the comments below.

Syndicate content