Blogs

DejalNews: Date Stamp, Setapp, BundleHunt, happy holidays!

DejalNews header

DejalNews 2016-12, issue #66

Welcome

This is DejalNews, an occasional newsletter from Dejal.

If you want to receive these newsletters in your email inbox, head over to the DejalNews subscribe page to sign up.

Introducing Date Stamp

A few days ago I released a new app: Date Stamp, an iOS app to provide customizable stickers for iMessage.

iMessage apps are a new feature of iOS 10, and a little obscure. You find them via the apps button to the left of the entry field in Apple's Messages app on iOS. They have their own store, which is full of sticker packs — collections of static or animated images that you can peel and stick onto your conversation bubbles, to make chatting more fun.

My Date Stamp app is similar, in that it provides stickers you can peel and stick onto messages, but it isn't just a collection of static images — they can be changed to include any date you choose, plus the format of the date can be changed, and the color of the date or surrounding text/frame can also be altered.

It's fun and useful, so you can tell someone you received something, or paid a bill, or to save the date, and much more.

Learn more about Date Stamp.

Date Stamp

Simon in Setapp

In other news, my friends at MacPaw recently started an invite-only beta of their new service, Setapp.

This service offers a curated collection of dozens of Mac apps for one low monthly price.

Imagine no more paid upgrades or in-app purchases; you can use any or all of the apps without paying more. A great way to discover useful new apps.

I'm really excited about this new service, and pleased to include Simon as one of the apps. One of the things I like the most is how well it is integrated into the Mac — the apps appear right in a special folder in the Finder, and opening one shows a handy description and screenshots so you can learn more or start using it without having to leave the Finder. It's very nice.

If you're interested in Simon, but hesitate at the pro-level price-tag, this is an affordable new way to get it and many more apps, with more being added all the time for the same low price. But don't worry, the direct price won't be going away for those who prefer that.

They are now letting a limited number of people into their invite-only beta, to try it for free for a couple of months. If you're interested in getting a sneak peek of Setapp, contact me to get an invite.

Last chance for BundleHunt

As I mentioned in my previous newsletter, Caboodle is currently included in the BundleHunt holiday bundle, featuring an assortment of Mac apps to choose from. If you haven't yet taken advantage of this great deal, don't delay; it ends soon!

Happy holidays!

As we approach the end of the year, I wanted to take this opportunity to wish you Merry Christmas, or whatever holiday tradition you follow. I hope you have a safe and enjoyable holiday season.

- David

Introducing Date Stamp

I am pleased to introduce a brand new product from Dejal: Date Stamp.

Date Stamp is an iMessage app to create customizable stickers, featuring a date and message like APPROVED, DUE, PAID, RECEIVED, SAVE THE DATE, SENT, and more.

This is a standalone iMessage app; it won't clutter up your home screen, but will only appear in Apple's Messages app on iOS. Tap the stickers/apps button to the left of the text field to display the stickers and iMessage apps.

Unlike a static sticker pack, you can choose a different date, select short, medium, or long date format, and change the colors of the date and design text to personalize the date stamp stickers.

Download Date Stamp from the iMessage Store, or read on to learn more....

Firstly, here are screenshots of Messages with Date Stamp displayed, in compact and expanded views, showing some of the stickers in different colors:

[Compact view]
[Expanded view]

 

Use the toolbar above the stickers to change the appearance:

[Toolbar]

The date can be changed via a mini date picker; tap Today, or spin each of the date components to choose another date:

[Date picker]

Choose short, medium, or long date format (via buttons that show how the chosen date will be displayed):

[Date format picker]

Pick a color to use for the date in the stamp:

[Date color picker]

Pick another color for the rest of the stamp (the text and any frame):

[Design color picker]

Then tap a sticker to insert it in a message, or tap and hold to peel it, and drag it to stick on any message bubble, optionally using two fingers to rotate or resize it as desired.

Sound useful?

Download Date Stamp from the iMessage Store.

DejalNews: Caboodle in BundleHunt and more

DejalNews header

DejalNews 2016-11, issue #65

Welcome

This is the second issue of DejalNews since resuming it after a many-year hiatus. It is also the first issue being sent via the third-party MailChimp service. So hopefully it works out alright!

If you want to receive these newsletters in your email inbox, head over to the DejalNews subscribe page to sign up.

Caboodle featured in BundleHunt

I occasionally include one of my apps in a bundle or promotion, as a way to get extra exposure. At present Caboodle is included in the BundleHunt holiday bundle, featuring an assortment of Mac apps to choose from.

This is a "choose your own bundle" style promotion, where you pick 10 apps out of the 54 on offer, and get them for one low price.

As it happens, the bundle price is just $19.99, which is about the same as the price of Caboodle alone. So by including Caboodle you're effectively getting 9 other apps for free. What a deal.

Check it out!

Caboodle 2 preview

Speaking of Caboodle, version 2.0b2 was recently released. Version 2 includes many much-requested enhancements, including:

  • Multiple documents, so you can have one for work, one for personal, or organize by project, etc.
  • Save on Dropbox or iCloud Drive to share (yes, supports editing on multiple Macs!).
  • The data is now stored in a much improved format, as a package containing standard rich text documents.
  • Much better performance with large documents!
  • Custom fields can now be dragged to reorder them.
  • Improved text area, with a new text format bar, inline find bar, and support for inline markup of images.
  • Spotlight searching.
  • Modernized appearance.
  • And much more!

