After many years of using PayPal as my primary payment processor, I'm done with them.
As I discussed recently, I've been dealing with a fraud explosion with PayPal in recent months, with some nefarious person or persons using stolen credit cards (typically European) to buy Dejal apps. I'm not sure why; probably just to test that the transaction works, since as far as I can tell they aren't actually using the apps.
Inevitably, the owners of those cards query the transactions or replace their cards, and I get hit with both a reversed transaction and a $20 chargeback fee. And of course I feel bad for the card owner.
I tried restricting the PayPal store to only US addresses, which stopped the fraud... but then most of the world was unable to buy via that store. I later tried to restrict it to only verified PayPal accounts, but that filter doesn't seem to actually work. So I've had enough.
Now, I have changed to make the FastSpring-powered store the default, and I don't publish the PayPal-powered store anymore. It's still there, and will still work, but hopefully making it more obscure will eliminate the fraud usage. If you want to use it, feel free... but I'll look closely at all PayPal purchases to ensure they are legitimate, and may lock it down if the criminal keeps attacking it.
Although this isn't what I wanted, I'm not too broken up about it — I've been slowly moving more stuff to FastSpring anyway. The direct edition of Time Out 2 includes an in-app purchasing feature that is powered by FastSpring, and I will be rolling that out to my other Mac apps as I update them. And even for website purchases, FastSpring is a nicer service, supporting credit cards, checks, and yes even PayPal accounts. And it better handles international purchases, with local currencies and VAT etc.
I'll still use PayPal for the Simon Service Plan subscription, a $99/year subscription for Simon power users.
I'm sad to have to stop using PayPal as a primary store, but it's time. Removing it as a vector of attack for fraudsters, and simplifying the web store, is an improvement.
Announcing the first beta release of an update to Time Out, my popular break reminder tool!
Version 2.1b1 includes macOS Sierra compatibility, scheduling enhancements, status item improvements, new actions, and much more.
Read on for the full release notes:
Better Schedule options
The Status item can now omit Micro breaks
New menu commands to improve discoverability
Improved Play Sound action
Added a Post Tweet action
More actions
Setup Assistant assistance
Supporter improvements
Other improvements
If you are using the Mac App Store edition, an update will be available after the beta cycle, or you can download the beta via the link below.
If you are using the direct edition, you can use the Check for Updates feature in the app to update; if it doesn't offer the beta, change your Updates preferences to include beta releases.
Otherwise, download Time Out 2.1b1 now!
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.
Announcing the first beta release of a major upgrade to my handy snippet keeping app, Caboodle!
Version 2 of Caboodle includes many much-requested enhancements, including the ability to open multiple documents, sync documents between Macs via Dropbox or iCloud Drive, huge performance improvements with large documents, movable custom fields, better text editing, and much more.
Here's a peek at the improved appearance — familiar yet modern:
Read on for the full release notes:
Multiple Caboodle Documents
Significantly Improved Custom Fields
Refined Text Area
Spotlight Search
Tweaked Preferences
License Stuff
Modern Architecture
Want to try Caboodle 2? Head over to the What's New page to sign up for the beta!
A frequently asked question about Time Out 2 is how to add more sounds.
There is a FAQ answer on this, but I thought I'd expand on it as a blog topic.
Firstly, refer back to a previous blog post on accessing the sound actions in Time Out. That shows where the "Play Sound" feature has moved in version 2. It is now much more powerful than in version 1, with the ability to play sounds before, during or after a break, and even gently fade out long sounds like music. That post also includes a video demoing adding Play Sound and Fadeout Sound actions.
Time Out comes with a number of built-in sounds that you can play, plus it lists all sounds you have installed on your Mac, which includes system default ones, and any you have added to the standard sound folders.
It's worth noting that you can also have Time Out play any music from your iTunes library, too.
To add more sounds, you first need to find and download them from a website.
There are many sites that offer sounds of varying length, quality, themes, etc. Some for free, some as paid offerings. Usually with previews so you can listen before downloading.
Here are a few I've found; note that I don't endorse or recommend any particular site; these are just ones I encountered in a brief search. If you're aware of or find a better site, please post in the Time Out forum to share with others.
Once you have the new sounds, you can easily add them in one of the standard folders to make them available to all apps that can play sounds, or add them to the "Sounds" folder within the Time Out data folder to only make them available in Time Out.
The system sound folders you can add to are in the following paths (tip: you can paste these paths into the Finder's Go ▶ Go to Folder... command to reveal them; if the folders don't exist, you can create them):
(There is a third folder, at /System/Library/Sounds, but you shouldn't modify that.)
On the other hand, Time Out's sounds folder is at one of the following paths, depending on which edition of the app you have:
While you can use the Finder's Go to Folder... command to access those, an easier way is to choose Reveal Scripts from the Add Action drop-down menu. That will show the Scripts folder, which is adjacent to the Sounds folder. (I do want to make this even easier in the next update.)
I hope this has been helpful!
Recently I have suffered a spate of fraudulent purchases via the PayPal Store. I'm not sure why, but some scammer appears to have acquired credit card information for a number of people, all with non-US addresses so far, and is using it to buy some of my apps via PayPal.
This is of course really bad for those people; nobody likes having their credit cards compromised. But it's doubly bad for me, as the rightful owners inevitably query their credit card companies about the unexpected transactions, who in turn notify PayPal of a "chargeback", who then notify me. Since I ship virtual goods (a software license), PayPal doesn't guarantee the transactions, and thus not only does the payment get reversed, I have to eat the $20 chargeback fee, too. So each time this occurs, I lose money. That quickly adds up to hundreds of dollars.
This doesn't seem fair to me, since PayPal is supposed to be authenticating the customers via their shopping cart. But of course they don't want to accept the fee.
In an attempt to stem this hemorrhaging, I have now disabled PayPal purchases from non-US accounts, among other filters. I know that this will cause inconvenience for legitimate buyers too, for which I am sorry, though I support FastSpring and other payment options. If you attempt to buy a Dejal product and are unable to do so, please let me know.
Hopefully with these changes the scammer will give up and move on, and I'll be able to relax the restrictions a bit in due course. I want to be able to offer many ways to buy my apps, so people can use their preferred method. It's unfortunate when some criminal makes things worse for everybody.
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.
I recently blogged about some critical bugs in OS X that Apple hasn't fixed, including getting a "Setting TCC failed" error when trying to access Twitter accounts (and other kinds of accounts).
Again, the problem is that calling -[ACAccountStore requestAccessToAccountsWithType:options:completion:]
on OS X 10.11 for a new app will ask the user for permission then always give the error "Setting TCC failed." (Reported as Radar #23114308 for any Apple people reading this.)
While this bug remains, I came across a solution in Apple's developer forums. It's a hack, and probably won't work in sandboxed apps, but does work for non-sandboxed apps.
Basically, if that error is received, we can edit the "~/Library/Accounts/Accounts3.sqlite" database directly via the sqlite3
command line tool.
I've put together an open-source demo app to show this technique, called AccountsDemo.
When the error is detected, it calls a method to send the SQL:
[self sendSQL:[NSString stringWithFormat:@"insert into ZAUTHORIZATION (Z_ENT, Z_OPT, ZACCOUNTTYPE, ZBUNDLEID, ZGRANTEDPERMISSIONS) values (5, 1, (select Z_PK from ZACCOUNTTYPE where ZIDENTIFIER = 'com.apple.twitter'), '%@', '')", [NSBundle mainBundle].bundleIdentifier] completionHandler:^{
NSLog(@"Workaround completed"); // log
[self loadAccounts:sender];
}];
(Sorry Swifties; I wrote the demo project a while ago for my original Radar bug report, so it's in Objective-C.)
The -sendSQL:
method simply uses NSTask
to execute the sqlite3
command on the database:
- (void)sendSQL:(NSString *)sql completionHandler:(void (^)(void))handler {
// Based on code from https://forums.developer.apple.com/message/69921
NSURL *libraryURL = [[NSFileManager defaultManager] URLForDirectory:NSLibraryDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:YES error:nil];
NSURL *databaseURL = [libraryURL URLByAppendingPathComponent:@"Accounts/Accounts3.sqlite"];
NSString *command = [NSString stringWithFormat:@"sqlite3 %@ \"%@\"", databaseURL.path, sql];
NSTask *task = [NSTask new];
task.launchPath = @"/bin/sh";
task.arguments = @[@"-c", command];
if (handler) {
task.terminationHandler = ^(NSTask *localTask) {
handler();
};
};
[task launch];
}
The AccountsDemo sample project includes a button to load the Twitter accounts, a checkbox to use the above hack, and a button to remove the app from the accounts database (so you can re-try it). Try clicking the load button with the checkbox unchecked, to confirm that you get the error, then check the box and try loading again, and it should work.
You can get the project via the Dejal GitHub page.
One of the features of Time Out is the ability to detect natural breaks, i.e. when your Mac is idle, not being used.
In version 1, this was detected via what I call the "Event Source" mechanism, but this can be unreliable for some people, as some apps can make it look like you are using the computer, when it's just an automated activity. So in version 2 I switched to a new approach, which I call "Event Monitor". This is generally more reliable, but has one downside: it requires a manual step by you to allow it, as discussed below. It can detect mouse or trackpad movement, but to detect keyboard activity you need to authorize it. Note that Time Out doesn't log or even watch what you type, it is just detecting any key press as a sign that you're actively using your computer.
Because not everyone wants idle detection at all, or would prefer the old approach, I added a preference on the Advanced Options page: "Natural break detection method". This pop-up menu includes options to disable idle detection altogether, or switch between the two approaches.
When you first launch Time Out, the second page of the Setup Assistant includes instructions on how to authorize idle detection. It's pretty simple, though a number of steps to navigate to the right place:
Since that could seem overwhelming, here's a very brief video demo:
(Or watch on YouTube.)
I've been developing Mac apps for nearly 25 years under the Dejal banner. It's a great platform, and an ever-improving OS.
Except when it isn't.
Sometimes, I encounter serious issues that make me think that it isn't getting the attention it deserves from Apple. Sure, each year they add lots of useful new features, and hundreds of APIs... but there are often huge fundamentally broken problems that don't get addressed.
I just encountered another mysterious bug that Apple says has no workaround, so I thought I'd take a moment to mention some that particularly bother me. Again, I really like Macs and Mac OS X, and primarily develop for it (along with iOS and watchOS), so I wish these issues would be fixed. I have, of course, filed Radar bug reports for all of these.
Here are my top three, all of which Apple has said there is no workaround, but are causing serious issues for lots of people. Please feel most welcome to file duplicates of these if they bother you too.
This one is particularly annoying for my Time Out break reminder app, as the Mac App Store edition is sandboxed, so using SMLoginItemSetEnabled
is (I believe) the only supported way to launch a helper.
SMLoginItemSetEnabled
is documented to:
Enable a helper application located in the main application bundle's Contents/Library/LoginItems directory.
But it often doesn't work as expected. It will often launch another copy of the agent elsewhere on the Mac, e.g. in the build or DerivedData folder, or in another copy of the app, etc.
This is a serious issue, particularly for developers, but potentially also for users who like to keep multiple versions (in case the want to revert). Launching an agent from an older version of the app leads to incorrect behavior.
I previously mentioned this issue on Stack Overflow.
Steps to Reproduce:
1. Have more than one copy of an app containing a login item.
2. Call SMLoginItemSetEnabled for the login item.
Expected Results:
The login item contained within the app bundle (at Contents/Library/LoginItems) will be launched.
Actual Results:
Sometimes a login item from another copy of the app (or in the build folder) will be launched.
This one affects my Simon server monitoring tool, and prevented including a Twitter action in Time Out.
There is a widespread bug in 10.11 that gives this error when attempting to access accounts, e.g. with code such as this:
ACAccountStore *accountStore = [ACAccountStore new];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error) ...
I get the error:
Error Domain=com.apple.accounts Code=1 "Setting TCC failed." UserInfo={NSLocalizedDescription=Setting TCC failed.}
See a developer forum thread that discusses it, and includes a sample project.
This is a serious issue that is preventing existing apps and new apps from accessing Twitter and other services.
Steps to Reproduce:
Run the project in that forum post.
Expected Results:
Access is granted.
Actual Results:
"Setting TCC failed" error.
This is one I encountered recently, and reported today. It affects some Time Out customers, fortunately fairly rare, but annoying.
Some users have reported that after some time their pasteboards stop working: copy/paste and dragging. The only solution is to restart the Mac.
I haven't experienced this myself, but I have had a few reports, and at least one of the users has offered to help test any fixes.
When the issue occurs, the following line appears in the Console (for pretty much every running app):
CFPasteboardCreate(CFAllocatorRef, CFStringRef) : Lock timeout
I can't think of anything I do in the app that could cause a pasteboard issue; it doesn't do much in related areas.
This issue isn't unique to my apps; a Google search reveals other examples, e.g.
Steps to Reproduce:
I can't reproduce, but have a customer who can help.
Expected Results:
Pasteboard keeps working.
Actual Results:
Pasteboard stops working, with the above-mentioned error.
It's often been said, especially in recent years, but maybe Apple just needs to slow down. Instead of spreading themselves too thin with major annual updates, not to mention new OS platforms, maybe everyone would be better served with a slower pace. Perhaps fewer user features and API changes, and more focus on improving the quality of what's already there.
Fundamental things like reliably launching helpers, accessing Twitter accounts, and a functioning clipboard should not be low priorities. They should be urgent priorities that get fixed before adding new features.
Please, Apple.
Note: this is a re-post, as my web host lost the original post in a server migration.
Time Out version 2.0 went into general release on 2016-03-03, about a month ago.
This was a momentous release, several years in the making. I started planning and prototyping a significantly improved break reminder tool way back in 2007, and worked on bits of it over the years, more intensely over the last couple of years, in between contract work and other apps.
After 33 alpha builds and 7 beta releases, 2.0 went into general release.
Now, a month later, I'm happy to report that the reception has been very positive. Although a few people are put off by the changes, the vast majority have nothing but favorable things to say about the new version and its numerous improvements.
Of course, one of the many changes is the new "supporter" model, which I've discussed previously. Briefly, instead of an optional donation as in version 1, version 2 offers optional payments that enable permanent access to advanced features (that can be tried for an hour at a time, as often as you like, before becoming a supporter).
I thought I'd take this opportunity to share some numbers about how the supporter model has gone so far.
Firstly, the distribution of downloads is interesting. Time Out is available both directly from the Dejal site, and via the Mac App Store. For the latter, version 2 uses the same product as version 1, so people who downloaded version 1 will be automatically offered version 2. The Mac App Store certainly has its problems, but getting people to update isn't one of them: the percentage of updates via that mechanism dwarfed even the substantial downloads by new customers, and direct downloads:
The distribution of purchases is a bit more even, however. Almost an even split between purchases of the direct edition (mostly via the in-app options) vs via the Mac App Store:
Next I thought I'd see how the 3-, 6-, and 12-month supporter options compared via the different editions.
For the direct edition, most people chose to purchase the 12-month supporter option (46%), with the 3-month option the second most popular, at 39%. The middle 6-month option was relatively unpopular, at 15%; that isn't too surprising, as the extremes are expected to be more popular. (This is for the in-app purchases, but the web store ones were similar proportions.)
Things were a bit different for the Mac App Store: there, most people preferred the 3-month option, at 53%, with the 12-month in second place at 29%, and again 6-month the least preferred, at 19%:
Why the difference? I can't be sure, but I'd guess that people who download directly from this site are more likely to be power users, comfortable downloading third-party software, whereas people who prefer the Mac App Store might be more used to the budget prices of the iOS App Store, so might like to spend the minimum to get the features. Perhaps something to think about when comparing the two approaches.
Units sold is definitely an interesting metric, but revenue is important too. Here's how that turned out for the direct edition:
Compared to the Mac App Store edition:
Clearly, I made more money from the 12-month option, even on the Mac App Store where it was a smaller proportion of the unit sales. I didn't include the actual revenue totals, but suffice to say that I had approximately even number of sales from both the direct and Mac App Store editions (slightly more from the latter), but the revenue was higher from the direct edition.
Of course, this is just a snapshot from the first month of version 2. No doubt things will change over time. I hope that downloads and sales will continue well, but they will probably follow the typical "long tail" of most apps. The supporter model may help with that — although there is no obligation to renew the support when it expires, I hope that many people will do so. This might provide some degree of recurring revenue to help pay for ongoing improvements to the app. Who knows, people who choose the 3-month option may end up paying more than the 12-month supporters, since they effectively get two months free.
Although having an income from the app is important to enable continued improvements, it certainly isn't all about money. I am gratified that so many people are pleased with the new version, after all the hard work I put into it. It's great that it can help lots of people to live healthier lives. That is the most important thing for me, which is why I provide the basic functionality for free, forever.
One of the frequently asked questions I've received about Time Out 2 is "where have the sounds gone?"
In version 1, there were separate tab pages for "Sounds" and "Scripts", each offering two options; the ability to play sounds or run scripts at the start and/or end of breaks.
Version 2 still has these features, but can do much more. So, instead of having numerous tab pages, it combines them into an "Actions" page:
In addition to sounds and scripts, other actions include the ability to display a notification (with an optional sound), fade out the currently playing sound (useful at the end of the break), flash the screen a custom color, and speak some text with speech synthesis. Several scripts are provided, too.
To add an action, simply click the button in the top-right corner of the window, to display a menu of available actions:
(When you first click this button, the scripts won't be there, and there will just be "More..." item at the end; choose this to install the scripts.)
The first bunch are the various actions, followed by scripts, which are like customizable actions. At the end of the menu are items to open the Scripts folder in the Finder, so you can edit or add scripts, and go to the Time Out Extras page to download more scripts.
Once you add an action, you'll see a header row with the name of the action and some other controls:
You can use the interval picker and pop-up menu to indicate when to use the action. The interval picker enables you to offset from the action stage by a number of seconds, minutes or even hours (click on the units to change them). Instead of just being able to play a sound at the start and/or end of a break, in version 2 you can choose from many more times, including before due, after skipping, and more:
After those controls is a Preview button, that will demonstrate the action. And a
button to remove the action.
Here is a brief video to demo the feature: adding a Play Sound action to play a long music track, and a Fadeout Sound action to make it fade out when the break successfully finishes. (You might instead want to have it fade out for any end, otherwise it'd keep playing till done if you skip.)
Time Out version 2.0.2 is now available for direct customers. The Mac App Store edition
will be available in a few days to a week, once it is through Apple's app review. Update: the Mac App Store edition is now available (a bit quicker than expected).
This update includes some scheduler improvements:
While I'm here, note that you can click on the amount or units in these interval pickers to edit them via typing, up/down arrows, the stepper buttons, or click again to reveal a menu:
There is also a fix specific to the Mac App Store edition:
If you are using the Mac App Store edition of Time Out, look for the update in the App Store in about a week now. If you are using the direct edition, you can use the Check for Updates feature in the app to update. Otherwise, download Time Out 2.0.2 now!
Version 1 of Time Out was available completely free, with a suggested donation to help support development.
Version 2 uses an unusual pricing model: it is still free, but you can become a "supporter".
If you wish, you can download and use the basic features (roughly equivalent to version 1) at no cost, forever. You don't have to buy up-front, and the app won't stop working after 14 or 30 days like traditional apps (like Simon and Caboodle, for example). I want everyone to be able to have a great break reminder tool, even if you can't afford to pay anything.
But certain new features can only be tried for an hour at a time, then they revert. These features can be tried as often as you like, and are marked by a heart icon that animates in next to the control when you hover over it. You can click the icon to display a popover with more information.
When you use one of these features, the icon remains visible and red, and the popover automatically appears for the first one you use, to make it more intuitive that you can click the icon to find out about it. Also, the heart icon next to the "Support Time Out" item in the sidebar starts to "beat", and a countdown message appears below it, indicating how long until the features revert.
To keep these features available permanently, you can become a supporter. This is a small payment that helps fund development of the app, and shows your appreciation of how it makes your life better. The advanced features will remain available as a reward for your support.
There are three supporter options available: 3 months, 6 months and 12 months; basically one dollar per month, with one month free for 6-month supporters, or two months free for 12-month supporters.
Although there is a time limit, this is not a subscription, and the features won't stop working when it expires. These are one-time payments, and they do not automatically renew. When the supporter period expires, you can continue using all of the features you had as a supporter, without paying anything more. But if you are still finding Time Out useful, you are welcome and encouraged to renew your support.
Thank you very much to everyone who has become a supporter in the couple of weeks since 2.0 was released. It's very gratifying to have so much positive feedback and encouragement. This pricing model is very much an experiment, but so far it is working very well, with a large proportion of people opting for the 12-month supporter level as a way to show how much they appreciate the app and the improvements in version 2. I'll follow up later about how it's going, and compare the direct and Mac App Store editions.
If you have any questions about this, please feel most welcome to post in the Time Out forum, or contact me privately.
Time Out 2.0.1 is now available.
This quick update includes some tweaks to address points of confusion from the initial 2.0 release, and fixes for the purchasing issues in the Mac App Store edition.
The changes include:
Added Dejus YouTube themes
Made some things more intuitive
Mac App Store fixes
If you are using the Mac App Store edition of Time Out, look for the update in the App Store. If you are using the direct edition, you can use the Check for Updates feature in the app to update. Otherwise, download Time Out 2.0.1 now!
Announcing the general release of Time Out version 2.0!
Version 2 is a modern redesign of the popular break app, with many much-requested enhancements, including:
Please also note that Time Out 2 requires Mac OS X 10.10 (Yosemite) or later, as it leverages recent technologies. If you're still using an older OS version, you can remain on version 1 until you upgrade your OS version.
If you are already using Time Out, you can use the Check for Updates feature in the app to update. Otherwise, download Time Out 2.0 now!
Read on for more information (this is basically the same as the Time Out What's New page, if you've already read that).
Version 2 offers multiple themes during breaks. Themes can be as simple as a static image or text, or full web apps. They are powered by web standards like HTML, CSS, and JavaScript, and can be hosted locally or on remote websites. In fact, some themes are effectively bookmarks for websites.
Time Out comes with a number of themes, and if you are comfortable with HTML, you can modify them or add your own.
A status item can be displayed at the right of the menu bar. It can display a color label indicating what kind of break is coming up next (or the app icon if you prefer), and a countdown to the next break, or the time it is due, or other options.
When the Dock icon is shown, clicking the status item quickly displays the Time Out preferences. When it's hidden, a popover will appear, so the app can work in the background. This popover looks basically the same as the sidebar of the preferences window, enabling quick access to the breaks and options.
The preferences window includes a sidebar listing the breaks, and other options, plus quick-access buttons along the top to add a break, pause all breaks, postpone or skip the next break, get help, and other functions.
The breaks in the sidebar include a color label that appears in the status item, the break name (which can be changed), when the break is next due, when it was last done, and a couple of buttons that appear when hovering over the item (as seen above) to manually start the break or other options including postponing, skipping, disabling or deleting the break. If a global keyboard shortcut is assigned to starting the break, it is displayed too.
On the right side of the window are pages detailing the breaks and options. Below you can see the Schedule page for the Micro Break.
Here you can set how long the breaks take, and how often, using innovative new controls that work similar to date pickers, but for time intervals, and support popping up menus for the amount and units.
Other new options include the ability to only have the breaks during certain hours, manually adjusting the next due date and time, and various options to support natural breaks, when the Mac isn't being used.
The next page is the Appearance of the break. Here you can choose the theme to display during the break, get information about it, and set background colors and controls.
This is similar to version 1, other than the addition of the Theme pop-up menu and info button. It now also includes a button to quickly Preview the break, and refined color controls.
Version 1 had separate pages for Sounds and Scripts, but version 2 combines these into one Actions page, and adds other kinds of actions, including displaying a notification, fading out a long-playing sound, flashing the screen, and speaking text with voice synthesis.
What's more, these actions can be performed at more times: some interval before the break is due, after it starts or fades in, before fading out or finishing, after finishing or deferring. So you could have combinations like in the screenshot below, displaying a notification 15 seconds before a break is due, playing a meditation sound during the break, and fading it out 10 seconds after the end.
The General Options includes one of the most-requested additions in version 2: the ability to hide the Dock icon, and make the app work in the background.
It also includes the ability to enable or disable the above-mentioned status item, and customize its appearance. And other options.
Time Out 2 is still free; you can use it for as long as you like without paying anything. But people who contribute to ongoing development by becoming supporters get the advanced features as a reward. You can become a supporter for 3, 6 or 12 months; these one-time payments do not auto-renew, but you can extend your support if you wish. The features will remain available permanently. You can become a supporter in the app, or via the Dejal Store.
Time Out 2 has hundreds of improvements; too many to cover here! See the full release notes for details.
I hope you enjoy the many improvements in Time Out 2!
If you are already using Time Out, you can use the Check for Updates feature in the app to update. Otherwise, download Time Out 2.0 now!
Time Out 2.0 will be in general release on Monday!
But you don't need to wait; you can get it now via an exclusive launch weekend at MacUpdate.
Go visit MacUpdate to download Time Out 2.0.
If you haven't been following along, learn more about the changes in version 2.
Time Out 2.0 has been accepted for the Mac App Store, so I'm now able to schedule the general release. It will be one week from today, on Monday, March 7!
Here's one last beta (unless any significant issues come up), with a couple of cosmetic tweaks:
If you are using a version 2 beta, you can use the Check for Updates feature in the app to update.
If you aren't on the beta yet and want to join, visit the What's New page to sign up for an invite to download the beta.
Note: the beta invites will close in a few days. So if you want to try it before the general release, get in quick.
Time Out 2.0 is currently in review for the Mac App Store! A bit faster than expected. I'm hoping for a general release in early March; we'll see. Quite exciting, after years of work on this upgrade!
Here are a few more improvements for both editions:
If you are using a version 2 beta, you can use the Check for Updates feature in the app to update.
If you aren't on the beta yet and want to join, visit the What's New page to sign up for an invite to download the beta.
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!