Introducing Simon 4!

Simon version 4 is now available as a public beta release. It includes a significantly redesigned appearance, group support, and numerous other improvements. Plus, version 4 licenses enable an unlimited number of tests!

Important: please note that Simon 4 requires a minimum of Mac OS X 10.10 (Yosemite), and will be a paid upgrade from Simon 3. During the beta period, version 3 licenses will work in version 4. Purchasers since November 1, 2014 are eligible for a free upgrade, and Simon Express, formerly in the Mac App Store, is automatically recognized as a version 3 license.

Read the Simon What's New page for details.

Simon icon Simon
Flexible server monitoring
Note: The screenshots and information below are for the current general release, version 3.6.1. Version 4 is now available as a public beta, and has a redesigned appearance; see the announcement blog post to learn more.

Dejal Simon is the essential site monitoring tool for Mac OS X. It checks servers for changes or failures, and notifies you via email, sound, speech, Twitter, or other means. You can use it to track updated sites, and to alert you when an important server goes down or recovers. Developed in Cocoa, it is a native Mac OS X application with an intuitive and attractive interface.

Simon is very versatile. It can be used to monitor your own website and servers, track posts and new comments on your or friends' blogs, check for web mail, get notifications of updates to favorite news and entertainment websites, keep an eye on auctions, and many other uses.

[Monitor portion]
Monitor Your Sites and Servers

Central to Simon is the Monitor window. It enables you to see at a glance the current status of all of your monitored websites, servers, and applications. In addition to a colorful status icon and up-time percentage, the tests table displays how long ago the last change and failure occurred, and when the next check will occur. But that's not all. This window also displays further statistics about the tests, and tables listing recent checks (including the check duration and a bar chart), changes (including the text that changed), failures (including the error description), and activity, including when tests start checking, and the various steps during the check (starting, stopping, service result, each filter, notifications, etc), plus other actions on tests, e.g. editing, pausing, etc.

Because sometimes you don't want to have another window cluttering up your screen, you can hide the Monitor window if you wish, and/or use the handy Dock or Status menus. The Dock menu includes quick access to Simon's windows, and some global functions. The Status menu includes all that plus displays all of your tests, complete with status icons, details via tooltip, and the option to perform a favorite action or display a sub-menu of quick-access operations for each test, so you can visit the site or other tasks without even having Simon visible.

Put it to the Test

So how do you tell Simon what to monitor? That's where the New/Edit Test window comes in. This window has lots of options to help you configure each test, conveniently arranged on multiple pages:

Note: Simon automatically detects when you don't have a network connection, and waits for it to return. Plus if you run Simon on a laptop that you often take to Wi-Fi hotspots, you can enable an option in the preferences to detect hotspot login pages, to avoid interpreting them as a change or failure in the monitored website.

The Web (HTTP) service is one of the most popular, for monitoring normal web pages (as opposed to other things like MySQL databases, network volumes, or local Applications). The Setup Assistant makes it easy to mass import bookmarks from web browsers, picking and choosing which to import. Also, you can simply drag a URL from a browser or other application to the Monitor window to add it as a new test.

At Your Service

Several services come built-in. Services tell Simon how to check a test. They include, among others:

Usually the built-in services are ample, but what if you want to delve deeper? Sometimes you have a special requirement and want to check some other kind of server. Not a problem! You can customize the services to edit the defaults for the built-in ones, or even add new ones. Similar to the New/Edit Test window, the New/Edit Service window enables you to change the services — and lets you auto-pause a service, affecting all tests that use that service.

Prescription for Success

Simon is all about flexibility, but perhaps one of the most powerfully flexible features is the Script service plug-in. It enables you to create your own services via AppleScript, shell script, or Perl, PHP, Python, and other scripting languages.

The Script editor window enables adding a description to display, custom variables to get values from tests that use the new service, selecting the script type, and of course editing the script itself.

You can get new scripts from the Simon Extras page, or if you write one that you're willing to share, you can save it and send it to us to provide for others.

[Script service plug-in]
Capture Your Heart's Desire

Services based on the Port service plug-in enable you to connect to any server and engage in a conversation with it, receiving text and sending responses. If the session script is successfully navigated, the check is considered a success, but if the server doesn't respond, or responds incorrectly, a failure is registered.

There are session scripts built-in for several types of servers. But how do you create your own? Simon makes it easy, with the handy Capture Session panel.

You connect to any server on a given port, select the relevant part of incoming text, type commands to continue the session, and the session script is created for you. Simple as that!

Put a Detective on the Job

But what about websites that have banners or other irrelevant content? Won't that confuse Simon into thinking the page has changed? Nope! Simon has a very useful feature called Filters, where you can tell it what part of the page to look for, e.g. a comment count on a blog, or the lead headline area on a news site. Filters can also optionally detect if the output is different than the previous time they checked.

Multiple filters can be chained to perform operations on the text output by the service. They can also look at the output of any previous filters, and other values, specified as the input for each filter.

Like services, filters can be customized as desired via the New/Edit Filter, and used in any number of tests. Many filters define default behavior that can be customized for each test, for maximum flexibility.

The provided filters include:

Want to do something else? No problem: you can add custom filters by writing an AppleScript, shell script, or Perl, Python etc script. Like the Script service, the Script filter plug-in enables a virtually infinite range of filtering options.

To make it easier to find text for the Filter feature, or just to quickly view the site without leaving Simon, Preview and Source windows are available. The Preview window includes both the HTML source and rendered content of the page, while the Source window includes the server headers and HTML source. You can also easily view the sites in your preferred web browser. Preview is also available for non-web services, to see what is checked and what is output by the server.

[Filter feature]
Communication is the Best Policy

Okay, so Simon monitors your tests, detecting changes, failures, and recoveries. And it displays this information in the Monitor window, Dock icon, and Status menu. But you're a busy person, and sometimes want important events to really catch your attention. You're in luck: Simon also has a notifiers feature, with several ways of telling you about things you want to know. Each test can use any number of notifiers, with separate notifiers for each type of event. So, for example, you could play a sound and go to the web page when your favorite blog changes, but email a text message to your cellphone when it goes down.

Further, you can share notifiers between multiple tests: set up a notifier once, and use it for as many tests as you like. For additional flexibility, variables enable customizing the notifier with test names, URLs, times, etc.

Available notifiers include:

As with services and filters, you can add custom notifiers by writing an AppleScript, shell script, or Perl, Python etc script. The Script notifier plug-in enables a virtually infinite range of notification options. You can also create notifiers based on port connection sessions via the Port notifier plug-in.

But as useful as notifiers are, sometimes you don't want to be bothered... perhaps during a meeting, or while you sleep if your computer is within earshot. As with tests, notifiers can be automatically paused for specified time and day ranges.

[Notifier window]
Your Reporter on the Scene

[Report window]What if you're using a different computer, and don't want yet more email, or want to see more detail? Simon also offers a reports feature, that outputs multi-page HTML reports that you can view in any web browser. Simon can automatically save them to your local Personal Web Sharing folder (or any other local folder), or upload them to a remote server, at whatever frequency you like. Click to see a live sample!

The reports use templates to manage layout and content, with several templates built-in, and updates and user-submitted ones available on the Simon Extras page. They aren't limited to HTML, either — there are templates for a RSS feed, tab-delimited text files, and other possibilities... including an iPhone template: click to see it live.

Try It Now!

Download and try Simon for free! Version 3.6.1 is currently the latest general release. Read the Simon 3.6.1 release notes to see what has changed in this version, or read the Simon Help to find out more about it.

A beta release is also available. Read the Simon 4.0b3 release notes to see what's new.