Blogs

Time Out tip: adding to accessibility system preferences to enable idle detection

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:

  1. Open System Preferences.
  2. Go to the Security & Privacy pane.
  3. Go to the Accessibility page in the sidebar.
  4. Go to the Privacy tab.
  5. Click the lock to make changes, if needed, and enter an admin username and password.
  6. Click the + button below the list.
  7. Find and choose Time Out in the resulting open file sheet.
  8. Confirm that Time Out appears in the list, with its box checked.

Since that could seem overwhelming, here's a very brief video demo:

(Or watch on YouTube.)

Apple's neglected OS

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.

#22446403: SMLoginItemSetEnabled often launches an agent outside the app bundle

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.

#23114308: "Setting TCC failed" error accessing accounts

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.

#25691051: Pasteboard stops working for some customers

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.

Surely we can do better

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.

Time Out 2: a month later

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.

Time Out tip: sounds, scripts, and other actions

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:

[Actions page screenshot]

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:

[Add action menu screenshot]

(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:

[Action header screenshot]

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:

[Action when menu screenshot]

After those controls is a Preview button, that will demonstrate the action. And a Remove 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 2.0.2 released

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:

  • By popular request, increased the number of digits for the Break for duration and Every frequency on the Break Schedule page from 2 to 3, so you can enter 150 minutes to have a break every 2.5 hours, for example.

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:

  • Also added an option on the Exclusions page to automatically skip breaks that fall due while the screensaver is active, the display is asleep, another user is active, or the Mac is asleep. This defaults to on.
  • Tweaked the scheduler to avoid App Nap interfering with idle detection and starting breaks when the window is closed and no status item is shown.
  • Scheduler logging (in Advanced preferences) is now off by default for new users.

There is also a fix specific to the Mac App Store edition:

  • Fixed another issue that prevented purchases from working for some people with 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!

Time Out 2: supporter options

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 released

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

  • Added a couple of themes that play videos from the author's Dejus YouTube channel: Dejus Chickens (videos of David's chickens) and Dejus Water Features (David's ponds and fish).
  • If you enjoy the videos, check out the channel for others, and like the videos and subscribe to the channel!
  • The theme HTML isn't the best; if anyone can improve the video player to play the playlist in random order (while retaining looping when all videos played), and/or adapt the video size to the screen, please get in touch.
  • These aren't included in the Mac App Store edition, but can be downloaded from the Time Out Extras page.

Made some things more intuitive

  • On first launch, now selects the Break Schedule page by default, instead of General, to make it more obvious that the break items can be selected to edit the breaks.
  • When trying a supporter reward, the heart icon button next to the control now remains visible and red, to indicate that it is being tried.
  • Also, when first trying a supporter reward, the information popover now automatically appears, since some people didn't discover this.

Mac App Store fixes

  • Fixed an issue that prevented purchases from working for some people with the Mac App Store edition.
  • After successful purchase, now asks you to create or update your supporter account, so your supporter status can be restored.
  • Changed the Restore Previous Purchases feature to use the supporter account, since the StoreKit restoration approach isn't available for non-renewing subscriptions.

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!

Time Out 2.0 released

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:

  • Optionally show a countdown to the next break in the menu bar.
  • Optionally hide the icon in the Dock.
  • Add additional breaks.
  • Customizable themes during breaks.
  • Fixed-time breaks.
  • Support for natural breaks.
  • Global keyboard shortcuts to defer and start breaks.
  • More actions to notify of impending breaks.
  • And much more!

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).

Customizable break themes

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.

Learn more via the help book.

[Break theme]

Optional status item

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.

[Status popover]

Better break scheduling and natural breaks

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.

Learn more.

[Break Schedule page]

Theme selection and appearance

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.

Learn more.

[Break Appearance page]

Get notified before, during or after the breaks

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.

Learn more.

[Break Actions page]

Hide the Dock icon and customize the status item

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.

Learn more.

[General Preferences page]

Become a Supporter!

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.

Want more details?

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 launch weekend

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.0b7 released

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:

  • Fixed a cosmetic issue where the status popover could leave a selected item when clicking the Start or Options buttons.
  • Fixed a typo in the Speak Text action.

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.0b6 released

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:

  • Improved the scheduler to automatically skip breaks (if that option is on) when a higher priority break was done or deferred within the priority interval.
  • When not a supporter, an animated ❤ icon button now appears to the left of the Add Break (+) button, and that button is disabled if there are already two breaks (supporters can have more).
  • Removed the ❤ icon button for the Next due Break Schedule button, since anyone can edit this field.
  • Various other changes requested by App Review for the Mac App Store edition of the app.
  • Fixed centering of the Setup Assistant window.

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 4.2 released

