David Sinclair's blog

Simon 3.1 released

Simon version 3.1 is now in general release. A rather short beta period, but all seems well with it.

The standard edition of Simon version 3.1 is available for download here. Updates for Simon Express and Simon Free for the Mac App Store have been submitted to Apple, and will be available as soon as they've done their review.

Changes in this release include:

  • Enhanced the Web (HTTP) plug-in to fetch cookies in the background, to improve performance and avoid a risk of hanging if the OS's shared cookie storage deadlocks.
  • Added a limit on the number of simultaneous checks, to avoid overloading. By default the limit is 5. If there are already that many tests being checked, subsequent ones are queued until one finishes. The limit can be changed via a hidden preference, e.g. "defaults write com.dejal.simon MaximumActiveChecks 1".
  • Improved the logic for calculating the next check time, especially for tests that were due while Simon wasn't running.
  • Also reduced the minimum interval between checks from 15 to 5 seconds.
  • Fixed a bug with scheduling of tests that could cause performance issues with lots of tests.
  • Marking tests as viewed or unviewed now updates the log tables immediately (that action was only listed in the Activity log when the next item was listed).
  • The license button now updates correctly when Simon is running for multiple days. (Standard edition only.)
  • The editor windows now open to the Summary page for New and Duplicate, or to the last-used page for Edit, since setting the name is usually the first thing to do for a new test etc.
  • Removed all PPC code from the Express and Free editions on the Mac App Store (the standard edition still works on PPC machines, for now).

Download Simon 3.1 now!

Simon 3.1b1 released

A change of plans.

I previously discussed a rather ambitious Simon 3.1 update, where I was refactoring the data model to use Core Data, and many other related changes. Pretty much redesigning the core of the application, including splitting it into multiple processes. But that turned out to be too ambitious for my current time constraints. It was taking a long time, with a significant risk of data integrity. So I recently decided to postpone that for a future update.

Therefore, I put that code aside and went back to the 3.0.2 codebase, and implemented a more modest set of enhancements for the new 3.1 release:

  • Enhanced the Web (HTTP) plug-in to fetch cookies in the background, to improve performance and avoid a risk of hanging if the OS's shared cookie storage deadlocks.
  • Added a limit on the number of simultaneous checks, to avoid overloading. By default the limit is 5. If there are already that many tests being checked, subsequent ones are queued until one finishes. The limit can be changed via a hidden preference, e.g. "defaults write com.dejal.simon MaximumActiveChecks 1".
  • Improved the logic for calculating the next check time, especially for tests that were due while Simon wasn't running.
  • Fixed a bug with scheduling of tests that could cause performance issues with lots of tests.
  • Marking tests as viewed or unviewed now updates the log tables immediately (that action was only listed in the Activity log when the next item was listed).
  • The license button now updates correctly when Simon is running for multiple days. (Standard edition only.)
  • The editor windows now open to the Summary page for New and Duplicate, or to the last-used page for Edit, since setting the name is usually the first thing to do for a new test etc.

I will come back to the Core Data etc refactor in a future update, probably next year. But in the meantime I have a bunch of smaller updates planned (as I always wanted to do after the big 3.0 upgrade), that will have more immediate benefit for my customers.

Download Simon 3.1b1 now!

Personal vs professional

As you know, I publish this blog on the Dejal website.  It has been around for many years, and has discussed all kinds of topics.  Dejal product news, of course, plus general Dejal topics, and posts for other developers with open source and code tips.

Sometimes I post on more general topics, like Mac commentary and WWDC visits.

And I sometimes post about things going on in my life, like my travels, videos I find interesting or entertaining, stuff I find amusing, or my cats.

I've been wondering if the more personal topics are really appropriate for a business blog, though.  Looking around at other indie Mac and iOS company blogs, some do post random topics, but most stick to app update announcements, tips, and other core topics.

What do you think of this diverse mix of blog posts?  Do you like getting to know your app developers a little better, or would you prefer developer blogs kept to discussing their products?

Should I create a separate blog for non-Dejal-related topics?