Want to try it? Check out the What's New page to sign up for the beta or learn more.

Caboodle 2 will be a paid upgrade, but anyone who buys it now will receive a version 2 license at no extra cost, which also works in version 1.

RIP Padmé

On a personal note, I'm saddened by the loss of one of our cats, Padmé. She was just nine years old, suffering from congestive heart failure. She was a sweet girl, and will be missed.

She even had (or I suppose still has) a Twitter account, @princess_padme, where "she" would tweet in haiku. Though that hasn't been updated in a few years.

Padmé

Thanks for reading!

I hope this new newsletter format works well. I hope to do more newsletters in the future, perhaps every month or two, when I have something to mention. (And I do have some exciting news coming up next month!)

Please let me know what you think of this format, or any other feedback. I'm always interested to hear from my customers.

- David

Caboodle in BundleHunt

BundleHunt

Hot on the heels of a Caboodle 2 sneak peek, Caboodle is now available in the BundleHunt holiday bundle!

For about the same price as Caboodle alone, you can now get 9 additional apps for free! Click on the following image and pick 10 apps of your choosing (hopefully including Caboodle) to get a great deal on Mac software.

As a bonus, everyone who purchases Caboodle now will receive a free upgrade to version 2. The license will work in both version 1 and version 2, at no extra cost.

BundleHunt

Caboodle 2.0b2 released

A minor update to the beta release of Caboodle 2. Version 2.0b2 just includes a few tweaks, but is mainly because the previous beta had expired.

In case you missed it, version 2 of Caboodle includes many much-requested enhancements, including the ability to open multiple documents, sync documents between Macs via Dropbox or iCloud Drive, huge performance improvements with large documents, movable custom fields, better text editing, and much more.

Changes in this second beta include:

  • Added an in-app purchase option, so you can purchase a license without leaving the app.
  • Removed the Show/Hide Toolbar menu command, and fixed the Customize Toolbar... command.
  • Built for Sierra (but still compatible back to Yosemite).

Want to try Caboodle 2? Head over to the What's New page to sign up for the beta!

Donations

I sometimes get asked if there's a way to pay more for Time Out or other apps. You might be surprised how many people think that $2.99 or even $9.99 is way too cheap for the benefits Time Out gives. That's always nice to hear!

If you want to donate more, to help contribute to development or just express your appreciation, you're certainly welcome to do so. You can purchase multiple 12-month supporter statuses for Time Out, which will extend your supporter status by a year for each one — there is no limit how long. Buy 20 years or more if you want!

Another way you can give back is to buy other Dejal apps. You might find one or more of them useful.

Contract work is available: if you want a custom feature enhancement to Simon, Time Out, or another app, or a whole new macOS or iOS app that you can sell, I can help you make it.

You could also just give a gift; take a look at my Amazon.com wish list and buy something nice.

Or buy Dejal merchandise for yourself, like T-shirts, mugs, bags, stickers, and more.

Finally, if you want to do something else, just get in touch!

There's no need to make an extra donation if you don't want to, but for those who do, it is very much appreciated. Thank you!

DejalNews: welcome (back)!

DejalNews 2016-09, issue #64.

Welcome (back)

Many years ago I published a monthly email newsletter on Dejal-related news, imaginatively titled "DejalNews". Over time, the issues became less frequent, culminating in the final issue, number 63, published in January 2007. It was phased out in large part due to the up-and-coming fad of weblogs, aka blogging.

Almost a decade later, I've decided to dust off the newsletter concept, since I know that while email is often full of spam, notifications, and such, many people still prefer it as a fairly reliable means of communication.

I would appreciate feedback on this issue — what do you like or dislike about it; is it too long or too short, should it only consist of links to blog posts or fully inline content, more corporate or more personal tone, etc. Any thoughts are most welcome. I'll use that feedback to help decide on the frequency and content of future newsletters.

Action required!

Since it's been years since the last newsletter, I have reset the newsletter subscribers. So if you'd like to receive future DejalNews issues in your email inbox, you need to take action:

Go to the Newsletter Subscription page and subscribe.

