FastScripts 2.3 Beta Release

September 3rd, 2006

I imagine FastScripts users might be feeling a little neglected, what with all the attention I’ve been giving FlexTime over the past several months. But worry not, I’ve been collecting improvements for FastScripts all along, and am nearly ready to release a 2.3 version of the app.

It’s actually pretty close to ready for shipping. But it would be nice to have a little 3rd party testing, because quite a bit has changed. Click here to download the 2.3b2 release.

The most “scary to me” parts that have changed are all infrastructure-level. At the user feature level there were a bunch of minor enhancements and these more substantial changes:

  • Grayscale Menu Icon. For years a vocal minority has copmlained about the colorful FastScripts icon being both distracting and clashing with the appearance of Apple’s icons. They finally convinced me to agree with them. I know some people will miss the old icon, so I’ve left it in as a preference choice. The grayscale icon will probably see a few minor tweaks before 2.3 ships, so let me know what you think of it.
  • Modifier-free Shortcuts. Up until now FastScripts has only supported keyboard shortcuts where some modifier key is held down (except for the special case of Function Keys). I was hesitant to add support for plain keystrokes, because it’s easy to imagine users getting themselves into trouble. But there are a few examples where overriding a bare keystroke (usually in an application-specific context) is a useful thing to do. Just beware that you won’t be able to type that keystroke into any text after you’ve set the shortcut. FastScripts will warn you when you attempt to set such a shortcut, so don’t worry too much.
  • Preference Window Overhaul. Well, maybe overhaul is too strong, but things have been shaken up. I’ve added a new “General” tab to house a new UI for controlling whether FastScripts is in your Login Items or not. That feature is long overdue. I’ve also moved some other preferences into that pane, where they seem better suited.

I’m really looking forward to hearing your impressions. Please let me know especially if you run into any problems.

Subservient Blips

September 2nd, 2006

I was pleased by the kind of “cheezy space film” mood David Van Brink’s pointless applet put me in, so I got the wild idea of creating a Mac OS X screen saver out of it.

Since I don’t do Java and am not sure how difficult it would be to use it directly in a screen saver, I decided to do a more-or-less verbatim translation to Objective-C Cocoa. This turned out not to be too much work, and the process I adopted was to paste David’s Java code into my Cocoa source file, #ifdef’d out. I then proceeded to bite of chunks of the code and translate them into equivalent Cocoa. This was motivational because I got visual feedback on my progress, even if it wasn’t too pretty at first:

Some of the bugs were surprisingly charming:




Though not as charming as the final product, with most if not all of the bugs ironed out.

Download Subservient Blips 1.0
Download Source Code (Requires Xcode)

In David’s applet you can add new blips by clicking the window, but in the screensaver that would just stop the screensaver from running. Thanks to Mark Dalrymple for pointing out that I can still grab keystrokes without waking up. Press “b” to add a new blip, and “i” to toggle the stats display.

If you like the screen saver, donate some cash and I’ll split the proceeds with David.

Update: Well, I just can’t put this thing down. I decided to play with the background color and I think this looks just amazing with a medium gray backdrop. I’ve decided to update the binary download with this setting.

If you don’t like it, well, build your own!

FlexTime 1.0.3

September 1st, 2006

I released FlexTime 1.0.3 today, the most substantial “bug fix” update yet. This version fixes a few teeny bugs, expands scripting support to include “time remaining” and “elapsed time” for activities, and extends the “shorthand input” to the duration text box. So now you can just type “30s” or “15m” for instance into the duration box for 30 seconds and 15 minutes respectively.

This release also contains the first non-English localization of FlexTime. Alexander Repty volunteered to do a complete translation to German, including the help files. Thanks, Alexander! I’m really excited about this and am now looking forward to adding support for other languages.

The support for scripted access to elapsed time for activities was motivated by this forum post, where a user was looking for a good way to present “motivational encouragement.” I’ve included in the examples folder a scripted cue that demonstrates a good use for this. Let’s take a ridciulously arbitrary example. Say I’ve scheduled my Listerine gargling into a FlexTime routine, and want to be regularly prompted with info about my progress, I just set the intervals cue to “Run Script” and choose the Encouragement Cue script file:

The script is written such that it will show text for 2 seconds each time it is run, containing the elapsed and remaining times:

Pretty nifty.

FlexTime + Growl == No Procrastination

August 24th, 2006

Chanpory Rith of LiveClever has come up with an… umm… clever way of hooking up FlexTime’s scripted cues to Growl for, as he puts it, a “gentler way to end procrastination.”

I love to see these creative applications of FlexTime’s scriptable interfaces, and hope to see more as people work through the possibilities.