Blogs

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.

Dejal year in review: 2015

Happy New Year!

As we start a new year, let's review what happened with the Dejal apps in 2015:

After the massive version 4.0 upgrade in late 2014, Simon, my flagship product to monitor websites and servers for changes and failures, saw another fairly big update in 2015 to version 4.1.1, plus a beta of 4.2, which will be in general release in a month or so.
My handy break reminder tool, Time Out, had significant work on version 2, with several alpha builds in 2015. It went from alpha 8 at the beginning of the year all the way up to alpha 29 at the end of the year, each with many improvements. It is now basically feature-complete; I'm just working on the final touches at present. Time Out 2 has been in the works for years, in between contract work and other projects, but it's tantalizingly close now, and I expect to have a beta release available within the next few months. As previously mentioned, everyone who makes a donation for Time Out now will be automatically eligible for the paid features at no additional cost — so you can set your own price for it now! This offer expires when version 2 is released. This also makes you eligible for the alpha; after donating, tell me if you'd like to try it. Thank you to everyone who has already donated; the volume of donations is really encouraging.
Caboodle, my lean clean snippet machine, didn't see any updates in 2015. I do have a new version in the works, which I'll finish off and release once I get Time Out 2 out.
BlogAssist, my tool to help with HTML markup, had a small update to version 2.4.1 in 2015. It's a minor product, but one I still use regularly.
Pack, a simple iPhone app to make it easy to pack for trips, had a number of updates in 2015, up to version 1.2. The major enhancement in 2015 was the addition of a handy Apple Watch app. Try it for your next trip!
Tweeps, an app for iOS to easily manage Twitter accounts, didn't get any updates in 2015. It doesn't sell very well, so I can't really justify spending time on it, but it does what it needs to.

Consulting

On the consulting side, I've worked on a number of projects in the last year, including zCloud, a handy Mac menu bar utility to quickly and easily upload screenshots and other files to Dropbox; MBTableGrid and private components for Tap Forms for Mac; and the iOS NewsBlur app, a popular RSS news reader.

I'm fully booked for the next couple of months, and hoping for more from existing clients, but if you have a Mac or iOS project you'd like help with (or a custom Simon enhancement), check out my consulting page for more information.

Looking ahead

So what's coming up in 2016? My top priority is finishing off Time Out 2. As mentioned, it is very close to completion, so I should be able to get a beta out soon... though no promises, since it depends on how long it takes to finish off, and time spent on contract work. I will also continue contract work, of course, since I enjoy eating and paying bills.

I will also do the general release of Simon 4.2, probably before Time Out 2 is out. And later in the year I hope to get back to a Caboodle update that's been pushed back for a while. I'd like to add a new app, too, but we'll see.

Thank you and welcome to my new customers, and many thanks to my long-term customers who are still enjoying my apps. I really appreciate your support. I'm very excited about the much-anticipated Time Out 2 release in the coming year, and other projects in the pipeline.

Featured blog posts of 2015

My blog posts often just cover new releases, but sometimes I post general-interest or developer-interest topics. Some highlights from 2015 included:

Phew! It seems I've been writing quite a bit more than usual in the last year. I hope you enjoyed these posts.

Simon 4.2b1 released

Simon version 4.2b1 is now available.

This first beta includes the following changes:

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.

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.

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 stability improvements

  • 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 rare crasher with the Find filter.

If you're using a recent version of Simon already, you can update to this beta by checking for updates in the app. If you haven't used a beta previously, you may need to change your Updates preferences within Simon to include Beta & General Releases. Otherwise, you can download Simon 4.2b1.

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!

My first Mac