Simon version 4.2 is now in general release!

This update has lots of improvements, including:

Added an Exclude Block filter

  • Added a new Exclude Block filter that outputs the text outside the block, instead of inside like the normal Block filter.
  • Enhanced the Block filter feature to support specifying whether to output the text before the Start, the Start text itself, the text between the Start and End, the End text, and/or after the End text, or any combination of those, optionally joined by some separator.

Added difference analysis filters

  • Added new Extract List, Extract Changes to List and Rich Text Representation of Changes filters, kindly contributed by Max Cardale. Read the comments for those filters for detailed descriptions of each.

New filter variables

  • Added support for {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}.
  • Added support for reverse-numbered filter variables of the form {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.)
  • Added a description of the numbers in filter variables to the help book.

Email improvements

  • The Preview now supports the Email notifier; it will display the message that is sent, with placeholder values for any variables. (Tip: you can check that an email notifier is configured correctly by showing the Preview or just clicking the Reload toolbar button, or File > Notify Now.)
  • Added support for STARTTLS connection security and Password (PLAIN) authentication in the Email Transport panel.
  • If the Port field is clear, or contains a standard port number for a connection security, it is changed to the typical port number when the connection security is changed.

Preview improvements

  • When the Preview page is displayed for a service, filter or notifier that supports previews (i.e. email and scripts), it displays a message "Reload to Preview", rather than automatically sending an email or running the script (resulting in unexpected placeholder emails or script actions). Click the Reload toolbar button, or the File > Notify Now menu command, to actually preview the item.
  • Added special case support for Web content encodings specified in the source instead of the header (e.g. or for Chinese).

Several fixes of the reports feature

  • Fixed an issue with uploading reports to remote FTP servers.
  • Fixed a crasher when adding a new report with the Preview pane selected.
  • Fixed a logic error that prevented recent checks, changes, etc from being listed on the detail pages.
  • Fixed incorrect last report date display when the report hasn't been generated yet.

More convenient upgrade licensing

  • When adding an upgrade license, now automatically looks up the original license, instead of just telling you it's needed (which can cause confusion, since it's an unusual situation).

Lots more security and stability improvements

  • Updated the Sparkle updater framework to the latest version.
  • Added a Via SSL option to the Updates preferences, to use a secure connection to check for and download app updates. This is on by default, but can be turned off if it doesn't work for some reason.
  • Also updated license refresh etc URLs to use TLS/SSL.
  • Scripts are now saved as Base64-encoded text, to preserve formatting.
  • Fixed a common crasher when editing at the Auto Pause pages.
  • Fixed another crasher when changing pages at the bottom of the window.
  • Fixed a cosmetic issue where the editor info background could show garbage in some situations.
  • Fixed a couple of rare crashes with deleting items.
  • Fixed a crash with using the Convert Domain/IP command with a large text field.
  • Fixed a rare crash with reports.
  • Fixed a rare crasher with the Find filter.

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 2.0b5 released

Good news: Time Out 2.0 has been submitted to the Mac App Store! It'll take a few weeks to get through the review process, but it could go into general release any time after it is approved (assuming Apple doesn't reject it entirely, which of course I can't rule out)!

