timeout

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.

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.

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!

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.

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.

Time Out 2 sneak peek: shortcuts

It's been a little while since the last sneak peek of Time Out 2, so let's do another one. What shall we look at this time? How about the Shortcuts page.

This is one of the many popular requests from customers of version 1: the ability to have global keyboard shortcuts to postpone or skip breaks when they are starting at an inopportune time.

I went a bit further in version 2, though: not only are there global shortcuts available, but you can also assign them to whatever you want, and can set ones to start each kind of break, postpone, skip, pause, resume, reset, and stop any playing sound.

Time Out Shortcuts page

(The assignments in this screenshot are ones I've set; you can use whatever makes sense to you, and don't have to assign any you don't want.)

If you look closely, you may also notice a few other changes in this screenshot, including a new Help (?) menu button at the top, and a Support Time Out item in the sidebar. More about that another time.

In related news, I've just added a new What's New page to the Time Out site. Check it out for a partial list of features and more information, including a form where you can sign up to be amongst the first to hear of a beta release.

And as mentioned before, if you've made a donation, and are using Yosemite or later, you can contact me to request to join the alpha team, or to get more information.

Time Out 2 sneak peek: status menu

I've been doing a bit of contract work to refill the coffers, so work has slowed on Time Out 2, but it has continued, as has testing. Let's take another sneak peek!

Last time we took a look at the General options, and I talked about configuring the status menu. Well, this time I thought I'd finally show it.

As mentioned, the status menu is a much-requested optional feature in version 2, which shows a countdown to the next break, among other options. When you click it, if the Dock icon is shown, it simply switches to Time Out and shows the preferences window. But if the app doesn't appear in the Dock, a status menu popover is shown instead, like this:

This may look familiar: the status popover looks pretty much the same as the preferences window sidebar. There's a good reason for that: if you click on an item in the popover, it transforms into the full window, enabling editing the break or options.

But you don't need to show the full window for many operations; you can see when the next breaks will occur, when they were last completed, pause, postpone, skip, reset or manually start breaks, and more all from the status popover. As you hover over the break items, a manual Start button and a menu of options appears:

I think you'll find this a very useful addition.

Time is running out, but if you've made a donation, and are using Yosemite or later, you can contact me to request to join the alpha team, or to get more information. Or as always, stay tuned for more screenshots and details in the coming weeks!

Time Out 2 sneak peek: general options

Work on Time Out 2 is going really well: all of the planned functionality has been implemented. Now I'm adding the licensing stuff; more on that another time. For now, it's time for another sneak peek of Time Out 2.

This time, let's revisit the General Options. I briefly showed that back in August, but it's changed significantly since then. As I said before, this is all subject to change, but this might be the final design for 2.0:

As before, the top option on the right-hand-side of the window is a checkbox to automatically start Time Out when logging into the Mac. Pretty self-explanatory; a standard option for apps that you want to keep running; important to not miss breaks.

Next are a pair of radio buttons that you may have previously seen in the Setup Assistant, to control whether or not the app appears in the Dock. That page of the Setup Assistant no longer exists; it isn't needed, as it contained the same controls as here, and the General Options are the first thing you'll see after completing the Setup Assistant.

Not needing to be in the Dock is the #1 request for Time Out 1, so I'm happy to be able to provide it as an option in version 2. As explained in the screenshot (click it to see full-sized), when the app appears in the Dock, it also appears in the Cmd-Tab app switcher, and has a menu bar. Clicking the status item will just show the Preferences window. But when not in the Dock, it is truly a background app: not in the app switcher and doesn't have menus — which is fine, as all essential functionality is available in the window itself. Also, clicking the status item shows a popover from it, that looks much like the sidebar of this window. Selecting a break or option will expand to the full window.

An option that wasn't in the Setup Assistant, though, is the ability to show the aforementioned status item in the menu bar. This is the #2 request, after the above Dock one, so another great addition to this version. The last time you may have seen these options, the configuration of the status item was a long list of radio buttons, but I've changed that to two pop-up menus; much more compact and tidy.

The options control what style of icon to include (if any), and what value to include (if any):

This appears in my menu bar thusly, using a green dot for the label color of the next break (Micro) and the number of minutes until it is due (5):

This is the brief countdown; the full countdown shows two units, e.g. "05:02" for 5 minutes and 2 seconds. The other options are pretty self-explanatory.

Finally, we have a pair of radio buttons to control how dates and times appear in the sidebar. Currently (and by default) it is set to show them as relative times, e.g. "due in 5 min, 2 sec". If you prefer to know the time of the next break, instead of how long until it is due, you can change it to show absolute dates, and it'll show something like "due Today, 15:45:20" instead (using your preferred time format), like the status item option to show the due time instead of a countdown.

Just a few of the many options in Time Out 2! Time is running out, but if you've made a donation, and are using Yosemite or later, you can contact me to request to join the alpha team, or to get more information. Or as always, stay tuned for more screenshots and details in the coming weeks!

Time Out 2: appearance page

I've given you several hints about Time Out 2 features. Now it's the turn of the Break Appearance page, which includes some of the most exciting enhancements in version 2.

The Appearance page includes controls for how the break looks: a theme, background colors, buttons to include, and more.

Here's a screenshot (but remember that since this is from an alpha build, everything is subject to change before public release... and astute readers may notice several changes to the sidebar from the last time you saw it; can you spot them all?).

One of the major improvements in version 2 is the concept of "themes." In version 1, all that appears during a break is a large app icon and the break progress bar and postpone/skip buttons. Version 2 kicks that up a notch: it supports multiple customizable themes, so breaks can display all sorts of content, along with the progress and buttons. It comes with several themes, including of course just the app icon (both the new icon and the old one for those who prefer that), plus several more.

It can even display websites, e.g. the theme selected in the screenshot is "Explore Flickr", which simply shows the Explore page at Flickr, as a nice collection of photos, which you can scroll through during your break. (You can click the Info button next to the theme to learn more about it.)

There are many other handy controls on this page. The "Reveal Themes" button shows the folder that houses them, so you can add your own or modify the provided ones. If you have multiple screens, you can indicate on which screen to display the theme. You can set colors and opacity for each screen, with a quick palette of colors in addition to the full color picker. As in version 1, breaks fade in and out; you can control how long that takes with simple fields. And the optional buttons to postpone and/or skip breaks can be configured here.

I hope you're as excited about these enhancements as I and the alpha testers are. Remember, if you've made a donation, and are using Yosemite or later, you can contact me to request to join the alpha team, or to get more information. Or stay tuned for more screenshots and details in the coming weeks! The functionality is nearly complete, so we're very close to the first beta release, at last. I hope you'll agree that it's worth the wait.

Time Out 2: setup assistant

When you first launch Time Out 2, I want to help you get started.

So the first thing you'll see is a setup assistant, that will explain the two suggested kinds of breaks, with controls to include and configure their two most important options, how long the breaks last (duration), and how often they occur (frequency).

Here's a screenshot (but remember that since this is from an alpha build, everything is subject to change before public release):

You can uncheck either or both of these if you don't want that kind of break, or you want to start with none and add them manually. These breaks are just suggestions; you can later delete, rename or reconfigure them however you like. The breaks have many more options to customize them, including how to handle time away from the computer; customizable themes, colors and buttons to display during the break; actions to inform you of upcoming, started or completed breaks; and much more.

If you prefer, you can click Skip to immediately close the assistant, without adding any breaks or configuring other options, and set everything up manually in the preferences.

Otherwise, when you click Continue, you're taken to another setup page that mentions these additional break options, and includes a button to open the Privacy System Preferences (alpha testers: this page will be in the next build). That is required if you want Time Out to detect the end of a natural break (idle) when you type something; otherwise it can only detect that when you move the pointer via a mouse or trackpad.

After that, one last page with a couple of options. Firstly, a checkbox to start Time Out automatically on login, so you don't miss any breaks. Secondly, something that has been much requested for years: an option to show or hide the app icon in the Dock.

In version 1, the app is always visible in the Dock, which makes it easy to get to, but many people would prefer to have it more hidden, not appearing in the Dock or Cmd-Tab app switcher. With version 2, this is now an option, at last:

Another much-requested feature is also mentioned here: the status item in the right of the menu bar. By default this displays a label color representing the next due break, and a countdown to the start of that break. This can be disabled in the preferences, or reconfigured to display a different icon and/or other information.

As explained under each radio button, when Time Out is included in the Dock, it is also in the Cmd-Tab app switcher, and has a menu bar. Clicking on the status item will simply bring the app and its preferences window to the front, making it easy to configure the breaks.

When the app isn't shown in the Dock or Cmd-Tab switcher, it also doesn't have menus, so you access commands via the buttons at the top of the window. The status item also behaves differently: instead of just showing the preferences window, it displays a popover view directly off the status item, that shows the list of breaks and options. You can use that to quickly see when the breaks are due or last done, and manually start or pause them, among other options.

I expect that most people will want to use Time Out with the Dock icon hidden, but the default is to leave it visible, to assist with new users, to avoid confusion.

I hope you're as excited about these enhancements as I and the alpha testers are. Remember, if you've made a donation, and are using Yosemite or later, you can contact me to request to join the alpha team, or to get more information. Or stay tuned for more screenshots and details in the coming weeks!

Time Out 2: sidebar & schedule page

Okay, enough blurred teasing. Time to show a full screenshot!

Time Out 2 is coming along nicely; I've made lots of progress in finishing off and polishing the app in recent weeks, thanks in large part to the feedback of the elite alpha testing group. There's still much to do, but it's getting ever closer to being done, so I want to share a bit more about it now.

Without further ado, here is a screenshot from the latest alpha build of Time Out version 2 (click to see full-sized):

As you can see (and could no doubt tell from the previous teases), the preferences window now has a sidebar that lists the breaks, and other options. What's this... three breaks? Yes indeed... in fact you can unlock an unlimited number of breaks in version 2!

If you look closely at the sidebar, you can see a colored label (which can be shown in the menubar), the break name, when the break is next due, and the last time it was completed.

On the right-hand-side, you can see the Schedule page for the Normal break. It has much improved controls compared to version 1, making it easy to set the duration and frequency of the break, plus the ability to set a time range for the break (useful for a daily lunch break, for example), tweak when the next break will occur, automatically count backwards to get credit for natural breaks (when the computer is idle), and automatically skip a break if too close to a more important one (e.g. to avoid having a Micro break a few minutes before or after a Normal one).

Of course, this is all subject to change; some aspects of this view changed recently, and I know of at least one more change that'll affect it. But the final product will look very close to this.

I hope you're as excited about this sneak peek of version 2 as I am. I can't wait to make it available to everyone. In the meantime, if you've made a donation, and are using Yosemite or later, you can contact me to request to join the alpha team, or to get more information. Or stay tuned for more screenshots and details in the coming weeks!

Time Out 2: pricing

Hi all,

I have a very important question that I've been pondering for some time, and that I'd appreciate your input on. How to price Time Out 2.

Version 1, as you may know, is free, with a suggested donation. All features can be used without restriction for no cost, but if you find it useful, I appreciate a donation. I like the idea of Time Out being free, so lots of people can get the health benefits of taking regular breaks. But I also like to eat and pay bills, so I need an income. Free, even with a donation, doesn't really cut it, unfortunately.

So I've always planned to charge for version 2, especially considering the huge amount of work I've put into it, and the significantly improved feature set. But I'm not sure exactly how to do so.

There are a number of options I'm considering. I'd appreciate your thoughts on these.

Free

The simplest option is to stick with the current model: a free app, with no restrictions, and an optional donation.

Pros: widest use.

Cons: relatively few paid customers; unsustainable.

Paid

The obvious alternative is to simply have a price tag on the app. Version 2 will be available both directly from the Dejal website and in the Mac App Store, so I could do like I do for other apps, with a free trial on the Dejal site as a time-limited demo, with a payment required after 14 days of use (which may be non-contiguous). And on the App Store, just have a fixed price.

Pros: simple; easy to understand; customers are all paid (except during the direct edition trial period).

Cons: no trial on the Mac App Store; less publicity from people recommending it as a free app.

Freemium with "Unlock Everything"

Another option is "freemium" — a free edition on the Mac App Store, with some feature restrictions, with a single In-App Purchase (IAP) perhaps called "Unlock Everything" to make all of the features available. This is similar to a trial period for the direct Dejal site edition, so it could use the same mechanism.

Pros: free trial for both editions; simple-to-understand price.

Cons: it could be tricky to set the limits so enough people pay.

Freemium with multiple IAP

A variation on the freemium approach is to have multiple In-App Purchase options. So instead of paying once to unlock all the features, customers could pay to unlock individual features, e.g. new break themes, action types, and perhaps even to add a new break. The app could come with one or two breaks, and you pay $0.99 or something for each additional break.

Pros: free trial for both; pay for usage; potentially more $$$.

Cons: more confusing pricing; some might not like the "nickel & diming".

Gamification

Taking the above further, another option is often referred to as "gamification": using rewards or social features to make using the app more fun, and to spend money on features. There are various ways this could be done, but one idea for Time Out is to have an in-app currency for breaks taken and skipped. So taking a break earns some credit, and skipping or postponing a break spends some of that credit. If someone wants to skip more than they take breaks, they could pay real money to buy break credits. There could also be achievements to earn for taking breaks (e.g. taking all breaks in a day or a week), etc.

Pros: could be fun; real incentive to take breaks; potentially more $$$.

Cons: more complex to implement and understand; again with the "nickel & diming".

Some hybrid

A variation of the above options could be to use one approach for the direct Dejal edition, and another for the Mac App Store edition. For example, the direct edition could use the traditional 14-day trial approach, while the MAS edition uses a paid or freemium model.

Pros: more choices for people.

Cons: more complex to understand.

Others?

There are probably other approaches that could work, too. If you can think of any, please let me know.

I'd really appreciate your opinions on these options. I need Time Out to be sufficiently profitable to justify and sustain further enhancements. But I also want it to be used as widely as possible. It's already a fairly popular app, in large part due to being free, so I want to do what I can to improve that.

Of course, once a pricing model is decided, the next obvious question is what the actual price(s) should be. I welcome feedback on that, too, if you like.

Please let me know what you think in the comments below, or privately.

Time Out 2: Dock vs status item

Without a doubt, the most popular request for Time Out over the years has been the ability to not need to be in the Dock. The second-most popular request is a countdown in the menubar.

These feature requests are related, as if the app isn't in the Dock, it should be in the menubar, otherwise there's no real convenient way to access its settings.

Your wish is my command: both of these requests have been granted in version 2 (and much more). A countdown can be displayed in a menubar status item, which when clicked displays a popover listing the breaks and more options.

Here's a blurred screenshot:

Breaks can be manually started, paused, etc from this popover. Clicking on an item will show it in the preferences window, enabling you to configure the breaks.

There is a preference to control whether or not Time Out appears in the Dock, and the appearance of the status item can be configured, to change the icon and countdown or time of the next break, among other options:

It is currently technically possible to not have Time Out in the Dock or status menu, but then the only way to access the settings would be to open the app from the Finder. Which some people might like, perhaps.

When I first created version 2, I had the scheduler and status item in a helper process, separate from the main app with the preferences window. Later I merged the two, as that proved a bit unreliable and more complex. But now I'm reconsidering the design, as it turns out that the status popover doesn't work when an app is fullscreen.

So I'm thinking about a number of options for a redesign:

  1. Go back to the previous design, with the status item in a helper.
    • Pros: consistent working status popover, crash-proofing.
    • Cons: more complex architecture; had issues with prefs not loading; delay opening settings window while app loads.
  2. Make the app only use a status item; no option to show in the Dock.
    • Pros: simplified UX; could remove menus; status popover would always work.
    • Cons: some people might like to access via the Dock.
  3. Change the prefs to either show the status item or be in the Dock, not both.
    • Pros: the status popover would always work, when enabled; people could still access via the Dock.
    • Cons: two UX styles; no countdown in Dock mode.
  4. Always just show the settings window when the Dock is shown, or popover when no Dock.
    • Pros: the status popover would always work when no Dock; could still have status countdown.
    • Cons: two UX styles.

I am currently leaning towards the last option, as that seems like the best of both worlds: the ability to show or hide the Dock icon, and a countdown status item available with either. If the Dock icon is shown, clicking on the status item would be equivalent to clicking on the Dock icon, bringing the app to the front. If not, it'd show a popover for quick access, and only bring the app to the front if you want to edit something.

What do you think? Would you want to show or hide the Dock icon? Do you want the countdown item? Let me know in the comments below. Alpha testers can reply here if you don't mention any unannounced features, or in the private alpha forum.

Developer: NSButton drawing issue

A post for developers, though also related to Time Out 2.

One of the features of Time Out 2 is a sidebar listing the breaks and options, as you could see (blurred somewhat) in my previous post . The sidebar includes a couple of buttons that appear when you hover the pointer over a row, enabling you to manually start or pause that break.

A vexing issue I had, though, was that the button didn't draw correctly. If you look closely at this screenshot, you may notice that the background of the text and the remainder of the button content don't match — there's a visible outline around the text:

That is rather ugly. I'm not sure exactly what causes it, but presumably it's related to being in a sidebar list, and perhaps an issue with title-less windows (I've seen some other issues, too).

Regardless, I wanted to fix it. After a bit of experimentation, I found a simple solution: a subclass of NSButtonCell to override the -drawTitle:withFrameinView: method, which as you might imagine is responsible for drawing the title text. The override simply invokes the superclass, and returns the full button rect instead of the rect of the text itself:


@interface DejalButtonCell : NSButtonCell

@end

@implementation DejalButtonCell

- (NSRect)drawTitle:(NSAttributedString *)title withFrame:(NSRect)frame inView:(NSView *)controlView;
{
    [super drawTitle:title withFrame:frame inView:controlView];
    return frame;
}

@end

That seems to do the trick:

Filed Radar #22491410.

Time Out 2 teaser

As you may know, I'm working on a major upgrade of my popular break reminder tool, Time Out. Version 2 has been in the works for quite some time, in between working on contract work and updates of Simon, Pack, and other apps.

I've recently made some significant progress, and although there remains much to do, I think it's time to start teasing a little about the new version.

So without further ado, I present your first glimpse of the app (other than the icon, which I showed previously). A heavily blurred screenshot, admittedly... but you may be able to glean something about it.

Want to see more? How about actually try the current version? No need to wait: licensed users can apply to become alpha testers, and actually use the latest builds now (version 2.0a13 was released a few days ago). If you've made a donation, and are using Yosemite or later, you can contact me to request to join the alpha team, or to get more information.

Otherwise, stay tuned for more screenshots and information about the upgrade over the coming months. (Yes, I fully expect it'll be a few months before it's finished, though who knows; it'll be done when it's done.)

Mac App Store

There have been a lot of discussions recently about the Mac App Store, and how many Mac developers are abandoning it. Here's an excerpt from one example, which includes links to many others:

The Mac App Store was released in January 2011 and it marked the beginning of a great new distribution channel. Even though it lacked some bells and whistles, the developer community was hopeful the problems would be addressed in due course. Unfortunately, it has been years and there’s no evidence that the core issues would be addressed in the future, at all. When notable developers are abandoning your platform, cannot do the right thing for their customers and are delaying their MAS submission, something is very, very broken. I believe that the inaction is harmful to the whole Mac community, affecting consumers and developers alike.

Mac App Store: The Subtle Exodus by Milen Dzhumerov

This has been a concern for me and my Dejal apps, too.

As I work on an update to my Simon app, I'm once again faced with this issue. Simon currently has two editions in the Mac App Store, Simon Express and Simon Free. Those are already cut-down editions of the full Simon app available on this website, but they also haven't been updated since Apple introduced the sandbox requirements. Simon is a large and powerful app, and really isn't able to be sandboxed without cutting out even more functionality, which I don't want to do.

So, I am forced to announce that Simon Express and Simon Free will be removed from the Mac App Store when the next update of Simon is released. I've thought about removing them immediately, but decided that it'd be better to leave them until the more natural point of the next update. I would really recommend that everyone use the full version of Simon instead of the App Store editions, though.

What about my other apps?

The current version of my free break reminder tool Time Out, 1.7.1, can not be sandboxed either, so the latest version on the Mac App Store, Time Out Free, is stuck at 1.6.5. Again, I recommend people use the version from this site instead. However, I am working on version 2 (currently in alpha testing), which is sandboxed. Supporting sandboxing has complicated the design, and added a lot of work, but I felt it was worth it for such a generally popular and widely-used app. So Time Out 2 will be available both on the Dejal site and the Mac App Store.

My snippet manager app, Caboodle, is up to version 1.5 currently, but again the Mac App Store edition, Caboodle Express, is a bit behind at version 1.4. As with Time Out, this is a widely-used app, so I want to be able to update the App Store edition. So I'm also working on an update that will support this (and may even support iCloud and Dropbox syncing). Work on this is on hold currently; I'll resume after the next updates of Simon and Time Out are done.

Finally, BlogAssist, my menubar utility to help with HTML markup (which I used extensively writing this blog post) is already fully sandboxed and up-to-date on the App Store. Both the standard edition and BlogAssist Express on the App Store are on version 2.4.

So, as you can see, I still believe in the Mac App Store and want to support it for my consumer apps. Although it has technical challenges, and definitely has many problems as others have discussed, I think it is a useful service for my customers, and a valuable way of getting my apps in front of more people.

However, for a more niche, powerful and professional app like Simon, the limitations of the App Store outweigh its benefits, so I can't justify the compromises required to support it. I do hope that changes in the future — there are lots of things Apple could do to make the App Store a better fit for such apps — but I don't think they have much interest in such changes. I'm just glad that they recognize that there are apps that don't fit the App Store, and continue to support apps outside the store via mechanisms like Developer ID.

Time Out 2 icon

Yes, the rumors are true... Time Out 2 is coming! This major upgrade has been much delayed, redesigned, partial implementations discarded and restarted, and delayed again... but it is well underway now, and is in fact in private alpha testing at present.

What does it include? The major enhancements are not coincidentally the most requested changes: the ability to run Time Out without it being in the Dock, a countdown status menu, and customizable break themes. There are many other improvements, too.

Don't get too excited just yet, though, as it'll probably be another few months before it is available as a public beta. Although version 2 is fully functional now, I've still got lots I want to add and polish, including support for more than two breaks, more kinds of notifications, and an overhaul of the UI.

One other big change is the app icon. The icon for version 1 is nice enough, and many people like it, but others are put off by the meditating figure. So I've taken the opportunity of version 2 to have a fresh new icon professionally designed... and here it is:

I hope you like it, and agree that it's a huge improvement. The theme is relaxation — take a break. A hammock under palm trees seems pretty relaxing to me. And from a certain perspective, it looks a little like a smiley face. Hopefully taking rest breaks will make you smile, too.

This great icon was designed by Aaron Mahnke of Wet Frog Studios. It was a pleasure working with such a professional and skilled designer. He was easy to work with, clearly understanding my ideas and quickly created a draft design that was very close to what we ended up with. He was also responsive to my suggestions for tweaks, so it only took a few iterations before we had the final design.

So, when will version 2 be available publicly? I don't know. It'll be done when it's done. But I will post more about it over the coming weeks, so you can get a feel for the enhancements.

Can't wait? Want to try the current alpha releases? I always welcome fresh perspectives, so you could be eligible to join the elite alpha group. It is only open to licensed users, so if you've made a donation, and you're using Mavericks, you can contact me to request to join the alpha team, or to get more information.

Syndicate content