What about the Dejal Twitter and Facebook accounts?  Should they stick to Dejal news too, or is general life stuff okay?  I'm not all that verbose with tweets, with often only a few tweets per day, sometimes none.  But the vast majority of the tweets aren't about Dejal topics.  Should I use a different account for personal tweets?  (I do have a personal Twitter account, @dejus, but don't currently use it.)

I'd appreciate your thoughts in the comments, via Twitter (@dejal), or privately.

Plus, I have a poll!  Take a moment to vote.

Simon 3.1 alpha testers wanted

I've been working on the next update for Simon, my flagship app to check websites and servers for changes or failures. Version 3.1 is quite a big change, but almost all of it is "behind the scenes".

The biggest change is a redesign of the data storage. Previous versions store all tests in a single XML file, which is read in at launch and written out periodically. This is simple, but can be a little slow when there are lots of tests. Similarly, service, filter, notifier and report data each have their own XML file.

In version 3.1, I've redesigned this to use Apple's high-performance SQL-backed Core Data framework. So now it loads much faster, and only needs to write out individual tests when they are changed, rather than all of them.

Not only is this faster, it also enables planned future functionality, like splitting the app into multiple processes to avoid using up resources with lots of active tests, the ability to edit settings for multiple tests at once, and much more. It's an investment in the future.

But because migrating Core Data models can be a hassle, I also write out the tests etc as file packages. The data folder now includes folders for Tests, Services, etc, each of which contains a file package for each individual test etc. The package is actually a folder (which can be examined via the Finder's Show Package Contents contextual menu item), containing an XML file and a folder of logs, also stored as XML.

This means that when I change the Core Data model, Simon can simply discard the Core Data cache, and read in the file packages instead. Updating the XML format is much easier to remain backwards compatible. And since Core Data knows when individual tests are changed, Simon only needs to write out the XML in the packages when a test actually changes. I've measured it, and that adds a negligible amount of extra time to saving (still way faster than writing out all tests each time), and gives the migration benefit, plus enables storing larger data in the package, and in the future will have other benefits like Spotlight searching, sharing data, and more.

Anyway, if you're still reading after all that somewhat technical detail, you might be someone I'm looking for! Since changing the data storage is a big deal, and has involved a lot of changes to Simon's internals, I would like to get a few keen Simon users to help test the update before I unleash it on the world.

So, if you are interested in helping me test Simon 3.1, please contact me. The alpha release of Simon 3.1 will only be made available to a few people, but I expect interest to be limited, so don't hesitate to volunteer.

Worried about risks? It's pretty safe. Simon 3.1 doesn't touch the old large XML files of 3.0 and earlier, so worst case the new data files can be thrown away and you'll revert back to the state before upgrading to 3.1. So the only risk is that you could lose changes made in 3.1. Plus, of course, the risk that you could get spurious notifications, or miss notifications, if something goes wrong. But everything seems to work okay in my testing, other than a few minor issues I'm still tidying up.

Once Simon has had some more testing, I'll do a public beta release, probably in a couple of weeks, depending on the amount of testing the alpha gets, and what issues may turn up.

I'm looking forward to hearing from you!

Introducing Simon Express and Simon Free for the Mac App Store

I am pleased to announce that my flagship product — Simon, my server and website monitoring tool — is now available on the Mac App Store!

Simon was the last of my main apps to have Mac App Store editions, as it presented some extra challenges, being a much more powerful app than the others.

Three editions

There are now three editions of Simon:

But unlike my other apps with editions on the Mac App Store, there are key differences between the Simon editions. The standard edition of Simon is unchanged; it includes all the same features as before, and is sold in four license levels:

  • Bronze: this enables up to 15 active test configurations.
  • Silver: this enables up to 40 active test configurations.
  • Gold: this enables up to 100 active test configurations.
  • Platinum: this enables an unlimited number of test configurations.

The Mac App Store editions, Simon Express and Simon Free, on the other hand, have a more streamlined feature set. They only have a few of the plug-ins that provide the services, filters and notifiers. They also don't include editor windows for services, filters and notifiers, and don't include the reports feature.

Simon Express has no limitation on the number of test configurations. Yes, you read that right — unlimited tests, just like the most expensive Platinum license... so long as you only need the most popular services: Web (HTTP), FTP, DNS and Ping. So it is ideal for webmasters and others who want to monitor hundreds of websites.

Simon Free is the same as Simon Express, except that it is limited to 5 active test configurations. It is ideal for people who just want to monitor their own site and a few others.

See the Simon Feature Comparison page for a summary of the differences between the three editions. The Overview page has also been updated to add a little gold star ([direct only]) next to features that are only in the standard edition.

"Webster"

I had the idea for an app like Simon Express last year, before the introduction of the Mac App Store. I used the code-name "Webster" for this project, to highlight the goal: a simple, streamlined app for people who just wanted to monitor websites, and didn't need all the extra power of the full Simon application. The standard edition includes lots of flexibility, with custom scripts for services, filters and notifiers, the reports feature, and many more plugins. But not everybody needs all this flexibility; sometimes they just want to monitor hundreds of websites, and want a simple and inexpensive app to do that. Simon Express is the answer.

Simon Express is available on the Mac App Store for an introductory price of $59.99 (in the US; other countries vary as usual for the App Stores). Simon Free is available at no cost; it will always be free. Check them out!

And, of course, the standard edition of Simon remains available directly from the Dejal website, and can be downloaded for free for a full-featured trial period.

Each edition has separate data and preferences, so you can even run all three at the same time if you wish; perhaps use the standard Simon app to monitor advanced services or do custom filtering, and Simon Express for the bulk of simple web servers. You can migrate between editions by copying the data files; I'll probably add an in-app migration tool in a future version, if there's demand for it.

Buying advice

So which edition is right for you? If you have already purchased Simon, you'd be best off sticking with the standard edition. It has more features and flexibility than the Express or Free editions.

If you're considering Simon, you can download and try either the standard edition or the Free edition, depending on whether you want to monitor all kinds of services, or just websites.

When you're ready to buy, the same criteria can be used: if you want to monitor mail accounts, applications, Twitter, databases, and other diverse services, or use more filtering and notification options like email, Twitter, custom speech and sounds, and more, then the standard edition is for you. If you just want to monitor simple websites, and lots of them, Simon Express is for you. Or if you only want to monitor a few websites, the Free edition might be enough.

I hope everyone is as excited about these new options as I am! As always, if you have any questions, I'm happy to answer them in the comments or Simon Forum.

10 years in the US

This Friday is a milestone: 10 years ago my wife (Jennifer) and I moved from New Zealand to the United States.

I was born in NZ and she was born in the US. We met via the ancient command-line internet, she moved to NZ in 1994, and we got married on April 2, 1995. So yes, this weekend is our 16th wedding anniversary.

We enjoyed living in NZ, but eventually the call of Jenn's friends and family in the US became too much, and we decided to move to the US. It was quite a process, since I needed to go through the residency visa application routine, and of course shipping our household goods over in a container (and our three cats via plane) wasn't the easiest. But it was the right choice at the time, and still is.

We flew into Los Angeles on April 1, 2001. Of course, we visited Disneyland. Then we drove a rental car up the US west coast, staying in San Francisco for a couple of nights, then a stopover in Coos Bay, then up to Seattle to stay with Jenn's Mom for a week. Then we went back down to Portland (with a car borrowed from Jenn's grandmother) to stay in a friend's basement while we got established.

Jenn found a local job, we found an apartment, our furniture arrived, and we began to feel settled.

We've since bought a house and car (which we recently replaced), and I am now a dual citizen: I got my US citizenship back in 2004.

Naturally, my company came along for the ride. Dejal was basically a hobby in NZ, but one of my goals once in the US was to turn it into a real business. It has certainly flourished over the years, with revenues steadily growing.

Changing countries is quite a big deal, but it was worth it.

Will we ever move back to NZ? Who knows. We've learnt not to try to predict the future; plans can change. But we do have a dream of retiring in NZ eventually. We'll see!

BlogAssist 2.2.6 released

I'm pleased to announce that BlogAssist has now joined Time Out and Caboodle on the Mac App Store.

BlogAssist 2.2.6 is now available for download here, and on the Mac App Store.

The Mac App Store edition requires Mac OS X 10.6 or later, but the direct edition still supports 10.4 and later, for now. The next non-bug-fix updates will increase the minimum OS requirement to 10.6, so this might be the last release that supports Tiger and Leopard.

The edition of BlogAssist in the Mac App Store is called "BlogAssist Express", to help distinguish it. It is basically the same as the non-App Store edition; it just doesn't have the in-app update mechanism.

For existing customers, please note that Apple doesn't currently offer any way to migrate users from the existing app to the App Store edition. So I recommend sticking with the direct edition. It will always have the same or more features than the App Store edition, and get updates faster, since it don't have to wait for Apple's review process.

Download BlogAssist 2.2.6 now!

Or check out BlogAssist Express 2.2.6 on the Mac App Store.

Caboodle in TheMacBundles

I'm pleased to announce that Dejal Caboodle, my "lean, clean snippet machine" is included in TheMacBundles.

Caboodle is a handy tool to help collect and organize various bits of text, images, PDFs, and other information. It includes support for custom fields and freeform rich text and other content, plus can encrypt your entries to keep them secure, and import and export several formats. It is simple and easy to use. A full license is included in the bundle, not some cut-down version.

You can see more of it on the Caboodle page, or download it now to give it a try.

This bundle also includes 9 other fine apps, for only $39.95 — a saving of 84%!

Visit TheMacBundles.com to learn more, or to take advantage of this great deal.

Christchurch earthquake relief followup

A couple of weeks ago, a major earthquake hit Christchurch in New Zealand, with at least 160 dead and many more injured. A couple of days later, I announced that I'd donate 100% of Dejal Mac sales for a week to the New Zealand Red Cross, to aid with their relief effort.

Towards the end of that week, I was contacted by some Kiwi iOS developers who were organizing their own similar effort, also donating 100% of their incomes for a week to the NZ Red Cross. So I decided to join with them and extend my effort by another week. They also managed to recruit lots of other NZ, ex-NZ and overseas developers to their effort.

I'm pleased to report sales totalling US$1,419.64 during this period, which I will donate to the NZ Red Cross.

I had hoped for more (e.g. when I did a similar effort for Haiti, I accumulated almost as much in a single day), but I'm between releases right now, so it didn't benefit from the usual new-release sales spike. And perhaps people aren't as moved by a disaster in a first-world country? True, Haiti was a much bigger disaster, with hundreds of thousands dead. But as an expat Kiwi, the Christchurch earthquake seemed "closer to home" for me.

Regardless, thank you very much to everyone who bought my apps during this period. I really appreciate your help in this effort. I'm sure the NZ Red Cross will make great use of the funds.

If you missed this event, not to worry — you can make donations directly to the NZ Red Cross.

Christchurch, New Zealand earthquake relief

As you may have heard, the city of Christchurch in New Zealand had another major earthquake a couple of days ago, having suffered a big one late last year.

This quake (or series of quakes) has done a huge amount of damage, both to homes and major landmarks like the cathedral. Hundreds of people are still missing, and at least 75 123 were killed, with the toll still climbing.

Here's an interesting visualization of the two big quakes and hundreds of others in the region.

Looking at some of the photos really brings home the tragedy, for example this slideshow of before and after photos.

I won't repeat all the news about it; for details, see CNN's coverage, the New Zealand Herald's coverage, and others.

As many of you know, I was born in New Zealand, and lived there until 2001. Although I don't have any friends or family in Christchurch, I know people who do. I feel that I really want to do something to help the relief efforts.

So, I'm announcing that for the rest of this week (i.e. from now till midnight PST on Sunday Feb 27), I will donate 100% of the proceeds from Dejal Mac app sales to the New Zealand Red Cross, to help fund their relief efforts.

Update: Extended for another week! I've now joined with other Kiwi Mac and iOS developers who are also donating 100% of their income to the NZ Red Cross. So now I'm donating my Mac income till March 5.

If you're at all interested in any of my products, now is the time to buy. Your money will help those suffering from this disaster.

Buy from the Dejal Store.

And if you don't need any of my apps, I urge you to make a donation to the NZ Red Cross directly.

Simon tip: take automated screenshots

Here's a handy tip for Simon, my flagship website and server monitoring tool:

Want to take regular screenshots of your computer automatically? Perhaps to record your progress or productivity, or make sure a child is using acceptable apps and websites? You might not think of Simon for such a job, but since its scheduler is always running (while Simon is running, anyway), it's a good fit.

Download and install the "Screenshot" service from the Simon Extras web page, then add a test using that service. It will take a screenshot and save it to a specified folder, at whatever frequency you specify for the test.

But wait, there's more! What if you want to take a screenshot of what a web page looks like, perhaps whenever it changes? You can do that, too. Download and install the "Show & Screenshot" notifier script, also from the Simon Extras page. Add that as a change notifier on a web test, and whenever the page changes, it'll be opened in your web browser, wait a bit for it to load, then take a screenshot. Handy!

Of course, being scripts, the behavior can be customized as needed. I hope one or both of these are useful!

Time Out 1.5.7 and Caboodle 1.3.7 releases

I'm pleased to announce that both Time Out and Caboodle will be in the Mac App Store when it launches tomorrow.

To keep the versions in sync, here are updates to the non-App Store editions: Time Out 1.5.7 and Caboodle 1.3.7.

The Mac App Store editions require Mac OS X 10.6 or later, but the standalone editions still support 10.4 and later, for now. The next non-bug-fix updates will increase the minimum OS requirement to 10.6, so these might be the last releases that support Tiger and Leopard.

The edition of Time Out in the Mac App Store is called "Time Out Free". It is completely free, and always will be. Later, once version 2 is released, I'll rename the standalone edition as "Time Out Pro", and introduce a paid "Time Out Express" edition in the App Store. Currently, both the standalone and App Store editions have the same features, except the App Store one of course uses the App Store to update instead of the built-in mechanism. Once version 2 is out, Time Out Free will continue to have about the same features as now, and Time Out Express and Pro will gain many new features.

Similarly, Caboodle on the Mac App Store is called "Caboodle Express", but is basically the same as the non-App Store edition. Other than removing the update mechanism, the only notable difference in Caboodle Express is that it doesn't offer to install the PDF workflow, since Apple objected to that in the approval process. This feature is still available, you just have to alias the application to your "~/Library/PDF Services" folder.

I probably won't have a "Caboodle Free", since I can't think of any way to limit the functionality sufficiently while remaining useful. People can try Caboodle for free via the Dejal site, then buy either from here or from the App Store, as desired.

For existing customers, please note that Apple doesn't currently offer any way to migrate users from the existing app to the App Store edition. So I recommend sticking with the standalone editions. They will always have the same or more features than the App Store editions, and get updates faster, since they don't have to wait for Apple's review process.

In case you're wondering about BlogAssist, I haven't gotten around to building a Mac App Store edition of that yet. I'm not sure I will for a while; it's fine as-is.

As for Simon, that's a tricky case, since it is a very complex app, with lots of plug-ins and complex features. I don't think that Apple would even approve it, without eliminating a lot of functionality... perhaps too much. So for now, I don't plan to submit Simon to the App Store.

Download Time Out 1.5.7 now! and/or download Caboodle 1.3.7 now!

Featured blog posts of 2010

My blog posts often just cover new releases, but sometimes I post general-interest or developer-interest topics. Some highlights from 2010 included:

I hope you enjoyed these posts.

Dejal year in review: 2010

The year 2010 saw some big changes at Dejal, including the release of Tweeps for iPhone and iPad, sale of my first app to another company, and a major upgrade of my flagship Mac app:

I spent the first half of 2010 working on Tweeps, a free app for iPad, iPhone and iPod touch to easily manage Twitter accounts. It was an interesting experience; I had written two previous apps for iPhones (SmileDial and Valentines), but Tweeps was a much bigger project, and my first iPad app. It includes a lot of handy technology that I'll put to use in future iOS apps.

An interesting thing that occurred in 2010 was the sale of my first Mac OS X app. Narrator, my app to read out stories in multiple voices, was acquired by Mariner Software. That was quite an interesting experience; I'd never sold off an app before. But I still feel it was the best thing for everybody: I wasn't giving Narrator the love it deserved, and it's a great fit with Mariner's other apps. Based on that experience, I'll definitely consider offers on other of my apps, when appropriate.

Once I released a few bug-fix updates of my various Mac apps, I got to work on a major upgrade of Simon, my flagship product to monitor websites and servers for changes and failures. After five months of development, version 3.0 was released in November. The first major upgrade in five years, it included many great enhancements, especially powerful new filter features.

Caboodle, my lean clean snippet machine, only got a couple of bug fix releases (to version 1.3.6) in 2010. I had been hoping to do the 1.4 release at the end of 2010, but ran out of time. That may come in early 2011, or I may push it out till later in the year.

Similarly, BlogAssist, my tool to help with HTML markup, also only had two bug fix releases (to version 2.2.5) in 2010. It is a lower priority than my other Mac apps, since it is basically feature-complete now, though I do have a number of ideas for improvements, so hope to get an update out later in 2011.

My handy break reminder tool, Time Out, remains one of my most popular products, and it saw an update to version 1.5.6 in 2010. Version 2.0 has been in the works for a few years now, but it got postponed by Tweeps and Simon updates. It remains an important and exciting update, though, so I'm really looking forward to it. It is my top priority for 2011. I'm sure it'll be worth the wait. And 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. Thank you to everyone who has already donated; the volume of donations is really encouraging.

So what's coming up in 2011? As indicated, the main focus will be Time Out 2. I also plan to do smaller, more frequent updates to Simon 3. The initial Simon updates will concentrate on features that will also be leveraged by Time Out 2 — it may not seem it, but they have a lot in common (e.g. scheduling, plugin usage, and behind-the-scenes things like app structure and data organization).

2011 also marks the 20 year anniversary of Dejal (in September). I'm looking forward to celebrating that remarkable milestone!

My year in cities, 2010

Time for my traditional list of the cities I spent one or more nights in during 2010:

  • Portland, OR (home)
  • Mexico cruise ship
  • Seattle, WA
  • Ashland, OR
  • Auckland, New Zealand
  • Tauranga, New Zealand
  • Wellington, New Zealand
  • New Plymouth, New Zealand
  • Opononi, New Zealand
  • Paihia, New Zealand

The Mexico cruise was a new experience — our first cruise ship vacation. We'll definitely do that again sometime in the future.

Visiting Ashland for the Shakespeare festival has become an annual tradition; we'll be back again in 2011.

The big trip for 2010 was the New Zealand tour. Four weeks visiting family and favorite places from when we lived there, and some new places, plus burying my father's ashes (he died in December 2009). I may blog more about it, once my wife has finished posting the photos.

(Compare to 2009, 2008, 2007 and 2006.)

Simon 3.0.1 released

Version 3.0.1 of Simon, my flagship website and server monitoring tool, is now available.

This update includes just a few fixes, though important ones:

  • Enhanced the Twitter plug-in to use a combo box for direct message recipients, and sort them alphabetically.
  • Fixed an issue that prevented the MySQL plug-in from loading.
  • Tweaked the help book to mention the Wi-Fi hotspot option in General Preferences.
  • Updated French and German localizations.

Download Simon 3.0.1 now!

Simon 3.0 released

I'm very excited to be able to announce that version 3.0 of Dejal Simon, my flagship Mac app to monitor websites and servers for changes or failures, is now in general release! The first major upgrade in five years, version 3 has been in development for five months. It includes many significant improvements, including a new Filter concept, new Activity log, redesigned (much nicer!) editor windows, and much more.

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

Please also note that Simon 3 requires Mac OS X 10.5 (Leopard) or later.

Download Simon 3.0 now!

Read on for a summary of some of the many enhancements in Simon 3, or see the release notes for full details.

New Activity Log in the Monitor Window

Simon 3 replaces the Notifications log with a more comprehensive Activity log. It still lists notifications, but now also lists several other kinds of actions on tests. For example, it lists when a test is edited, paused, offline, started checking, stopped or completed. Plus it lists the output and status of the service and each filter. (What's a filter? Keep reading!)

The Monitor window also now has an optional Location column, which shows the URL, domain, or other properties of the service, where available. And other improvements, like smart zooming.

[Monitor window]
Redesigned Editor Windows

In version 2, the editor windows (Edit Test, Edit Service, etc) squeezed everything into the window at once, and used disclosure triangles to collapse (hide) portions. This was fine originally, but over time the windows have added more controls, and became way too busy, and too high to fit on smaller screens without hiding portions. The disclosure triangles were easy to overlook, too.

So in version 3, the editor windows have been redesigned. Instead of disclosure triangles, they arrange the controls on multiple tab pages. The new layout is tidier and simpler, without losing any functionality — and in fact works much better, since the windows can now be freely resized and zoomed.

Another enhancement is the addition of a Summary page, which contains the Name field and a new Comments text area. This is a great place to provide a description of the test, service, etc. And this description is displayed in tooltips in the pop-up menus in the Edit Test window, as a very useful quick reference when choosing a service etc. The Summary page also includes a handy overview of the values from the other pages. Click the prompt before each item to go directly to that item.

[Edit Test window]
Powerful New Filters

In Simon 2, we had a very handy Smart Change Detection feature, that could extract a portion of the service output (HTML or whatever), to ignore dynamic or uninteresting portions, and determine if it was different than the previous time the test was checked.

As great as that feature was, sometimes it's not flexible enough. What if you want to look at multiple portions, or the 10th occurrence, or simply remove HTML tags or numbers from the text? Or if you want to result in a failure if the text is found? Or only detect a change if a number changes by some threshold, or is out of range?

All of those and much more are now possible, and in fact really easy, thanks to the new Filters feature. Plus now you can combine multiple filters — they can chain together to refine or search the output text, or use different text as input. Lots of flexibility.

[Edit Test window]
Smarter Change Detection

Like Services and Notifiers, Filters are implemented as plug-ins, which can be customized in the new New / Edit Filter window.

The Block filter plug-in provides the functionality of the old Smart Change Detection feature (and your existing tests will be upgraded to use this filter, as needed). It also supports new options to search from the start or the end of the input text, and search for a specific occurrence of the text, e.g. start from the 3rd occurrence from the end of the text. Simply drag the little dot to the right of the fields to reveal these advanced options.

[Block filter]
Fabulous Find Filter

The Find filter plug-in is one of the most useful. This is as easy or powerful as you want: it supports both simple text matching and regular expression searches.

The Find filter plug-in can find one occurrence, find a specific occurrence (like for the Block plug-in), find all occurrences (outputting them separated by your choice of delimiter), or find & replace those possibilities, outputting something else for the match(es) — especially useful with regular expression searches.

When using simple text matching, you can find via Contains, Starts With, Whole Words, and Ends With. When using regular expressions, it includes a helpful menu of regular expression operators to help build expressions, including a dynamically-updating list of capture group markers for replacements — see a screenshot in the sidebar.

[Find filter]
Numeric Analysis

Sometimes you want to use some more subtle criteria for detecting a change or failure, like whether a number has changed by a certain amount. This is now possible, thanks to the Number filter.

Treating the input text as a number of course requires that it is a valid number, so this filter is typically used after a Find or Block filter to narrow down the text. It converts the text to a number, optionally ignoring specified characters, and with a customizable decimal separator so you can match the format of the text. Then it compares that number against either a fixed number, or the number from the previous check, plus or minus some delta. It can compare using "is", "is not", "is greater than", "is less than", "is in range" or "is not in range".

The Number filter can result in either a change or failure, as desired. So you can use this to detect if a disk is getting full, a price has changed by a specified threshold, a file count has changed, or many other uses.

[Number filter]
And More Filters

But wait, there's more! There is also an Override filter plug-in, which enables you to alter the status and/or output text. So, for example, there's a built-in filter to change any failure into success (and use the error message as the output text, so it detects a change when the error changes).

Similarly, there's a Format filter plug-in, which is much like the Override one, except it only changes the output text. It is particularly useful to combine the output of two or more previous filters, or wrap in quotes or other formatting.

And lastly but by no means least, like services and notifiers, filters also support the powerful Script filter plug-in. So you can write an AppleScript, shell script, or Perl, Python etc script to create a virtually infinite range of filtering options.

See the Simon Overview page for a list of the default filters in Simon 3.

Tasty Cookies

The Web (HTTP) service got some love, too. It now includes checkboxes in the Cookies table to control how to handle cookies. Checked cookies automatically update their values (as before). Cookies with blank values are now also supported; they are not sent. New cookies are recorded automatically. So you can prevent a cookie from being recorded by listing it with an unchecked box, e.g. to send the same value every time. Session cookies are now recorded as unchecked with blank values (so are not sent or updated).

[Edit Test window]
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 optional support for Wi-Fi hotspots. When enabled, Simon tries to fetch a known value when it is first launched or after the Mac wakes from sleep, and goes into a "hotspot" mode if it receives something unexpected — probably a hotspot login page. This will avoid having false failures when you have an internet connection but need to log in to the hotspot. This feature is disabled by default, but can be enabled via a new General preference if you have Simon on a laptop.
  • Twitter recently altered their authentication requirements. The Twitter plug-in now uses xAuth (a form of OAuth) to log in to the Twitter server.
  • Separated the Pause and Resume commands in the menu and toolbars, so it is easier to pause or resume all tests when there are a mixture of paused and active tests. Also, the Pause interval is now remembered as a default for next time, even across launches of Simon.
  • Reorganized the variables so filters and notifiers inherit their variables from the service — so for example a notifier has access to all service and filter variables.
  • Changed the Dock icon and status menu to show the number of Unviewed marked items, rather than the number of items with the indicated status, and to draw the yellow unviewed badge in the upper-right corner over the status triangle, instead of behind, to fit with normal badging conventions. The Unviewed marker is now used for failures and recoveries as well as changes.
  • Added a help book, using the standard Apple Help Viewer, and significantly reformatted it. The help can still be read online if you prefer (and easily toggled via the Help menu).
Try Simon 3

Ready to upgrade? Great! Purchase an upgrade license on the Dejal Store.

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.

Your Simon 2 license will be recognized by Simon 3, and entitle you to the same number of Tests that you were allowed before. Note, though, that the same license levels will allow more Tests after you purchase an Upgrade license.

Simon 3 has renamed the license levels, and added a new one:

  • Bronze license enabling up to 15 tests.
  • Silver license enabling up to 40 tests.
  • Gold license enabling up to 100 tests.
  • Platinum license enabling unlimited tests.

You can upgrade from any Simon 2 license level to any Simon 3 one, and even downgrade (e.g. from Standard to Bronze) if you prefer. A great deal if you have a Simon 2 Basic or Standard license — get an unlimited Platinum license at a huge discount! Here are the upgrade options:

  • Upgrade Simon 2 to v3 Bronze: $19.
  • Upgrade Simon 2 to v3 Silver: $39.
  • Upgrade Simon 2 to v3 Gold: $69.
  • Upgrade Simon 2 to v3 Platinum: $99.

I hope you enjoy the many improvements in Simon 3!

Download Simon 3.0 now!

Simon 3.0b2 released

Another day, another Simon 3 blog post! (You can catch up on older Simon posts via this link, if desired.)

Today I'm releasing a second beta of Simon 3: version 3.0b2. This just has a few fixes and tweaks, including:

  • Added the ability to specify whether to view help in the Apple Help Viewer or your web browser: a simple selection in the Help menu.
  • The new help book is not compatible with Leopard, so web browser viewing is the only option on that OS version.
  • Fixed some minor typos in Simon and the help.
  • The version 3 licenses are now available for purchase via the Licenses window (still not required, though).
  • Minor adjustments to the license editor page.
  • Tweaked the default services data.

Download Simon 3.0b2 now!

Remember, the discounted prices will only remain for another few days, so buy now to save!

And again, if you bought Simon from September 1, 2010, you're eligible for a free upgrade. Contact me to request your free upgrade.

Simon 3 licenses now available

As previously discussed, Simon version 3 has new license levels, each with more tests than previously. I'm pleased to report that the Simon 3 licenses are now available for purchase — but still at Simon 2 prices, for another few days! This special deal will expire with the general release, currently scheduled for early next week. (I'm working on updating the website, and the localizers are hard at work translating Simon into their languages.)

Currently, the new licenses are only available via the PayPal-powered Dejal Store and the Kagi-powered Dejal Store. The TrialPay store should be updated soon. Update: the TrialPay and GetItFree stores have now been updated too, though they don't have the discounted pricing.

I've redesigned the store content for Simon, to make it easier to pick the right license. Please let me know if you experience any difficulties with your purchase.

The new Simon 3 license levels are as follows:

  • Bronze license enabling up to 15 tests: $49 — buy now for just $29.95 and save $19!
  • Silver license enabling up to 40 tests: $99 (25% per-test discount over Bronze) — buy now for just $59.95 and save $39!
  • Gold license enabling up to 100 tests: $199 (40% per-test discount over Bronze) — buy now for just $99.00 and save $100!
  • Platinum license enabling unlimited tests: $499 — buy now for just $195 and save $304!

Simon 3 represents many months of work, and includes lots of great new features, so is a paid upgrade for version 2 customers. It's been over five years since 2.0, so it's well and truly due. Note that the upgrade pricing has changed a little from my previous announcement, based on initial feedback:

  • Upgrade Simon 2 to v3 Bronze: $19.
  • Upgrade Simon 2 to v3 Silver: $39.
  • Upgrade Simon 2 to v3 Gold: $69
  • Upgrade Simon 2 to v3 Platinum: $99.

Worth noting is that you can upgrade (or downgrade!) to any license level. So if you have a version 2 Standard license and want to go up to a Platinum license in one step, now's your chance; all you need is the Platinum upgrade. Similarly, if you have a v2 Enterprise license, and want to save some money, you can upgrade to v3 and downgrade to Gold in one step, via the Gold upgrade.

Upgrading license levels while upgrading to version 3 will save you a lot of money over upgrading license levels later, so this is a great opportunity to re-evaluate your needs.

I'm happy with these prices; they seem very fair, especially when compared against other high-end software upgrades (e.g. QuickBooks is $229, upgrade for $199; Aperture is $199, upgrade for $99). But if you have any feedback about them, I'm still interested to hear from you in the comments or via email.

Remember, the discounted prices will only remain for another few days, so buy now to save!

And again, if you bought Simon from September 1, 2010, you're eligible for a free upgrade! Contact me to request your free upgrade.

Simon 3.0b1 released

I'm very happy to announce the first public beta release of Simon version 3!

As discussed in my previous blog post, I've been working on Simon 3.0 (nee 2.6) since May. It really is worthy of the major upgrade designation.

This update of Simon has been in private testing (by myself and a small group of alpha testers) for months, and I have some external time constraints, so I'm planning on having a very short public beta cycle this time — maybe only a matter of days. So I would really appreciate everyone downloading and putting Simon 3.0b1 through its paces as quickly as possible. Everything seems fine from our testing, but you never know what will turn up when a wider group of people start using it.

Note that although Simon 3 will be a paid upgrade, all licensed users can use version 3.0b1 without needing to buy an upgrade (and in fact the upgrade license isn't available quite yet). If you're not sure you'll upgrade, I recommend making a copy of your Simon data, as certain changes made in version 3 won't be backwards compatible to version 2.5.7.

If you haven't bought Simon yet, this is your last chance to get it at the old prices! The prices will be increasing in version 3, but everyone who buys now (and since September 1, 2010) will be eligible for a free upgrade. Don't delay!

I haven't updated the Simon website yet (that's this week's mission), but the new Simon Help is online — the same content as in the help book bundled with the app.

Anyway, without further ado, download Simon 3.0b1 now!

Here are the rather long release notes, detailing all the exciting changes:

Please Note:

  • Simon 3 will be a paid upgrade from Simon 2 (after the beta period).
  • Simon now requires a minimum of Mac OS X 10.5 (Leopard).

Monitor window:

  • Renamed the Notifications log as Activity, and extended it to support logging 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.
  • Added an optional Location column to the tests table. It can be shown via the View Options sheet. It shows the URL, domain, or other properties of the service, where available.
  • Added a File > Save Log... command to enable saving the current log information to a tab-delimited text file. It saves just the selected lines if there are at least two selected, otherwise all lines. (You can already copy selected lines, too.)
  • Sorting on the Status column now sorts so checking is at the top, followed by failure, changes, recovery, and paused at the bottom (with time-sensitive statuses in chronological order).

Editors:

  • Redesigned the editor windows (New / Edit Test, New / Edit Service, etc) to use separate pages instead of disclosures for each section. The old layout had grown too tall over time, so that it no longer fit on a small screen with all sections disclosed. The new layout is tidier and simpler, without losing any functionality.
  • The editor windows can now be freely resized and zoomed as desired.
  • Added a Summary page, that includes the name and a new Comments field, plus an overview of the values from the other pages. Click the prompt before each item to go directly to that item.
  • The Username and Password fields are now only shown on the Service page when the service wants them.
  • Rows can now be inserted in the notifiers, auto-pause, etc lists, rather than just adding to the end (and they'll scroll if too long for the window).
  • Fixed an issue where the services in the pop-up menu in the New / Edit Test window could appear out of alphabetical order.
  • Clicking the Edit Service..., New Notifier..., etc buttons in the Edit Test window now directly opens the corresponding editor, rather than opening its list window first.
  • When creating a new test, service, etc, now remembers the last-chosen service in the Edit Test window, and last-chosen service, filter, notifer & report kind in the those editors.
  • In the Edit Test window, the pop-up menus to choose the service, filter, notifer & report now show the new Comments text as a tooltip for each menu item, and on the chosen item, as a handy way to quickly see a description of each item.

Filters:

  • Added a new Filters feature, replacing the old Smart Change Detection feature in the Edit Test window. The Block filter performs the same function as that old feature, plus several other filters are supported to do other analysis of test output, and you can write custom scripts to create additional filters.
  • Added a Filters window listing the available filters, and enabling adding, editing or deleting them.
  • Added an Edit Filter window to add and edit filters, much the same as the Edit Notifier etc windows. It includes options to configure how the filter is used, plug-in-specific controls, and auto-pause settings.
  • Added a Block filter plug-in to support the old Smart Change Detection functionality. It extracts a block of text between specified start and end text.
  • The Block filter also supports new options to search from the start or the end of the input text, and search for a specific occurrence of the text, e.g. start from the 3rd occurrence from the end of the text.
  • Added a Find filter plug-in. This is as easy or powerful as you want: it supports both simple text matching and regular expression searches.
  • The Find filter plug-in can find one occurrence, find a specific occurrence (like for the Block plug-in), find all occurrences (outputting them separated by your choice of delimiter), or find & replace those possibilities, outputting something else for the match(es) -- especially useful with regular expression searches.
  • For simple text matching mode, the Find plug-in supports finding Contains, Starts With, Whole Words, and Ends With. For regular expression mode, it has a helpful menu of regular expression operators to help build expressions, including a dynamically-updating list of capture group markers for replacements.
  • Find-based filters can even result in a failure if the text was or wasn't found, if desired -- useful to detect text that mustn't or must be there.
  • Added a Format filter plug-in. This enables the combination of values from the service and filters, via an insert variable menu, along with your own text. Handy to append the output of multiple filters, wrap something in quote marks, and other uses.
  • Added a Number filter plug-in. This expects the input text to be a valid number, so is typically used after a Find or Block filter to narrow down the text. It converts the text to a number, optionally ignoring specified characters, and with a customizable decimal separator so you can match the format of the text. Then it compares that number against either a fixed number, or the number from the previous check, plus or minus some delta. It can compare using "is", "is not", "is greater than", "is less than", "is in range" or "is not in range". It then results in either a change or failure, as desired. So you can use this to detect if a disk is getting full, a price has changed by a specified threshold, a file count has changed, or many other uses.
  • Added an Override filter plug-in. You can use this to alter the status of a test from Unchanged, Changed, Failure, or from a success status (the first two), or any status, into a different status, including automatically detecting if a change occurred. You can also alter the output text or error message, including using variables (similar to the Format plug-in).
  • Extended the Script plug-in to work as a filter, too. This enables you to create your own custom filters using AppleScript, Perl, PHP, Python, Ruby, or unix shell scripts.
  • Added a checkbox to the Script filter editor to control whether to merge or override the result of the script with the status of the service and any previous filters.
  • Added a VariablesCSV variable, that outputs a comma-separated list of all other variable names. Potentially useful when debugging your scripts.
  • Added several default filters as useful examples to get you started with these powerful new features.

Services and Notifiers:

  • Enhanced the Web (HTTP) service plug-in to include checkboxes in the Cookies table: checked cookies automatically update their values (as before). Cookies with blank values are now also supported; they are not sent. New cookies are recorded automatically. So you can prevent a cookie from being recorded by listing it with an unchecked box, e.g. to send the same value every time. Session cookies are now recorded as unchecked with blank values (so are not sent or updated).
  • Updated the Twitter service and notifier plug-in to use xAuth (a form of OAuth) to log in to the Twitter server, since they no longer support the old-style "basic" authentication.
  • Added a FileMaker Server service, which simply checks that it can connect to a FileMaker Server, and gives an error if not.
  • Added an Internet Access service, which lists applications/processes that are using internet access. You could use this with a Change filter to see when such apps launch or quit, or with a Find filter to confirm that a desired or undesired app is listed.
  • Reworded the TestStatusPhrase variable to eliminate the word "just", since the event may have occurred a while ago, if it is an ongoing failure.
  • Script-based services and notifiers now use UTF8 encoding (instead of ASCII) for the script source, to prevent issues with special characters in AppleScripts.
  • The new VariablesCSV variable is available for services and notifiers, too.
  • Notifiers have access to the new filter variables, too.

Other:

  • Updated the report variables to reflect the Activity log change. The old variables will continue to work, but there is now an Activity block, and new Type, Status and Details variables.
  • Separated the Pause and Resume commands in the menu and toolbars, so it is easier to pause or resume all tests when there is a mixture of paused and active tests.
  • The Pause interval is now remembered as a default for next time, even across launches of Simon.
  • Added optional support for Wi-Fi hotspots. When enabled, Simon tries to fetch a known value when it is first launched or after the Mac wakes from sleep, and goes into a "hotspot" mode if it receives something unexpected -- probably a hotspot login page. This will avoid having false failures when you have an internet connection but need to log in to the hotspot. This feature is disabled by default, but can be enabled via a new General preference if you have Simon on a laptop.
  • Removed the Copy to Test function from the Preview and Source windows, since it is incompatible with the new filters features. You can easily copy selected text and paste into whichever field of whichever filter.
  • Improved handling of sorting all table columns.
  • Clicking the window zoom boxes will now zoom the windows to ideal sizes.
  • The Dock icon now displays a "static" animation while the License Assistant is displayed, to help remind that the tests are awaiting a response.
  • Changed the Dock icon and status menu to show the number of Unviewed marked items, rather than the number of items with the indicated status, and to draw the yellow unviewed badge in the upper-right corner over the status triangle, instead of behind, to fit with normal badging conventions.
  • The Unviewed marker is now used for failures and recoveries as well as changes.
  • Fixed an issue with loading test data that could result in losing data if one of the plug-ins has a problem setting itself up.
  • Added a new license level, and renamed them from "Basic", "Standard" and "Enterprise" to "Bronze", "Silver", "Gold" and "Platinum".
  • Added a help book, using the standard Apple Help Viewer. The help is also available online.
  • Significantly reformatted the help, to fit with the normal help book styles, and updated for the changes in this release.
  • Many other behind-the-scenes improvements made possible by dropping Tiger support.
Syndicate content