Anyway, for the direct edition, here are a few more improvements (which are also in the Mac App Store edition):

  • Now shows a pointing hand cursor when over the ❤ icons next to support reward controls, to make it more obvious that you can click them for more information.
  • Added an activity indicator on the Updates page, while the release notes load from the Dejal server.
  • Now fades in the activity indicators (e.g. on the Updates and Support Time Out pages), so they only appear if the content takes a noticeable amount of time to load.
  • Various changes to support the Mac App Store edition of the app. Yes, Time Out 2.0 will be available both direct and via the Mac App Store (assuming they don't reject it).

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 4.2b4 released

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:

  • Scripts are now saved as Base64-encoded text, to preserve formatting.
  • Tweaked the new filters.

If you already have Simon 4, update in the app. Otherwise download Simon 4.2b4 now!

Simon 4.2b3 released

Here's a third beta release of Simon 4.2.

Changes in the update include:

  • Added new Extract List, Extract Changes to List and Rich Text Representation of Changes filters, kindly contributed by Max Cardale. Read the comments for those filters for detailed descriptions of each.
  • Added support for reverse-numbered filter variables of the form {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.)
  • Added a description of the numbers in filter variables to the help book.
  • Fixed a crash with using the Convert Domain/IP command with a large text field.
  • Fixed a rare crash with reports.

If you already have Simon 4, update in the app. Otherwise, download Simon 4.2b3 now!

Time Out 2.0b4 released

A quick update to fix an issue in the previous beta release of Time Out version 2:

  • Fixed excessive CPU usage due to the animation of the ❤ icon for the Support Time Out sidebar and status popover items.
  • Fixed some file logging that wasn't respecting the Advanced preference.

If you are using the third or second beta, you can use the Check for Updates feature in the app to update.

If you are still using the first beta, you can use the link in your beta invite email to download the new version, or use the Check for Updates feature in the app, and manually 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.

Time Out 2.0b3 released

Here's the third beta release of Time Out version 2!

This beta has more refinements, including:

  • Added a help book, available via the Help (?) menu and online.
  • Updated the About Time Out window.
  • Tweaked the border colors of the Analog Clock break theme.
  • Added a Via SSL option to the Updates preferences, to use a secure connection to check for and download app updates. This is on by default, but can be turned off if it doesn't work for some reason.
  • Also updated the Support Time Out URLs to use TLS/SSL.
  • Some people didn't notice the supporter trial message, so now the ❤ icon for the Support Time Out sidebar and status popover items gently animates to help catch the eye.
  • Added URL handler support for promo codes.
  • Moved the accessibility access check to after the Setup Assistant, to avoid the possibility of being prompted before it is explained.
  • Fixed a crasher when locking the screen by showing the Login Window.
  • Fixed some other very rare crashers.

If you are using the second beta, you can use the Check for Updates feature in the app to update.

If you are still using the first beta, you can use the link in your beta invite email to download the new version, or use the Check for Updates feature in the app, and manually 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.

I hope you like these improvements! Please let me know of any issues you notice, or ideas for improvements. Thank you for helping make this update great!

Simon 4.2b2 released

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:

  • Added support for {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}.
  • When the Preview page is displayed for a service, filter or notifier that supports previews (i.e. email and scripts), it displays a message "Reload to Preview", rather than automatically sending an email or running the script (resulting in unexpected placeholder emails or script actions). Click the Reload toolbar button, or the File > Notify Now menu command, to actually preview the item.
  • Added special case support for Web content encodings specified in the source instead of the header (e.g. <meta charset="gb2312"> or <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> for Chinese).
  • Updated the Sparkle updater framework to the latest version.
  • Added a Via SSL option to the Updates preferences, to use a secure connection to check for and download app updates. This is on by default, but can be turned off if it doesn't work for some reason.
  • Also updated license refresh etc URLs to use TLS/SSL.

Download Simon 4.2b2 now!

(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.)

Time Out 2.0b2 released

Here's the second beta release of Time Out version 2!

This beta has several significant changes, including:

New and updated break themes

  • Added a fancy Analog Clock theme.
  • Added a flexible Text theme, which includes text that can be edited during the break to say whatever you like (and you changes will be remembered for subsequent breaks).
  • Added two infinitely zooming image themes: Arkadia (website) and Zoomquilt (website).
  • Updated the Emoji Zone theme to use the faster HTML renderer (see below).

Other theme improvements

  • Added support for a faster HTML renderer (technically a WKWebView instead of a legacy WebView) for themes. Themes use this new one via a "type" : "html5" property in their Info.json file. As this property implies, the html5 web view works best with modern HTML5 pages; HTML4 pages generally work better in the old one.
  • Note that the "html5" web view requires Mac OS X 10.11 (El Capitan) for local themes. This includes the new Analog Clock and Text themes. Remote themes work with it in 10.10 (Yosemite) too.
  • Now reloads the Themes popup menu contents when activating the app, so themes added in the Finder show up immediately.
  • Themes that use the "html5" type can communicate with Time Out via some special callbacks. See the source of the Text theme for an example, where it makes the text specific to each break. More information is included in the source comments.

Smarter scheduler

  • Made the scheduler a bit smarter: when skipping a break because a higher priority one is due soon, it now tries resetting the break first. This avoids a situation where a break could get pushed out too far over time.

Help improvements

  • Added an About Time Out item to the top of the Help (?) pop-up menu, that displays the standard About window with the version number etc, for those without the Dock (and thus menus) shown.
  • The Help menu now appears on clicking the button, instead of having to release the mouse button.
  • Clarified the message on the General Options page when both the Dock icon and status item aren't shown, to spell out how to display the Preferences window.
  • If trying supporter rewards when making a purchase, the sidebar message is now changed appropriately to avoid confusion.

Supporter improvements

  • Trying supporter rewards now persists if you quit the app partway through the trial.
  • Finished implementing the Redeem Promo Code feature.

Updater and crash reporter changes

  • Updated the Sparkle updater framework to the latest version.
  • If the app crashes, the crash reporter window now appears on top of the Preferences window instead of underneath it.
  • Disabled the app sandbox, since Sparkle can't update sandboxed apps. The data location won't change, so everything should work as before.

If you are already using the first beta, you can use the link in your beta invite email to download the new version, or use the Check for Updates feature in the app. Note that a manual update is required, due to an issue with the updater; that should be the last time that is needed, though.

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.

I hope you like these improvements! Please let me know of any issues you notice, or ideas for improvements. Thank you for helping make this update great!

Time Out 2: what's next?

So, Time Out version 2.0b1 was released last week. Maybe you noticed?

That was quite epic, with release notes so long I had to break it up with headings and bookmark links.

Thank you very much to everyone who has downloaded the beta and tried the new version. And especially thank you to the many people who have become Time Out supporters. Haven't tried it yet? Check out the What's New page.

Today I thought I'd write a bit about what I envision happening during the beta cycle.

Testing

Of course, one of the most important things is for a wider range of people to try the app, and provide feedback on what they like and don't like, anything that could be better, or any bugs that they encounter. I'd really appreciate your help with this, to make the general release great.

The features for 2.0 are complete; I don't plan to make any significant changes to the way the app works before general release. But if there are any things that can be improved, I'm certainly open to doing so. Let me know!

There are some aspects that aren't complete, though.

Themes

One is the included themes. 2.0b1 includes a bunch of break themes, that can appear during the breaks, but I want to add a few more. Time Out uses a web view for the themes, and supports both displaying remote websites and local HTML content, much like the old Dashboard widgets.

I have a list of ideas, but three that I particularly want to include are:

  1. Exercise suggestions: some sort of stretches or other exercises that can be performed during a break. This is a little tricky, since I need to find some provider for these, and figure out a good way to integrate them. Or I could just provide a web-based theme, displaying some third-party site.
  2. To do: I envision something like sticky notes as a local HTML-based theme, using local storage to persist the notes, and the ability to add multiple notes. So people can write memos to themselves during the breaks.
  3. Clock: a large analog clock, with moving hands that show the current time.

I have some code that will help with these, and will work on them sometime before the general release. But if you are a web developer and want to help out with any of these or other themes, please get in touch.

Help book

Another thing I need to do before the general release is update the help book / documentation for the new version. Time Out is very intuitive, so most people won't need a manual to use it, but it's still a useful thing to have for people who prefer to learn by reading rather than experimenting.

Website

The Time Out website also needs some updates. At minimum, it needs to be changed to describe the new features, and ideally I'd like to use this excuse to give it a new coat of paint; although the Dejal site does have a special iPhone support mode, it doesn't use the modern responsive design. We'll see how far I go on this.

Reviews etc

Sometime during the beta cycle I want to get in touch with reviewers and influencers, to try to get some of them to try the app for a while and hopefully write about it for the general release. Marketing stuff is hard, but important. (If you're a reviewer and want to try it, please contact me).

Mac App Store edition

Finally, Time Out will be available both directly and via the Mac App Store, with the same features in both editions, so people can get it either via the Dejal site or MAS; whichever is more convenient.

So I also need to make a number of changes to build an edition of the app for the Mac App Store. This shouldn't be too much work, since the direct edition is already sandboxed, and designed with the MAS edition in mind. I'll just need to disable the auto-updater in that edition, and swap out the FastSpring-based in-app purchase popover for Apple's StoreKit, and some minor other changes.

Exciting times

As I mentioned before, Time Out 2 has been in the works for years, and is a huge improvement over version 1. I don't want to rush out the general release, and have a lot to do, but I'm excited to make progress towards this goal.

Again, thank you for trying version 2, for supporting development, and for sharing it with your family, friends and colleagues.

Syndicate content