Time Out 2.0b1 released

It's been a long time coming, but the day has finally arrived: Time Out version 2 is at last in beta release!

I've actually been designing and prototyping Time Out 2 since 2007, off and on, if you can believe that. Work started in earnest a bit over two years ago, and while it kept being delayed by contract work (I like to eat and pay bills), I've persevered.

Over the course of development, there were 33 alpha releases, tested by a small faithful group of alpha testers.

Now, the app is complete, and I'm ready to expand the testing pool. This first beta release is available to anyone who wants to try it; just visit the What's New page to sign up for an invite to download the beta.

I've written many blog posts providing descriptions and screenshots of version 2, and will post more about various aspects during the beta cycle.

This is a massive upgrade. Here is a summary of the major enhancements. Click to jump down, or simply scroll, to read more about each.


Redesigned app icon

🔝


Get started quickly with the Setup Assistant

  • Added a new Setup Assistant window, which appears the first time you open Time Out. You can also display it anytime via the Time Out or action (cog) menus.
  • The first page enables adding the usual breaks: Normal and Micro, like in version 1. Change them as desired, or uncheck them if you'd rather start from scratch.
  • The second page includes a button to open the Privacy System Preferences, so the keyboard activity can be monitored for idle detection.

🔝


Redesigned Preferences window

  • The Preferences window has a fresh modern appearance, with quick-access buttons at the top, a sidebar listing the breaks, and other options.
  • The breaks display a color label, when they are next due, and when they were last done.
  • The due/done times can be displayed as absolute dates (a date and time) or relative times (how long until or since it).
  • When hovering over break items, a couple of buttons appear, to manually start a break or perform other options, like postponing, skipping, disabling and deleting the break.

🔝


No longer needs to be in the Dock

  • Added the ability in the General Options to show or hide the Dock icon.
  • When Time Out is in the Dock, it'll also appear in the Cmd-Tab app switcher, and have menus. The Preferences window is automatically shown when the app is brought to the front.
  • When it is not in the Dock, it also won't appear in the Cmd-Tab switcher, and won't have menus -- but all features can be accessed from the Preferences window.

🔝


New menubar status item

  • Added an optional status item in the right of the menubar.
  • Shows an icon and countdown to the next break.
  • The style of icon can be chosen (including an icon representing the next due break), or no icon used.
  • It can show a brief or longer countdown, or the start or finish time, or duration of the next break.
  • Supports light and dark menubars.
  • When the Dock icon is shown, clicking the status item in the menubar shows or hides the Preferences window.
  • When the Dock icon isn't shown, clicking the status item shows a popover that looks and works just like the sidebar in the Preferences window, but clicking an item will show the corresponding page in the Preferences window.
  • The tooltip for the status item lists all of the breaks and when they're due, with the next due at the top, so you can quickly see when each break will next occur without having to click the status item.
  • If you turn off both the Dock icon and status item, a warning message explains how to get back to the Preferences. This is permitted for people who want to make it harder to change the preferences for self-control reasons.

🔝


Assign global keyboard shortcuts to start, defer, pause, etc

  • Added a Shortcuts Options page, which lists all of the global keyboard shortcuts, so they can be set in one place.
  • Shortcuts can be assigned to manually start breaks, postpone or skip the next or current break, pause, resume, or reset all of the breaks, and/or stop any playing sound.
  • The postpone and skip shortcuts will apply to the next due break, or if a break is currently starting or underway, to that break. So you can avoid a break with a quick keypress if needed.
  • These shortcuts work from any app.

🔝


Add any number of breaks

  • Renamed the Breaks menu as File, and moved it to the usual place.
  • Added a New Break (Cmd-N) command in the File menu, to add additional breaks.
  • Added support for deleting breaks via the Delete key or menu item.
  • Added Undo support for some operations (notably adding and deleting breaks).
  • Added the ability to drag the breaks to reorder them, which sets their priority, so lower breaks are skipped in favor of higher breaks.

🔝


Rename, label and comment on breaks

  • Added a Break Name page to enable editing the break name, choosing a color label for the break, and adding some comments.
  • The label is shown in the sidebar, and can be displayed in the status item to quickly see which break is coming up next.
  • Also included is a customizable keyboard shortcut control. If set, the shortcut is shown in the sidebar and status popover, and can be used from any app to manually start the break.

🔝


Scheduling improvements

  • Changed the way the breaks are scheduled, to use a single timer with due dates instead of multiple timers, enabling more flexibility.
  • The Schedule times now use a more compact interval picker that supports pop-up menus for values, arrow keys to change values, etc.
  • The due dates are now restored when the app is relaunched (e.g. after a system restart), so they continue as if Time Out weren't interrupted. (If a break would have been due already, its due date is reset to the full work duration.)
  • Added a new idle detector, which should be more reliable than the old one. The new one is enabled by default, but you can switch to the old one or disable it in the Advanced preferences.

🔝


Limit breaks to a time range

  • Added an Available pop-up menu on the Break Schedule page, with "Any Time" and "Only Between" items. If "Any Time" is selected, the break can occur at any time of the day; if "Only Between" is selected, From and To time controls appear to set the available time range.
  • If an "Only Between" time range is set, the next due time will be the From time plus the frequency (the "Every" field).
  • The From time is especially useful for daily breaks, e.g. for a "Lunchtime" break set to every 1 day, you could set the From time to 12:00:00 (noon) and the the To time to 13:00:00 (1 PM), to ensure the break starts at noon, but no later than an hour after that if postponed (e.g. via a natural break).

🔝


Support for natural breaks

  • Changed the scheduler to be smarter: after 30 seconds of idle, the countdown stops (if using the natural break preferences), and after 1 minute of idle, it starts counting upwards (if that preference is set), until the break frequency time is reached.
  • Choose how to handle a natural break. Continue Countdown to ignore idle. Pause Countdown to stop the timer while idle. Count Backwards to pause briefly then count upwards until the duration is reached. Reset After Duration to reset the break due date after the break duration of idle time. For example, with the latter if you have a 10 minute break every hour, and you have a natural break for 10 minutes, leaving the computer idle for 10 minutes will skip to the next hour.
  • Added a pop-up menu to choose whether to wait for a natural break (idle) or start immediately when a break is due.
  • With the latter, when a break is due, it will wait for a natural break of at least 15 seconds, to avoid interrupting you when you're busy. If you keep working for a minute, it starts the break anyway.

🔝


Better appearance

  • The Break Appearance options now uses a new color well that includes a palette of colors in addition to the color picker, and changed the transparency slider to an opacity slider & field.
  • When there are multiple screens available, the Break Appearance preferences has extra options, to specify whether to use the screen with the active menubar, or the screen with the inactive menubar, or a specific screen.
  • Connecting or disconnecting a display will now update the Appearance page, showing or hiding the screens pop-up as needed.

🔝


Customizable HTML-based break themes

  • Time Out now supports multiple customizable break themes!
  • The Theme pop-up menu includes a None item to not fade the screen(s) during the break (just showing the control panel); Blank to fade without showing any content, and a list of available themes.
  • Some default themes are included. You can also customize them or add your own. Choose the Reveal Themes item in the menu to show the Themes folder in the Finder, or Get More to display the Time Out Extras page in your browser.
  • Themes use HTML, so can display local content (potentially including JavaScript-driven apps), or web pages.
  • Fading in to the break, and out back to work, is now much more efficient, and uses a geometric animation curve to make it more natural.
  • Added an Info button next to the Theme pop-up menu. Click it to show a popover with information about the selected theme, including clickable links to author and original websites, where available.
  • Also a Preview button to try the theme; equivalent to manually starting the break.

🔝


Redesigned & movable control panel during breaks

  • The progress bar and postpone/skip buttons now appear in a redesigned control panel that can be moved around the screen.
  • The control panel now fades in at the same time as the break, so the postpone/skip buttons can be used while the break is starting.
  • The break theme and control panel only appear on one screen, if your Mac has multiple screens; the other screen(s) just fade to a blank color (which can be different than the theme screen).

🔝