Last week I saw a video on the evolution of the desk, or more specifically how many physical desk objects have migrated into apps on the computer (and one could argue that they're continuing to move into an iPad).

Then Serenity Caldwell (@settern) tweeted a picture of her desk 10 years ago:

Which got me thinking about how my desk contents has evolved over time. My first computer was a Sinclair ZX81, but my first Mac was a Mac Plus, which I bought around 1988. Here it is on my desk at the time (click to see larger):

To the left of the Mac is my previous computer, a Spectravideo MSX SVI-728. The Mac Plus (platinum color) had an internal 3.5-inch floppy drive, plus an external one, and 4 MB of RAM. I later added a hard drive, and still later a magneto-optical drive:

Other interesting bits in this photo are my Inside Macintosh reference manuals, early Dejal floppy disks (I used to publish my Classic apps on floppy), my modem, and other antiques like cassette tapes and LP records. You may be able to make out a circuit board on the wall above my Mac; that isn't a picture, but the motherboard of my ZX81.

I don't have most of that stuff anymore... but I do still have the ZX81 circuitboard, and that solar-powered calculator... still going strong.

My current desk is a lot tidier than that one, too.

Simon 4.1.1 released

Simon version 4.1.1 is now available for download.

Please update to this release for El Capitan compatibility, including:

  • Fixed a crash on OS X 10.11 when changing tests with the Preview displayed.
  • Improved the layout of the Preview.
  • Added exceptions to 10.11's restrictions on http:// access.
  • Fixed several issues raised by the latest development tools.

It continues to work on Yosemite (10.10 and later) too.

Download Simon 4.1.1 now!

DevAssist: Syria Relief

Dejal is participating in the DevAssist: Syria Relief collective effort.

All sales today (September 16) will be donated to Doctors Without Borders.

So if you've been thinking about buying a Dejal app, now is a great day to do so, to help support a worthwhile cause. And with Time Out 2 getting ever closer to release, now is a great time to donate for that, and thus get a Time Out license and support this cause at the same time.

Learn more about other developers participating at the DevAssist site.

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

Simon 4.1 released

Announcing the general release of Simon version 4.1!

This update is free for licensed customers of Simon 4. It includes several significant improvements and fixes.

Redesigned web feature

One of the most noticeable changes is a redesign of the Web (HTTP) feature. It now uses a list of pages including Parameters, Headers, Cookies and Other. Clicking on one shows the corresponding page.


Support for custom headers

Another much-requested enhancement to the Web feature is support for custom headers. This enables you to send extra values to the server, for example a "User-Agent" so the server thinks the request is coming from a specific web browser.


Load dynamic web content

Many websites nowadays use JavaScript to load additional content after the initial HTML is loaded, for example to incorporate updating values from a database, or activity tracking, and other uses. Previously, Simon wouldn't see that dynamic content — it only looked at the base HTML. Now, you can enable a new option to load the dynamic content a specified number of seconds after the base HTML loads, to incorporate such later changes.


Plus much more

There are many more changes, including various tweaks to the UI, moving the Delete function to the Edit menu, adding a crash reporter to make it easier to capture issues, and localization improvements (including adding Chinese).

Read the release notes for full details of the changes.

Download Simon 4.1 now!

Simon 4.1b5, 4.1b6 and 4.1b7 released

Oh look, another beta!

  • Fixed an issue in the previous betas with the Username and Password fields in the Web feature.
  • Simon now uses the third-party Fabric Crashlytics framework to automatically capture crash reports. Previously it would attempt to ignore crashes, so it might crash a little more than before, but hopefully not. Automatically aggregating crash reports will enable faster fixing any that occur.
  • If a crash occurs, Simon will now display an assistant 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.
  • Updated a few pages in the help book.
  • Integrated a German translation into the help book.

EDIT: A quick update to fix another couple of issues:

  • Fixed a crasher in the Web feature when quickly editing custom headers or cookies.
  • Fixed an issue in previous betas with the Web feature when using a username and password.

EDIT 2: Hey why not make it a trio: another quick update with some further tweaks of this area:

  • Fixed another crasher in the Web feature (caused by earlier beta changes).
  • Fixed an issue in previous betas with the Web feature when editing Parameters values.

Download Simon 4.1b7 now!

Syndicate content