Today is an exciting day for me: the launch of a major new way to get Mac apps: Setapp.
Setapp is a service released by MacPaw, developers of several popular Mac apps, that promises to make it much easier for people to discover and try great apps for macOS.
Unlike traditional direct app purchases, or the Mac App Store, Setapp is a subscription service, offering a large and growing selection of apps for one low monthly price. And you can try it for free for the first month, so there's no risk.
One thing I really like about it is that it is so well integrated: the apps all appear in a folder within your Applications folder, and you can open any to learn more about the app in a small "teaser" window. If it sounds like a useful app, just click an Open button and it launches, ready to use.
Why am I excited for a third-party service? Because one of my apps is included. Dejal Simon is one of the foundation apps in Setapp. It's a bit of an experiment for me, but I hope that it'll help lots more people discover Simon, and get the benefits of using this app.
Want to learn more? Check out Setapp now!
DejalNews 2016-12, issue #66
This is DejalNews, an occasional newsletter from Dejal.
If you want to receive these newsletters in your email inbox, head over to the DejalNews subscribe page to sign up.
A few days ago I released a new app: Date Stamp, an iOS app to provide customizable stickers for iMessage.
iMessage apps are a new feature of iOS 10, and a little obscure. You find them via the apps button to the left of the entry field in Apple's Messages app on iOS. They have their own store, which is full of sticker packs — collections of static or animated images that you can peel and stick onto your conversation bubbles, to make chatting more fun.
My Date Stamp app is similar, in that it provides stickers you can peel and stick onto messages, but it isn't just a collection of static images — they can be changed to include any date you choose, plus the format of the date can be changed, and the color of the date or surrounding text/frame can also be altered.
It's fun and useful, so you can tell someone you received something, or paid a bill, or to save the date, and much more.
In other news, my friends at MacPaw recently started an invite-only beta of their new service, Setapp.
This service offers a curated collection of dozens of Mac apps for one low monthly price.
Imagine no more paid upgrades or in-app purchases; you can use any or all of the apps without paying more. A great way to discover useful new apps.
I'm really excited about this new service, and pleased to include Simon as one of the apps. One of the things I like the most is how well it is integrated into the Mac — the apps appear right in a special folder in the Finder, and opening one shows a handy description and screenshots so you can learn more or start using it without having to leave the Finder. It's very nice.
If you're interested in Simon, but hesitate at the pro-level price-tag, this is an affordable new way to get it and many more apps, with more being added all the time for the same low price. But don't worry, the direct price won't be going away for those who prefer that.
They are now letting a limited number of people into their invite-only beta, to try it for free for a couple of months. If you're interested in getting a sneak peek of Setapp, contact me to get an invite.
As I mentioned in my previous newsletter, Caboodle is currently included in the BundleHunt holiday bundle, featuring an assortment of Mac apps to choose from. If you haven't yet taken advantage of this great deal, don't delay; it ends soon!
As we approach the end of the year, I wanted to take this opportunity to wish you Merry Christmas, or whatever holiday tradition you follow. I hope you have a safe and enjoyable holiday season.
- David
Simon 4 has been out for a while now, but I'm still getting a regular trickle of upgrades, so obviously not everyone has moved to the latest (or recent) versions yet.
One huge benefit of Simon 4 hasn't gotten much attention, so I thought I'd call it out: unlimited tests for everyone!
What does this mean?
In versions 1 and 2, Simon had three license levels available for purchase: "Basic", "Standard" and "Enterprise". In version 1, Basic permitted a maximum of 3 active test configurations for $29.95, Standard allowed up to 10 for $59.95, and Enterprise removed the limit for the relatively large sum of $195. In version 2, the first two were doubled to 7 and 20 respectively, while Enterprise remained unlimited (with unchanged prices).
In version 3, I added a fourth level, and renamed them to "Bronze", "Silver", "Gold", and "Platinum", with the limits doubled again to 15, 40, 100, and still unlimited at the top. The prices were increased, to $49, $99, $199 and the princely sum of $499, respectively.
So what was I going to do for version 4? Keep them the same, double them again, or something else?
I decided to simplify.
For this upgrade, I eliminated the concept of license levels. Unsurprisingly, relatively few customers had opted for the Platinum level, though more than you might think. The cheapest level, Bronze, wasn't the most popular, though: the majority of people wanted more tests.
I thought that eliminating the levels would make it easier to people to understand the purchase. One price, unlimited tests. Deciding on the price was tricky. Over the years, the expected price of apps have gone down significantly, due to the "race to the bottom" of the iOS App Store, where most apps are free or $0.99 nowadays. Fortunately, things aren't as untenable on the Mac, with average prices more like $20 to $40, and pro apps going for around $100 (which is still less than they used to be, but not as bad). So I decided to go for the price of the most popular license level, but with the features of the top-of-the-line one: $99 to get unlimited tests.
Of course, some people would have preferred a cheaper option. And I was leaving money on the table from people willing to pay prices like $499. But I think time has supported this decision as a happy medium for everyone.
I think most people understand the realities of software development, but I feel I should mention it anyway. Software takes time to write and support. For a powerful and flexible app like Simon, a lot of time. It's also a relatively niche app, so doesn't have as huge a market as other apps. So the only way it can survive and have continued development (even if sometimes slow, as I work on other projects) is to have a sustainable price. It's always tricky to find the right price for an app, but for Simon, this feels right.
Still using Simon 3? Check out the huge number of improvements in the version 4 release notes, and when you're ready, buy an upgrade for just $49!
And if you've bought Simon 4, thank you! Especially to the long-term customers who have used it and upgraded it over the years. I've still got an ever-expanding list of feature ideas, with work on version 4.3 starting soon!
Finally, if you are using Simon, one thing that would really help is to tell others about it. Tell your co-workers, friends, post on Twitter or Facebook, etc. Helping to spread the word is much appreciated, and goes a long way to supporting the app and its ongoing development.
For a change of pace, I thought I'd discuss a Simon feature this time.
One of the many enhancements in Simon 4.0 was the Context filter. This is a sophisticated filter that takes the previous filter's input and match range to output some context around that filter's output text.
It includes controls to specify the maximum number of characters before and/or after the matched range, and/or a delimiter before and/or after the matched range. So for example you can show up to 50 characters, stopping at a line break.
This filter is unusual in that it requires a previous filter to be used, and that needs to be either a Block- or Find-based filter, as those are the only ones that output the needed match range information.
The Context filter uses the Input specified in the test to determine which filter's input and match variables to use: if you have two previous filters, you can make the Context filter look at the first one by choosing Filter1OutputText instead of the default FilterOutputText (which means the proceeding filter).
The match range is available in variables used by the Context filter, and can be used in your custom filters or notifiers if you wish:
You don't need to worry about these variables for the Context filter, though; it uses them internally.
Here's a simple example of this filter in action.
This is from a Web test that looks at the Daring Fireball site. It has a Find Required filter to look for the word "finally", then if that succeeds a Context filter to output the enclosing paragraph. To round it out, if the Find filter fails, the Override as Unchanged failure case is used, to avoid the test resulting in a failure if Gruber hasn't used the word "finally" recently.
Below the filters, you can see the Preview pane's output, which you'll notice includes the word "finally" towards the end.
I hope this will be a useful filter for many of your tests. Simon is a powerful tool, with lots of other handy filters, services, and notifiers.
Simon version 4.2 is now in general release!
This update has lots of improvements, including:
Added an Exclude Block filter
Added difference analysis filters
New filter variables
{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}
.{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.)Email improvements
Preview improvements
or
for Chinese).Several fixes of the reports feature
More convenient upgrade licensing
Lots more security and stability improvements
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!
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:
If you already have Simon 4, update in the app. Otherwise download Simon 4.2b4 now!
Here's a third beta release of Simon 4.2.
Changes in the update include:
{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.)If you already have Simon 4, update in the app. Otherwise, download Simon 4.2b3 now!
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:
{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}
.<meta charset="gb2312">
or <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
for Chinese).(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 version 4.2b1 is now available.
This first beta includes the following changes:
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 version 4.1.1 is now available for download.
Please update to this release for El Capitan compatibility, including:
It continues to work on Yosemite (10.10 and later) too.
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.
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.
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.
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.
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.
EDIT: A quick update to fix another couple of issues:
EDIT 2: Hey why not make it a trio: another quick update with some further tweaks of this area:
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.
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.
Just been a couple of days, but here's another beta of Simon 4.1, with some exciting changes:
Accept
, User-Agent
, etc.Content-Type
and Content-Length
headers, overriding any you may add.Time for an update to Simon! This first beta release includes:
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.)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:
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 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.
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.
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: