Dejal Simon 4: four years after version 3, four months in development, it's time to go forth. Simon 4 includes a fresh new design, unifying all of the lists, logs and editors into a single window, so everything is at your fingertips. It also uses a more attractive layout for the lists of tests, services, filters, notifiers and reports. A much requested enhancement is the introduction of groups, enabling you to organize your tests, services, etc into logical collections. Those with lots of tests will be pleased to learn that the limits on the number of tests have been removed — everyone can have as many tests as they wish. This also simplifies the pricing for new and existing customers. There are numerous other enhancements too, like email services, a context filter, filter output in the preview, and much more. Read on for details.

Licensed Simon 3 users need to be aware that Simon 4 will be a paid upgrade from previous versions. You will need to purchase an upgrade license. If you purchased Simon since November 1, 2014, you are eligible for a free upgrade; contact Dejal to receive your free license.

Note: during the beta period, version 3 licenses will work in version 4.

A new option is the Simon Service Plan subscription. Learn more about this below or on the Simon Support page.

Also note that Simon Express and Simon Free have been removed from the Mac App Store. Simon is a powerful and flexible tool, so they couldn't comply with the sandboxing requirements that Apple introduced. If you used one of these, please switch to the full version of Simon, and enjoy all the extra features. Simon Express is automatically recognized as a version 3 license, so you only need an upgrade license.

Please also note that Simon 4 requires Mac OS X 10.10 (Yosemite) or later, as it leverages the latest technologies. If you're still using an older OS version, you can remain on version 3 until you upgrade your OS version. You are welcome to purchase a version 4 license; it will work in version 3 as a Platinum (unlimited) license.

Read on for a summary of some of the many enhancements in Simon 4.

Great New Simon Monitor Window Design

Simon's main window, the Simon Monitor window, has been significantly redesigned. It now uses a single-window approach to display the Tests, Services, Filters, Notifiers and Reports lists in this window, switching between them via mode buttons along the left edge.

Editing tests, services, etc is now done in this window as well, via an optional info pane to the right of the active list.

As in earlier versions, the logs are displayed in a pane at the bottom of the window. This pane can now also display the Preview; see below for more on this.

The lists or logs can be hidden by dragging the pane splitter, or Cmd-clicking on the selected mode button.

Attractive New List Layouts

The lists of Tests, Services, etc have been redesigned to use a custom layout inspired by Apple Mail and other modern apps.

The lists can be sorted via a menu above the list, or via the View menu. The choice of displaying absolute dates and times (like "2014-12-25 12:34", using your local date & time format) or relative times (like "5 mins, 25 secs ago") is also available in these menus.

The Tests list shows the unviewed flag, status icon, test name, next due date/time; the uptime, service, location, last check time, and last check duration. It can also optionally display information about the most recent change and failure: the last change and when it occurred; the last error, failure & recovery date/time. These can also be toggled via those menus.

Groups

Version 4 introduces a major popularly requested feature: groups in all lists. Groups can be added to help organize the tests, services, etc into logical collections, e.g. by server or kind; whatever makes sense.

In the list, the group displays a summary of its members, e.g. the most significant status and combined uptime, with the info summary showing common values.

The menubar status menu displays groups in sub-menus, with commands that can be applied to all group members.

Redesigned editors

The editors have been completely redesigned to integrate them into the single-window approach. Selecting an item in the Tests, etc lists will now display a summary of the item in the handy new Info pane to the right of the list. An Edit button is included in the top-right of the Info pane. Click that to toggle into edit mode, where the item can be modified. The button changes to Done to switch out of editing mode. You can also click the headings on the summary to jump right to the related page in edit mode.

You can leave it in editing mode and switch between tests to quickly edit them; it will remain on the same page. Speaking of which, the page selectors have been redesigned, and a new Name page was added to edit the name and comments.

The test statistics have been moved to the test summary page for easy reference.

When multiple tests or no tests are selected, the summary page shows the values in common, and a combined view of the statistics for those tests.

Another nice subtle improvement is that the actions for the test Filters, Notifiers, Reports and Auto Pause can now be reordered, simply by dragging them.