(You can also indicate which apps you're interested in there, which will help guide future topics.)

If you'd like to read the newsletters but don't want to get the emails, you can instead follow @dejal on Twitter to see tweets of blog posts (and app releases), including DejalNews issues, which will be published on the Dejal Blog. There is also a RSS feed of the blog for those who prefer that.

Wait, you discarded the subscribers list?!

Yes, I felt it was better to err on the side of my customers, as usual. I'd rather lose a bunch of subscribers than risk annoying people with unwanted email subscriptions or bounced mail. I've been accumulating newsletter subscribers for years, but haven't sent anything out for nearly a decade, so it's likely many of them are no longer interested in my apps, or have changed email addresses. Better to start fresh.

Anyway, enough preamble. On with the topics!

Dejal 25th anniversary

Last week I celebrated the 25th anniversary of founding Dejal. Yes, I started the company way back on September 20, 1991, writing apps for classic Mac OS on my Mac Plus.

To celebrate a quarter century of Mac development, and the release of Time Out 2.1 and macOS Sierra, I'm offering a special discount coupon code on all Mac apps sold directly from the Dejal site, or the supporter options within the direct edition of Time Out. Simply enter the coupon DEJAL25 at checkout to get half off! (Good until the end of this month.)

Time Out 2.1 released

I also recently released version 2.1 of Time Out, my popular break reminder app.

Version 2.1 includes:

  • Better Schedule options
  • The Status item can now omit Micro breaks
  • New menu commands to improve discoverability
  • Improved Play Sound action
  • Added a Post Tweet action
  • Plus Sleep Mac, Start Screensaver and Stop Screensaver actions
  • Setup Assistant assistance
  • Supporter improvements
  • macOS Sierra compatibility and other improvements

Read the blog post for details, including screenshots and download options.

Oh, and Mac App Store customers, I'd really appreciate it if you could review the app, or update your existing review. Every time a new version is released, the App Store clears the reviews that are displayed.

Simon 4.3 coming soon

Work on Simon 4.3 will begin soon. I have a bunch of enhancements planned, but now is a great time to get your feature requests in. Let me know what you'd like to see in the next release!

Available for contract work

In addition to updating the Dejal apps, I do remote contract macOS and iOS development work, to help pay the bills. If you or anyone you know needs an expert iOS or macOS developer, check out the consulting page and get in touch.

Also, as it happens my wife is looking for a new job at this time. She's a Senior Technical Writer, available for full-time employment or contract work around Portland, Oregon or remote. Please get in touch if you can help.

Thanks for reading!

Like this issue? Subscribe to the newsletter! Don't like it? You don't need to do anything; nobody is subscribed initially. Either way, please tell me what you think!

DejalNews #64; ISSN: 1547-948X.

Dejal site tweaks

The eagle-eyed may notice a few subtle changes when visiting the Dejal website.

Over the last few days I changed the website header to merge the old Mac, iPad, and iPhone header items into a single Apps one, which gave room to move the search field from the bottom of the page up to the top.

I've been wanting to merge the platform headers into one for a while, as they didn't really make much sense anymore. Sure, I still write apps for Mac, iPad and iPhone devices, but I also have an Apple Watch app for Pack (my handy packing list app), and I only have one app for iPad currently (Tweeps, a Twitter account manager), so it hardly needs its own list.

Moving the search field is something I've thought about for a while, too. It was at the bottom of the page (above the site map links) for many years, but many people didn't notice it there, so couldn't find what they were looking for. The Dejal site is quite extensive, with several apps, blog posts, forum discussions, FAQ answers, developer pages, and more, so finding something specific can sometimes be tricky, especially if its a forum post from years ago. So moving the search field to the top should make it much more discoverable and useful.

I actually had two different search fields before: some of the the Dejal site is powered by custom PHP (primarily the product pages), which used to use a Google-powered search, and some is powered by the Drupal CMS (the blog, forums, etc), which has its own search mechanism. But now they are unified: searching via the search field at the top of every page will use Google to search the entire site, and on the search results page there is a link to instead limit the search to the blog, forums and FAQ, which uses the Drupal-powered search (and offers an advanced search function).

Currently there are Google ads on the search results (that I don't get any money for; it's a cost of using their free site search). If the feature is used enough I'll pay the $100/year to remove them, but I'll wait to see if people actually use the search more, now that it's more prominent.

Out with the old:

Old website headers

In with the new:

Old website headers

While I was at it, I did some other changes, e.g. replacing "Dejal Mac Apps" with "Dejal macOS Apps", and a few minor style changes and tweaks.

In other news, Apple is working through its back-catalog of apps that haven't been updated for years, and asking developers to update or remove them (or they will remove them after 30 days). This is a very worthwhile project; too much of the App Store is ancient junk that no longer works, or looks ugly on modern iOS versions.

I was affected by this: a few years ago I had discontinued two of my apps (well, technically three, one having Pro and Lite editions): SmileDial and Valentines. They were still included on the App Store for anyone who had old devices or didn't mind that they weren't being updated anymore. But with Apple's clean-out, it was time to remove them. So they are no longer available. I'll keep their product pages around indefinitely, though, for historical reference.

Time Out 2.1 released & Dejal 25th anniversary discount

Announcing the general release of Time Out version 2.1, an update to my popular break reminder tool.

Version 2.1 includes macOS Sierra compatibility, scheduling enhancements, status item improvements, new actions, and much more. Read below for details and screenshots.

Special discounts to celebrate Dejal 25th anniversary!

Tomorrow is the 25th anniversary of founding Dejal. Yes, I started the company way back on September 20, 1991, writing apps for classic Mac OS on my Mac Plus. (I've written a number of blog posts about the history if you want more details.)

To celebrate a quarter century of Mac development, and the release of Time Out 2.1 and macOS Sierra, I'm offering a special discount coupon code on all Mac apps sold directly from this site, or the supporter options within the direct edition of Time Out. Simply enter the coupon DEJAL25 at checkout to get half off! (Good until the end of this month.)

Already a supporter of Time Out? No problem; you can still use this coupon to extend your support by an additional 3, 6 or 12 months.

Here's my original Mac; if you look closely you can see some Dejal floppy disks to the left of the keyboard:

Better Schedule options

Time Out 2.1 includes many new features and enhancements, including:

  • Changed the way the scheduler handles the first break of the day, so the work time is now equal between each break. For example, a 10 minute break every hour will now start the break after 50 minutes of work time, and so on throughout the day.
  • Now displays the work time next to the frequency control.
  • Replaced the Reset After Duration natural break option with a checkbox to reset after a specified interval of idle, screensaver or sleep time, where you can choose the threshold interval. Off by default, and is a supporter reward, like the old option.
  • Added an option to reset the break after finishing a higher priority break. This is useful to keep lower priority breaks (e.g. Micro) aligned with higher priority ones (e.g. Normal). Off by default, and is also a supporter reward.

The Status item can now omit Micro breaks

  • Added an option on the General preferences page to only include long breaks in the status menu bar item. Off by default, so all breaks are included, but if you only want a countdown to the next lengthy break (of a minute or more), you can turn this on.

New menu commands to improve discoverability

  • Added an Edit Break command in the break Options menu, to make editing breaks more intuitive. This is equivalent to simply selecting the break in the sidebar, and will show an alert mentioning this.
  • Added a Start Next Break command in the File and action (cog) menus to manually begin the break that is next due. Especially useful as it can have a global keyboard shortcut assigned to it via the Shortcuts preferences.
  • Added a Reveal Data Folder command in those menus, to quickly and easily show the Time Out data folder in the Finder, as an easier way to add or edit sounds and themes, or send the data to Dejal for diagnostics.

Improved Play Sound action

  • Added a Reveal Sounds command to the sound pop-up menu in the Play Sound action, to show the Sounds folder in the Finder.
  • Added headings in the Play Sound menu, to indicate where each of the groups of sounds are located on disk.
  • Added some new built-in sounds: two different bells and a ticking clock. If you find any short public domain sound that others might like, let us know!

Added a Post Tweet action

  • Added a new Post Tweet action to post an update to Twitter. It is only available from macOS Sierra (10.12), due to a bug in previous OS versions that prevents authorizing accounts.
  • It includes an account popup to choose from which account to post. This could be fun for social peer pressure -- tweet when completing a break.

More actions

  • Added the Sleep Mac action (available via the Time Out Extras page) to the default set. This AppleScript simply puts the Mac to sleep. Useful if you want it to be asleep during a break or at the end of day.
  • Added the Start Screensaver action (also available there) to the default set. This AppleScript simply activates the screensaver. Useful if you want the screensaver on during a break.
  • Also added a new Stop Screensaver action. This AppleScript deactivates the screensaver if it's active. Useful as an action at the end of a break.

Setup Assistant assistance

  • Added a comment on the first page of the Setup Assistant to explain how to change the duration and frequency controls: "tab/arrow between components; arrow up/down or type to change values; click or spacebar to show a menu of options."
  • Updated the tooltips of those controls to give the same tips.
  • When returning to the Setup Assistant later in the app session, it now opens to the first page again, instead of whichever one was displayed when last closed.

Supporter improvements

  • After trying supporter rewards, the Support Time Out page is selected, to hopefully help clarify that the features reverting is not a bug.
  • For the Mac App Store edition, if a purchase hasn't been registered with the Dejal server, it will now ask you to do so when you next show the Support Time Out page, to avoid an issue that affects some people.

Other improvements

  • When launching the direct edition for the first time, if the Mac App Store edition has previously been used, the direct edtion will use the same data, to make migration easier.
  • Global shortcuts are now correctly removed after trying supporter rewards.
  • If not using the Event Monitor idle detector (as set on the Advanced preferences), no longer unnecessarily sets up the event monitors on launch.
  • Possible workaround for an Apple bug that causes the clipboard to stop working.
  • Fixed a crasher on macOS Sierra (10.12) when displaying the support info popovers.
  • Fixed a crasher when changing preference pages.
  • Updated the help book.

Get it now!

If you are using the Mac App Store edition, you can update via the App Store app.

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

Otherwise, download Time Out 2.1 now.

And remember the coupon code DEJAL25 to help celebrate the 25th anniversary of Dejal!

Time Out 2.1b2 released

One last quick update before the general release. I'd appreciate it if you would try this update to make sure I didn't break anything. I want to do the general release on Monday, so it's available before the macOS Sierra release.

  • Fixed an issue with the previous beta where the status item could show an invalid countdown when the new Only include long breaks option is on and there are no long breaks.
  • Possible workaround for an Apple bug that causes the clipboard to stop working.
  • When launching the direct edition for the first time, if the Mac App Store edition has previously been used, the direct edtion will use the same data, to make migration easier.

If you are using the Mac App Store edition, an update will be available after the beta cycle, or you can download the beta via the link below.

If you are using the direct edition, you can use the Check for Updates feature in the app to update; if it doesn't offer the beta, change your Updates preferences to include beta releases.

Otherwise, download Time Out 2.1b2 now!

Time Out editions: direct vs Mac App Store differences

I just added a Time Out FAQ item on the differences between the direct and Mac App Store editions of Time Out, and thought it'd make a good blog post.

The direct edition (available from this site) and the Mac App Store edition are very similar, but there are a few minor differences:

Download
Installation
  • The direct edition will download to your Downloads folder, so simply drag it into your Applications folder to install.
  • The Mac App Store edition will be downloaded directly into the Applications folder.
Updates
  • The direct edition can be updated via an in-app updater.
  • The Mac App Store edition can be updated via the App Store app.
Beta releases
  • The direct edition supports beta releases to help test new updates.
  • The Mac App Store edition is not updated until the general release.
Purchase
  • The direct edition offers optional in-app purchases via FastSpring (or from this site).
  • The Mac App Store edition offers optional in-app purchases via your Apple ID (iTunes account).
Proceeds
  • The direct edition provides 91% of the purchase price to the developer (after FastSpring's cut).
  • The Mac App Store edition provides 70% of the purchase price to the developer (after Apple's cut).
Sandbox
  • The direct edition is not sandboxed, to enable updating, though acts with the same limitations as a sandboxed app.
  • The Mac App Store edition is sandboxed, requiring extra steps to approve keyboard usage detection and install action scripts.
Data location
  • The direct edition stores its data in the path "~/Library/Group Containers/6Z7QW53WB6.com.dejal.timeout/", where "~" means your home folder.
  • The Mac App Store edition stores its data in the path "~/Library/Group Containers/6Z7QW53WB6.com.dejal.timeout.free/", where "~" means your home folder.

That's about it. None of the differences are all that significant, so you are welcome to use whichever edition you prefer. Downloading and updating are about as easy for each, and purchasing is similar, it just depends on whether you want to buy with your credit card or PayPal account, or your Apple ID. Of course, purchasing is optional; you can use it for free if you don't want to become a supporter.

PayPal is not my pal

After many years of using PayPal as my primary payment processor, I'm done with them.

As I discussed recently, I've been dealing with a fraud explosion with PayPal in recent months, with some nefarious person or persons using stolen credit cards (typically European) to buy Dejal apps. I'm not sure why; probably just to test that the transaction works, since as far as I can tell they aren't actually using the apps.

Inevitably, the owners of those cards query the transactions or replace their cards, and I get hit with both a reversed transaction and a $20 chargeback fee. And of course I feel bad for the card owner.

I tried restricting the PayPal store to only US addresses, which stopped the fraud... but then most of the world was unable to buy via that store. I later tried to restrict it to only verified PayPal accounts, but that filter doesn't seem to actually work. So I've had enough.

Now, I have changed to make the FastSpring-powered store the default, and I don't publish the PayPal-powered store anymore. It's still there, and will still work, but hopefully making it more obscure will eliminate the fraud usage. If you want to use it, feel free... but I'll look closely at all PayPal purchases to ensure they are legitimate, and may lock it down if the criminal keeps attacking it.

Although this isn't what I wanted, I'm not too broken up about it — I've been slowly moving more stuff to FastSpring anyway. The direct edition of Time Out 2 includes an in-app purchasing feature that is powered by FastSpring, and I will be rolling that out to my other Mac apps as I update them. And even for website purchases, FastSpring is a nicer service, supporting credit cards, checks, and yes even PayPal accounts. And it better handles international purchases, with local currencies and VAT etc.

I'll still use PayPal for the Simon Service Plan subscription, a $99/year subscription for Simon power users.

I'm sad to have to stop using PayPal as a primary store, but it's time. Removing it as a vector of attack for fraudsters, and simplifying the web store, is an improvement.

Time Out 2.1b1 released

Announcing the first beta release of an update to Time Out, my popular break reminder tool!

Version 2.1b1 includes macOS Sierra compatibility, scheduling enhancements, status item improvements, new actions, and much more.

Read on for the full release notes:

Better Schedule options

  • Changed the way the scheduler handles the first break of the day, so the work time is now equal between each break. For example, a 10 minute break every hour will now start the break after 50 minutes of work time, and so on throughout the day.
  • Now displays the work time next to the frequency control.
  • Replaced the Reset After Duration natural break option with a checkbox to reset after a specified interval of idle, screensaver or sleep time, where you can choose the threshold interval. Off by default, and is a supporter reward, like the old option.
  • Added an option to reset the break after finishing a higher priority break. This is useful to keep lower priority breaks (e.g. Micro) aligned with higher priority ones (e.g. Normal). Off by default, and is also a supporter reward.

The Status item can now omit Micro breaks

  • Added an option on the General preferences page to only include long breaks in the status menu bar item. Off by default, so all breaks are included, but if you only want a countdown to the next lengthy break (of a minute or more), you can turn this on.

New menu commands to improve discoverability

  • Added an Edit Break command in the break Options menu, to make editing breaks more intuitive. This is equivalent to simply selecting the break in the sidebar, and will show an alert mentioning this.
  • Added a Start Next Break command in the File and action (cog) menus to manually begin the break that is next due. Especially useful as it can have a global keyboard shortcut assigned to it via the Shortcuts preferences.
  • Added a Reveal Data Folder command in those menus, to quickly and easily show the Time Out data folder in the Finder, as an easier way to add or edit sounds and themes, or send the data to Dejal for diagnostics.

Improved Play Sound action

  • Added a Reveal Sounds command to the sound pop-up menu in the Play Sound action, to show the Sounds folder in the Finder.
  • Added headings in the Play Sound menu, to indicate where each of the groups of sounds are located on disk.
  • Added some new built-in sounds: two different bells and a ticking clock. If you find any short public domain sound that others might like, let us know!

Added a Post Tweet action

  • Added a new Post Tweet action to post an update to Twitter. It is only available from macOS Sierra (10.12), due to a bug in previous OS versions that prevents authorizing accounts.
  • It includes an account popup to choose from which account to post. This could be fun for social peer pressure -- tweet when completing a break.

More actions

  • Added the Sleep Mac action (available via the Time Out Extras page) to the default set. This AppleScript simply puts the Mac to sleep. Useful if you want it to be asleep during a break or at the end of day.
  • Added the Start Screensaver action (also available there) to the default set. This AppleScript simply activates the screensaver. Useful if you want the screensaver on during a break.
  • Also added a new Stop Screensaver action. This AppleScript deactivates the screensaver if it's active. Useful as an action at the end of a break.

Setup Assistant assistance

  • Added a comment on the first page of the Setup Assistant to explain how to change the duration and frequency controls: "tab/arrow between components; arrow up/down or type to change values; click or spacebar to show a menu of options."
  • Updated the tooltips of those controls to give the same tips.
  • When returning to the Setup Assistant later in the app session, it now opens to the first page again, instead of whichever one was displayed when last closed.

Supporter improvements

  • After trying supporter rewards, the Support Time Out page is selected, to hopefully help clarify that the features reverting is not a bug.
  • For the Mac App Store edition, if a purchase hasn't been registered with the Dejal server, it will now ask you to do so when you next show the Support Time Out page, to avoid an issue that affects some people.

Other improvements

  • Global shortcuts are now correctly removed after trying supporter rewards.
  • If not using the Event Monitor idle detector (as set on the Advanced preferences), no longer unnecessarily sets up the event monitors on launch.
  • Fixed a crasher on macOS Sierra (10.12) when displaying the support info popovers.
  • Fixed a crasher when changing preference pages.
  • Updated the help book.

If you are using the Mac App Store edition, an update will be available after the beta cycle, or you can download the beta via the link below.

If you are using the direct edition, you can use the Check for Updates feature in the app to update; if it doesn't offer the beta, change your Updates preferences to include beta releases.

Otherwise, download Time Out 2.1b1 now!

Simon: unlimited tests for everyone

Simon 4 has been out for a while now, but I'm still getting a regular trickle of upgrades, so obviously not everyone has moved to the latest (or recent) versions yet.

One huge benefit of Simon 4 hasn't gotten much attention, so I thought I'd call it out: unlimited tests for everyone!

What does this mean?

In versions 1 and 2, Simon had three license levels available for purchase: "Basic", "Standard" and "Enterprise". In version 1, Basic permitted a maximum of 3 active test configurations for $29.95, Standard allowed up to 10 for $59.95, and Enterprise removed the limit for the relatively large sum of $195. In version 2, the first two were doubled to 7 and 20 respectively, while Enterprise remained unlimited (with unchanged prices).

In version 3, I added a fourth level, and renamed them to "Bronze", "Silver", "Gold", and "Platinum", with the limits doubled again to 15, 40, 100, and still unlimited at the top. The prices were increased, to $49, $99, $199 and the princely sum of $499, respectively.

So what was I going to do for version 4? Keep them the same, double them again, or something else?

I decided to simplify.

For this upgrade, I eliminated the concept of license levels. Unsurprisingly, relatively few customers had opted for the Platinum level, though more than you might think. The cheapest level, Bronze, wasn't the most popular, though: the majority of people wanted more tests.

I thought that eliminating the levels would make it easier to people to understand the purchase. One price, unlimited tests. Deciding on the price was tricky. Over the years, the expected price of apps have gone down significantly, due to the "race to the bottom" of the iOS App Store, where most apps are free or $0.99 nowadays. Fortunately, things aren't as untenable on the Mac, with average prices more like $20 to $40, and pro apps going for around $100 (which is still less than they used to be, but not as bad). So I decided to go for the price of the most popular license level, but with the features of the top-of-the-line one: $99 to get unlimited tests.

Of course, some people would have preferred a cheaper option. And I was leaving money on the table from people willing to pay prices like $499. But I think time has supported this decision as a happy medium for everyone.

I think most people understand the realities of software development, but I feel I should mention it anyway. Software takes time to write and support. For a powerful and flexible app like Simon, a lot of time. It's also a relatively niche app, so doesn't have as huge a market as other apps. So the only way it can survive and have continued development (even if sometimes slow, as I work on other projects) is to have a sustainable price. It's always tricky to find the right price for an app, but for Simon, this feels right.

Still using Simon 3? Check out the huge number of improvements in the version 4 release notes, and when you're ready, buy an upgrade for just $49!

And if you've bought Simon 4, thank you! Especially to the long-term customers who have used it and upgraded it over the years. I've still got an ever-expanding list of feature ideas, with work on version 4.3 starting soon!

Finally, if you are using Simon, one thing that would really help is to tell others about it. Tell your co-workers, friends, post on Twitter or Facebook, etc. Helping to spread the word is much appreciated, and goes a long way to supporting the app and its ongoing development.

Caboodle 2.0b1 released

Announcing the first beta release of a major upgrade to my handy snippet keeping app, Caboodle!

Version 2 of Caboodle includes many much-requested enhancements, including the ability to open multiple documents, sync documents between Macs via Dropbox or iCloud Drive, huge performance improvements with large documents, movable custom fields, better text editing, and much more.

Here's a peek at the improved appearance — familiar yet modern:

Caboodle screenshot

Read on for the full release notes:

Multiple Caboodle Documents

  • The most popular request: Caboodle now supports multiple documents, so you can have one for work, one for personal, or organize by project, etc.
  • The documents can be saved anywhere you like.
  • Save on Dropbox or iCloud Drive to share (yes, supports editing on multiple Macs!).
  • The data is now stored in a much improved format, as a package containing standard rich text documents.
  • Opening and saving now only reads and writes the needed parts, resulting in much improved performance (no need to worry about embedded documents slowing things down anymore).
  • The version 1 data will be opened by default, and can be re-opened later via the File > Open Recent menu. Changes can be saved to a new document; the version 1 data won't be modified.

Significantly Improved Custom Fields

  • You can now drag the custom fields to reorder them, drag them to the text area, or drag text into the fields to add a field (separate the field name and value with a tab, return, or ": ").
  • Simplified the buttons to have a single Add (+) button, and modern Remove (X) buttons.
  • The sidebar and fields areas have been significantly modernized behind the scenes.
  • Increased the size of the icon well a little.
  • Now uses a new flat icon as the default for new top-level entries.
  • Removed the "Show/Hide Entries List" menu command and collapsing the entries list, since it only caused confusion.

Refined Text Area

  • Now uses a text format bar below the window toolbar, which includes font, styles, foreground and background color, alignment, lists, and more.
  • Now uses an inline find bar for searching (and replacing) text within an entry.
  • Added support for inline markup of images.

Spotlight Search

  • Caboodle now supports Spotlight for system-wide searching of entry content.
  • Searching all entries via the search field in the toolbar is now powered by Spotlight, so is faster and more efficient.

Tweaked Preferences

  • Reimplemented the auto-launch preference to work with Yosemite and later.
  • Removed the quit confirmation preference.
  • Caboodle now uses the popular Sparkle framework for app updates, so it can finally download and install updates itself.
  • Changed the Updates preferences for the Sparkle framework.
  • Added a Release Notes button to the Updates preferences, to easily display what changed.

License Stuff

  • This will be a paid upgrade. Pricing to be decided, but affordable. You can use the beta for free.
  • Fixed display of license entry date in the Licenses editor.

Modern Architecture

  • Caboodle now requires a 64-bit Mac and a minimum of OS X Yosemite (10.10).
  • Many other behind-the-scenes improvements made possible by dropping older OS versions, ancient PowerPC and 32-bit support.

Want to try Caboodle 2? Head over to the What's New page to sign up for the beta!

Time Out tip: adding sounds

A frequently asked question about Time Out 2 is how to add more sounds.

There is a FAQ answer on this, but I thought I'd expand on it as a blog topic.

Firstly, refer back to a previous blog post on accessing the sound actions in Time Out. That shows where the "Play Sound" feature has moved in version 2. It is now much more powerful than in version 1, with the ability to play sounds before, during or after a break, and even gently fade out long sounds like music. That post also includes a video demoing adding Play Sound and Fadeout Sound actions.

Time Out comes with a number of built-in sounds that you can play, plus it lists all sounds you have installed on your Mac, which includes system default ones, and any you have added to the standard sound folders.

It's worth noting that you can also have Time Out play any music from your iTunes library, too.

Find more sounds

To add more sounds, you first need to find and download them from a website.

There are many sites that offer sounds of varying length, quality, themes, etc. Some for free, some as paid offerings. Usually with previews so you can listen before downloading.

Here are a few I've found; note that I don't endorse or recommend any particular site; these are just ones I encountered in a brief search. If you're aware of or find a better site, please post in the Time Out forum to share with others.

Add the sounds

Once you have the new sounds, you can easily add them in one of the standard folders to make them available to all apps that can play sounds, or add them to the "Sounds" folder within the Time Out data folder to only make them available in Time Out.

The system sound folders you can add to are in the following paths (tip: you can paste these paths into the Finder's Go ▶ Go to Folder... command to reveal them; if the folders don't exist, you can create them):

  • /Library/Sounds — for sounds available to all users of your Mac.
  • ~/Library/Sounds — where "~" means your home folder.

(There is a third folder, at /System/Library/Sounds, but you shouldn't modify that.)

On the other hand, Time Out's sounds folder is at one of the following paths, depending on which edition of the app you have:

  • ~/Library/Group Containers/6Z7QW53WB6.com.dejal.timeout/Sounds — for the direct edition.
  • ~/Library/Group Containers/6Z7QW53WB6.com.dejal.timeout.free/Sounds — for the Mac App Store edition.

While you can use the Finder's Go to Folder... command to access those, an easier way is to choose Reveal Scripts from the Add Action drop-down menu. That will show the Scripts folder, which is adjacent to the Sounds folder. (I do want to make this even easier in the next update.)

I hope this has been helpful!

Fraud explosion

Recently I have suffered a spate of fraudulent purchases via the PayPal Store. I'm not sure why, but some scammer appears to have acquired credit card information for a number of people, all with non-US addresses so far, and is using it to buy some of my apps via PayPal.

This is of course really bad for those people; nobody likes having their credit cards compromised. But it's doubly bad for me, as the rightful owners inevitably query their credit card companies about the unexpected transactions, who in turn notify PayPal of a "chargeback", who then notify me. Since I ship virtual goods (a software license), PayPal doesn't guarantee the transactions, and thus not only does the payment get reversed, I have to eat the $20 chargeback fee, too. So each time this occurs, I lose money. That quickly adds up to hundreds of dollars.

This doesn't seem fair to me, since PayPal is supposed to be authenticating the customers via their shopping cart. But of course they don't want to accept the fee.

In an attempt to stem this hemorrhaging, I have now disabled PayPal purchases from non-US accounts, among other filters. I know that this will cause inconvenience for legitimate buyers too, for which I am sorry, though I support FastSpring and other payment options. If you attempt to buy a Dejal product and are unable to do so, please let me know.

Hopefully with these changes the scammer will give up and move on, and I'll be able to relax the restrictions a bit in due course. I want to be able to offer many ways to buy my apps, so people can use their preferred method. It's unfortunate when some criminal makes things worse for everybody.

Simon tip: Context filter

For a change of pace, I thought I'd discuss a Simon feature this time.

One of the many enhancements in Simon 4.0 was the Context filter. This is a sophisticated filter that takes the previous filter's input and match range to output some context around that filter's output text.

It includes controls to specify the maximum number of characters before and/or after the matched range, and/or a delimiter before and/or after the matched range. So for example you can show up to 50 characters, stopping at a line break.

This filter is unusual in that it requires a previous filter to be used, and that needs to be either a Block- or Find-based filter, as those are the only ones that output the needed match range information.

The Context filter uses the Input specified in the test to determine which filter's input and match variables to use: if you have two previous filters, you can make the Context filter look at the first one by choosing Filter1OutputText instead of the default FilterOutputText (which means the proceeding filter).

The match range is available in variables used by the Context filter, and can be used in your custom filters or notifiers if you wish:

  • {FilterMatchLocation}: the position of the match in the input text, e.g. the text between the Blocks, or the Find result. Note that the location is zero-based.
  • {FilterMatchLength}: The length of that match.
  • {FilterMatchEnd}: The location plus the length, for convenience.

You don't need to worry about these variables for the Context filter, though; it uses them internally.

Here's a simple example of this filter in action.

This is from a Web test that looks at the Daring Fireball site. It has a Find Required filter to look for the word "finally", then if that succeeds a Context filter to output the enclosing paragraph. To round it out, if the Find filter fails, the Override as Unchanged failure case is used, to avoid the test resulting in a failure if Gruber hasn't used the word "finally" recently.

Below the filters, you can see the Preview pane's output, which you'll notice includes the word "finally" towards the end.

Context filter screenshot

I hope this will be a useful filter for many of your tests. Simon is a powerful tool, with lots of other handy filters, services, and notifiers.

AccountsDemo: a hacky solution to the "Setting TCC failed" error accessing Twitter accounts

I recently blogged about some critical bugs in OS X that Apple hasn't fixed, including getting a "Setting TCC failed" error when trying to access Twitter accounts (and other kinds of accounts).

Again, the problem is that calling -[ACAccountStore requestAccessToAccountsWithType:options:completion:] on OS X 10.11 for a new app will ask the user for permission then always give the error "Setting TCC failed." (Reported as Radar #23114308 for any Apple people reading this.)

While this bug remains, I came across a solution in Apple's developer forums. It's a hack, and probably won't work in sandboxed apps, but does work for non-sandboxed apps.

Basically, if that error is received, we can edit the "~/Library/Accounts/Accounts3.sqlite" database directly via the sqlite3 command line tool.

I've put together an open-source demo app to show this technique, called AccountsDemo.

When the error is detected, it calls a method to send the SQL:

            [self sendSQL:[NSString stringWithFormat:@"insert into ZAUTHORIZATION (Z_ENT, Z_OPT, ZACCOUNTTYPE, ZBUNDLEID, ZGRANTEDPERMISSIONS) values (5, 1, (select Z_PK from ZACCOUNTTYPE where ZIDENTIFIER = 'com.apple.twitter'), '%@', '')", [NSBundle mainBundle].bundleIdentifier] completionHandler:^{
                NSLog(@"Workaround completed");  // log
               
                [self loadAccounts:sender];
            }];

(Sorry Swifties; I wrote the demo project a while ago for my original Radar bug report, so it's in Objective-C.)

The -sendSQL: method simply uses NSTask to execute the sqlite3 command on the database:

- (void)sendSQL:(NSString *)sql completionHandler:(void (^)(void))handler {
    // Based on code from https://forums.developer.apple.com/message/69921
    NSURL *libraryURL = [[NSFileManager defaultManager] URLForDirectory:NSLibraryDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:YES error:nil];
    NSURL *databaseURL = [libraryURL URLByAppendingPathComponent:@"Accounts/Accounts3.sqlite"];
    NSString *command = [NSString stringWithFormat:@"sqlite3 %@ \"%@\"", databaseURL.path, sql];
   
    NSTask *task = [NSTask new];
   
    task.launchPath = @"/bin/sh";
    task.arguments = @[@"-c", command];
   
    if (handler) {
        task.terminationHandler = ^(NSTask *localTask) {
            handler();
        };
    };
   
    [task launch];
}

The AccountsDemo sample project includes a button to load the Twitter accounts, a checkbox to use the above hack, and a button to remove the app from the accounts database (so you can re-try it). Try clicking the load button with the checkbox unchecked, to confirm that you get the error, then check the box and try loading again, and it should work.

You can get the project via the Dejal GitHub page.

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

One of the features of Time Out is the ability to detect natural breaks, i.e. when your Mac is idle, not being used.

In version 1, this was detected via what I call the "Event Source" mechanism, but this can be unreliable for some people, as some apps can make it look like you are using the computer, when it's just an automated activity. So in version 2 I switched to a new approach, which I call "Event Monitor". This is generally more reliable, but has one downside: it requires a manual step by you to allow it, as discussed below. It can detect mouse or trackpad movement, but to detect keyboard activity you need to authorize it. Note that Time Out doesn't log or even watch what you type, it is just detecting any key press as a sign that you're actively using your computer.

Because not everyone wants idle detection at all, or would prefer the old approach, I added a preference on the Advanced Options page: "Natural break detection method". This pop-up menu includes options to disable idle detection altogether, or switch between the two approaches.

When you first launch Time Out, the second page of the Setup Assistant includes instructions on how to authorize idle detection. It's pretty simple, though a number of steps to navigate to the right place:

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

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

(Or watch on YouTube.)

Syndicate content