Add actions to notify of due, starting or finishing breaks

  • Merged the Sounds and Scripts pages into an Actions page, which now supports any number of actions, and more versatile scheduling of them, including before the break is due.
  • You can now play a sound or some other action some period of time before due, after the start of the break, after fading in, before fading out, before finishing, after finishing, or after postponing or skipping. Lots of flexible options!
  • Integrated the scripts into the Add Action (+) button menu, so any scripts you add are treated like full actions.
  • The script actions include an Open button to enable quickly editing scripts, e.g. "Open with Automator".
  • When the Add Action button menu is first shown, or if the scripts folder is empty, it includes a "More..." item at the end. Choosing that will display an Open sheet, asking for permission to copy the default scripts into the folder. After that, it re-shows the Add Action menu with the scripts listed.
  • Included Reveal Scripts and Get More functions in the Add Action button menu. They aren't shown until the default scripts have been installed. They respectively reveal the scripts folder in the Finder and display the Time Out Extras website.
  • Included a Preview button (with an eye icon) to try the associated action.
  • Added a new Display Notification action, that shows a Notification Center panel, with custom title and message text, and optionally a sound.
  • Added a new Fadeout Sound action, that fades out any playing sound over a specified number of seconds. Useful for long sounds (e.g. music), or in combination with the Repeat option in the Play Sound action, to gently stop them after a suitable interval, e.g. at the end of the break. Like the other actions, specify when to start fading out via the action offset & stage controls in the action header.
  • Added a new Flash Screen action, which includes options to set the flash color and speed.
  • Added a new Speak Text action to use speech synthesis. It includes a voice pop-up menu which can display just your preferred voices (set in System Preferences > Dictation & Speech > Text to Speech > System Voice > Customize), or all available voices, grouped by region and gender like in System Preferences. It also has an Attributes popover that enables fine-tuning the voice rate, pitch, inflection and volume.

🔝


Enhanced app exclusions

  • Changed the Exclusion options to show the full path, and added the ability to skip breaks when an app is open but not frontmost.
  • Also added MPlayerX, QuickTime Player and VLC to the default Exclusions, and removed Podcast Capture (since it isn't included in Yosemite).

🔝


Faster app updates

  • Time Out now uses the popular Sparkle framework for app updates, so it can finally download and install updates itself.
  • Changed the Updates options for the Sparkle framework, and to display the release notes right there, since there's space.

🔝


Several advanced options

  • Added an Advanced preferences page, with a number of options that most people won't need.
  • Includes an option for the idle detector: None to not detect idle, the Event Source like in version 1, and the new Event Monitor that is more reliable.
  • Includes a checkbox to alert of another copy of Time Out, which can interfere with starting breaks.
  • Includes a checkbox to control whether or not clicking an item in the status popover should animate to the full window size.
  • Also includes a button to reset the position of the Preferences window when using the status popover, so they line up nicely. When you turn off the Dock icon, it is automatically lined up. The window can still be freely moved, but it looks nice having them aligned.
  • Includes a number of options to output diagnostic information to the Console log.
  • Includes a handy button to show the Console log, i.e. launch the Console app.

🔝


New supporter options

  • Time Out can be used for as long as you like for free, but the more advanced features are only available to try for an hour at a time, as many times as you like.
  • These features are highlighted throughout the app by a heart icon that appears next to the control. Clicking it displays a popover to explain the limit.
  • The Support Time Out page includes buttons to purchase three supporter durations (3-, 6- and 12-months). Becoming a supporter helps to fund continued development. These are one-time payments, not a subscription, though you can extend your support later if you wish.
  • All the features will remain available even after the supporter period, though some future enhancements may only be available to current supporters.
  • Click the Learn More button for more information.
  • This page also includes buttons to restore any previous purchases, and redeem a coupon code.

🔝


Optimized for Yosemite and El Capitan

  • Time Out now requires a minimum of OS X 10.10 (Yosemite), and supports 10.11 (El Capitan).
  • Now uses the latest technologies.
  • Now uses the third-party Fabric Crashlytics framework to automatically capture crash reports. Automatically aggregating crash reports will enable faster fixing any that occur.
  • If a crash occurs, Time Out will now display a window on next launch to ask for information about the crash, which may help trace the cause. There are also optional fields for your name and email address, in case there are any questions.
  • Sandboxed for increased security.

🔝

Phew!

Sound good? Visit the What's New page to sign up for an invite to download the beta.