Integrated Preview, Including Filter Output

The Preview function has been completely redesigned to integrate it into the single-window approach, and provide the ability to see the filter output in addition to the service output.

When a test is selected, the Preview feature can be displayed in place of the logs at the bottom of the window for a quick view of the test. The preview includes a web page on the left (for web-based tests), a selection list in the middle, and the service response, headers or filter output on the right. The selection list shows the status of the service or filter, and for filters, the sequence number and filter name, e.g. "#1: Block Output" for the output from a Block filter. The filter output is very useful, to see not only the result of the service, but also the result of each filter. This makes it easier than ever to build up multiple filters, taking the output from previous ones to hone in on the interesting values.

The Preview function is also available when displaying a Script-based service, filter or notifier, to run the script and see what it outputs while writing it, and to preview a report within Simon.

Enhancements to the Email Feature

The Email feature now also works as a service. Three service modes are supported: Email Send, Email Receive, and Email Cycle:

Email Send is basically the same as the Email notifier: sends a custom message via SMTP. Useful to "check in" or test that a mail server is working. It outputs the message, or an error if unsuccessful.

Email Receive fetches a list of messages from an IMAP server. It outputs the list of messages, or an error.

Email Cycle first sends a special message with a unique identifier to a SMTP server, then checks for that message arriving on an IMAP server. It cleans up after itself, and outputs the message and mailbox listing, or an error.

There are several other changes, including finally renaming the E-mail notifier as Email, adding a Transport Name field to the Email Transport Options panel, a new Email Account Options panel, and modernizing the framework used to send email. See the release notes for full details.

New Context Filter

Added a new Context filter feature, which takes the previous filter's input and some new match variables to output some context around the filter's output text. It includes controls to specify the number of characters before and/or after the match range, and/or a delimiter before and/or after the match range (e.g. you can show up to 50 characters, stopping at a line break). See the release notes for information about the new variables.

And Lots More Improvements

Too many things to list here! (See the release notes for the full list.) A few other highlights that might interest existing users include:

Added a File ▶ Share menu and a share button in the window toolbar to share the selected item(s) with other apps.

No longer truncates the difference text to 400 characters, if it's longer than that.

The data is now saved in the background, for better performance.

Many changes to improve Yosemite compatibility.

Introducing the Simon Service Plan Subscription

Need more detailed or technical assistance? Introducing the Simon Service Plan, an annual subscription for heavy users or large organizations, or anyone who wants to get the most out of Simon.

The Simon Service Plan includes all app updates, including paid major upgrades like version 4.0 and any future updates within the subscription period, at no additional cost.

The Service Plan also includes two technical support incidents each subscription year. These give you top-of-the-queue direct access to the developer via email, and can be used to answer general questions, help configure Simon, and more.

Still not sure? Try it for free! If you want to keep the old version around, just in case, you can rename it (e.g. to add the version number) rather than replacing it with the new version. That way they can both occupy the same folder without a file name conflict.

Simon 4 has eliminated the license levels. Now everyone can have as many tests as they want for the same price. New customers can purchase Simon for $99.00, and existing customers can upgrade for half that, just $49.00. Simon 4 licenses work as Platinum (unlimited) licenses in version 3, too.

I've had a similar simple class for a while, so that inspired me to push it to GitHub as open source, too. My variation provides four new properties, to set either or both the background and border colors:

Adds a drawsBackground BOOL property. Defaults to YES.

Adds a drawsBorder BOOL property. Defaults to YES.

Adds a backgroundColor NSColor property. Defaults to nil, but lazily assigns a light blue color if not set to another color.

Adds a borderColor NSColor property. Defaults to nil, but lazily assigns a light gray color if not set to another color.

IB_DESIGNABLE support for all four properties, so they can be set in Interface Builder.

To use it, simply include the DejalBackgroundView.h and DejalBackgroundView.m files in your project, then change a container NSView to DejalBackgroundView in the view hierarchy, and set the colors as desired (via code or IB), e.g.:

self.backgroundView.backgroundColor = [NSColor lightGrayColor];

If you only want a background without a border, easily turn off the border drawing:

self.drawsBorder = NO;

All of these properties can be set in IB thanks to the IB_DESIGNABLE and IBInspectable attributes in Xcode 6.

As a bonus, the view is automatically treated as opaque if the background color is used, and is itself opaque.

(I've been meaning to push out more of my code as open source; I would like to take the time to release more, to give back to the community. Please let me know if you read this and would like to encourage me to do so.)

There have been a lot of discussions recently about the Mac App Store, and how many Mac developers are abandoning it. Here's an excerpt from one example, which includes links to many others:

The Mac App Store was released in January 2011 and it marked the beginning of a great new distribution channel. Even though it lacked some bells and whistles, the developer community was hopeful the problems would be addressed in due course. Unfortunately, it has been years and there’s no evidence that the core issues would be addressed in the future, at all. When notable developers are abandoning your platform, cannot do the right thing for their customers and are delaying their MAS submission, something is very, very broken. I believe that the inaction is harmful to the whole Mac community, affecting consumers and developers alike.

As I work on an update to my Simon app, I'm once again faced with this issue. Simon currently has two editions in the Mac App Store, Simon Express and Simon Free. Those are already cut-down editions of the full Simon app available on this website, but they also haven't been updated since Apple introduced the sandbox requirements. Simon is a large and powerful app, and really isn't able to be sandboxed without cutting out even more functionality, which I don't want to do.

So, I am forced to announce that Simon Express and Simon Free will be removed from the Mac App Store when the next update of Simon is released. I've thought about removing them immediately, but decided that it'd be better to leave them until the more natural point of the next update. I would really recommend that everyone use the full version of Simon instead of the App Store editions, though.

What about my other apps?

The current version of my free break reminder tool Time Out, 1.7.1, can not be sandboxed either, so the latest version on the Mac App Store, Time Out Free, is stuck at 1.6.5. Again, I recommend people use the version from this site instead. However, I am working on version 2 (currently in alpha testing), which is sandboxed. Supporting sandboxing has complicated the design, and added a lot of work, but I felt it was worth it for such a generally popular and widely-used app. So Time Out 2 will be available both on the Dejal site and the Mac App Store.

My snippet manager app, Caboodle, is up to version 1.5 currently, but again the Mac App Store edition, Caboodle Express, is a bit behind at version 1.4. As with Time Out, this is a widely-used app, so I want to be able to update the App Store edition. So I'm also working on an update that will support this (and may even support iCloud and Dropbox syncing). Work on this is on hold currently; I'll resume after the next updates of Simon and Time Out are done.

Finally, BlogAssist, my menubar utility to help with HTML markup (which I used extensively writing this blog post) is already fully sandboxed and up-to-date on the App Store. Both the standard edition and BlogAssist Express on the App Store are on version 2.4.

So, as you can see, I still believe in the Mac App Store and want to support it for my consumer apps. Although it has technical challenges, and definitely has many problems as others have discussed, I think it is a useful service for my customers, and a valuable way of getting my apps in front of more people.

However, for a more niche, powerful and professional app like Simon, the limitations of the App Store outweigh its benefits, so I can't justify the compromises required to support it. I do hope that changes in the future — there are lots of things Apple could do to make the App Store a better fit for such apps — but I don't think they have much interest in such changes. I'm just glad that they recognize that there are apps that don't fit the App Store, and continue to support apps outside the store via mechanisms like Developer ID.

I recently heard about Fracture via a sponsorship on the excellent Accidental Tech Podcast. They are images printed on the back of square or rectangular glass, with a foam backing board that includes a mounting hole. They even come with a screw to easily mount to the wall (or a desk stand for smaller ones). No frame needed.

On ATP, Marco Arment mentioned that he has Fractures on his wall with icons of apps he worked on, as a physical souvenir of those projects. That sounded like a great idea to me, so I've done the same. Above my home office window I have 11" square Fractures of my Dejal logo, plus my apps Simon, Time Out (using the version 2 icon), Caboodle, BlogAssist, and Tweeps. They look really nice.

Want your own Fractures? Use my referral code RFR48250 and we'll both get $5 off our next order!

Thanks to Fracture for such a great product, and to Marco and ATP for the introduction and inspiration.

Yes, the rumors are true... Time Out 2 is coming! This major upgrade has been much delayed, redesigned, partial implementations discarded and restarted, and delayed again... but it is well underway now, and is in fact in private alpha testing at present.

What does it include? The major enhancements are not coincidentally the most requested changes: the ability to run Time Out without it being in the Dock, a countdown status menu, and customizable break themes. There are many other improvements, too.

Don't get too excited just yet, though, as it'll probably be another few months before it is available as a public beta. Although version 2 is fully functional now, I've still got lots I want to add and polish, including support for more than two breaks, more kinds of notifications, and an overhaul of the UI.

One other big change is the app icon. The icon for version 1 is nice enough, and many people like it, but others are put off by the meditating figure. So I've taken the opportunity of version 2 to have a fresh new icon professionally designed... and here it is:

I hope you like it, and agree that it's a huge improvement. The theme is relaxation — take a break. A hammock under palm trees seems pretty relaxing to me. And from a certain perspective, it looks a little like a smiley face. Hopefully taking rest breaks will make you smile, too.

This great icon was designed by Aaron Mahnke of Wet Frog Studios. It was a pleasure working with such a professional and skilled designer. He was easy to work with, clearly understanding my ideas and quickly created a draft design that was very close to what we ended up with. He was also responsive to my suggestions for tweaks, so it only took a few iterations before we had the final design.

So, when will version 2 be available publicly? I don't know. It'll be done when it's done. But I will post more about it over the coming weeks, so you can get a feel for the enhancements.

Can't wait? Want to try the current alpha releases? I always welcome fresh perspectives, so you could be eligible to join the elite alpha group. It is only open to licensed users, so if you've made a donation, and you're using Mavericks, you can contact me to request to join the alpha team, or to get more information.

I first used a Mac back in high school in New Zealand, where I volunteered as head student librarian. The school had mostly Apple IIe computers, but bought one of the newfangled Macintosh computers in 1984. It was an original 128K Mac, with a single internal floppy drive. Back then, the OS, an application, and data fit on a single 400K disk. We used MacWrite for letters and other documents, MacPaint for occasional graphics, and the OverVUE database for some records... though not a full book catalog.

I bought my first Mac four years later while at university, in 1988. It was a Macintosh Plus, one of the new platinum-colored models. And I even had a second 800K floppy drive and a dot-matrix printer! Later, I added an external hard drive (I think it was 10 MB, though I could be wrong).

Those were the days... working on a 9-inch 512 x 342 pixel monochrome display... which is actually not much more than the original iPhone screen resolution, to give some perspective.

Later I bought a Macintosh II, which I subsequently upgraded internally to be a Macintosh IIx. Then I used a number of other models provided by a Dejal client.

When my wife and I got married, Apple gave us a PowerBook 150 as a wedding present, since we had met while using Macs with the fledgling internet. Our wedding was covered on local TV news and newspapers. Yep, meeting over the internet was a novel concept back then.

Just before we moved to the US, we bought a clamshell iBook G3, which we still have, though it is retired now. Then an iMac G4 that died of old age, a PowerMac G5 that I still very occasionally use for Mac OS X 10.4 testing, a 17" MacBook Pro that died due to graphics system failure, and my current machine, a 27" iMac.

(We've also had a few other Macs: a Mac mini we used to use with our TV, a MacBook I bought to take to WWDC before I got my MacBook Pro, then subsequently gave to my wife's mom, and my wife has had a couple of 15" MacBook Pros and now has a 27" iMac like mine.)

All in all, it's been a great 30 years. I've enjoyed using and owning the various Macs over this time, and look forward to many more years. Happy birthday, Mac!

This release includes new Notification Center and History plug-ins, a rewritten Twitter plug-in, several report enhancements, and other improvements:

Added a new Notification Center notifier plug-in, that displays a notification in OS X's Notification Center, with various click action options. (Note, it is only available on OS X 10.8 and later.)

Added a Notification Center default notifier use the new Notification Center plug-in. By default, clicking the notification will select the test in Simon.

Added a new History filter plug-in, that keeps track of the input text that it has seen, and can set a result if the text is or isn't unique in that history.

Added a Change Only If Unique default filter to result in a Change if the input text has never been seen before by this filter, or Unchanged if it has.

Added a History Always Repeats default filter to result in a Failure if the input text hasn't been seen before, or Unchanged if it has. It's easy to add additional variations if you need them.

Rewrote the Twitter notifier plug-in to work with the latest Twitter API. It now uses the Internet Accounts from System Preferences, so you don't need to enter your Twitter credentials in Simon. (Note, it is only available on OS X 10.8 and later.)

Removed the Twitter service plug-in, since it would have taken a lot of work to rewrite, and feedback indicates that pretty much nobody uses it. If you do, please contact me.

Added a Twitter Update default notifier that tweets using the first account alphabetically. It can be edited to specify a different account.

When creating an E-mail notifier, now uses the displayed default Subject text if you don't edit the field (previously had an error if the field was never touched).

Added a MySQL default service that uses the MySQL plug-in, to make it easier to use this existing feature.

Added support for escaping braces (curly brackets) and square brackets in report templates, so they are output in the report instead of being interpreted as Simon variables or blocks.

Added support for custom date/time formats in report templates. For example, could use NextCheck format="yyyy-MM-dd 'at' HH:mm:ss".

Updated the Variable Test report template to include the LastChangeTextWithHTML and LastChangeTextWithoutHTML variables, and mention escaping braces and brackets.

Fixed an issue with the Other... option for the Save Locally report kind.

Now considers the check frequencies for successes and failures when calculating the Up Time percentages, to make them more accurate.

It's been a fairly quiet year for Dejal apps. Let's review what happened in 2013:

My flagship product to monitor websites and servers for changes and failures, Simon, was updated to version 3.5.1 in 2013, with the next update, 3.6, currently in beta testing (at 3.6b3). 3.5 included a re-architecting of the Web plugin and lots of other improvements, while 3.6 includes new History and Notification Center plugins, and a rewritten Twitter plugin, among other changes. 3.6 should be in general release later this month.

My handy break reminder tool, Time Out, didn't get any updates in 2013, despite my plan to have version 2.0 out last year. Work on Profile (and to a lesser extent other projects) pushed back development. But I'm pleased to announce that I'm actively working on Time Out 2 currently, and hope to have an alpha for a few select licensed users to try very soon. As previously mentioned, everyone who makes a donation for Time Out now will be automatically eligible for the full-featured paid edition at no additional cost — so you can set your own price for it now! This offer expires when version 2 is released. This also makes you eligible for the alpha; tell me if you're interested. Thank you to everyone who has already donated; the volume of donations is really encouraging.

Caboodle, my lean clean snippet machine, was updated to version 1.5 in 2013, including many changes for Mountain Lion and Mavericks compatibility. I've started work on another update too, though it's currently on hold until I finish Time Out 2 and more Profile work, so won't see the light of day till later in the year.

BlogAssist, my tool to help with HTML markup, wasn't updated in 2013. It had an update to version 2.4 in 2012, and doesn't need any further changes for now. I have some ideas for improvements, but again they'll wait their turn for higher priority projects.

Tweeps, an app for iOS to easily manage Twitter accounts, was updated to version 3.2, including support for Twitter's latest API changes and more.

Profile, a client for Intrahealth's powerful medical practice management system, is where I spent the vast majority of my time in 2013, as contract work. The latest public release is version 2.2.7, but version 2.3 with major improvements is in development.

So what's coming up in 2014? Firstly, as I said, Simon 3.6 will be in general release soon. But my top priority is Time Out 2.0. For realz this time. I will still spend at least half my time on Profile 2.3 and beyond, too. Once Time Out 2 is out, there will no doubt be iterations of improvements on that, and more Simon, Caboodle and BlogAssist updates.

Thank you and welcome to my new customers, and many thanks to my long-term customers who are still enjoying my apps. I really appreciate your support. I'm very excited about the much-anticipated Time Out 2 release this year, and other projects in the pipeline.