ClickClock: The Penultimate Touch

Rob Cozens rcozens at
Tue Nov 19 12:51:22 CST 2002

Hi All,

Isn't it funny how sometimes one needs to stop thinking about a 
design issue in order to receive the inspiration to solve it?

For years as I've used my HyperCard ClickClock and recently as I 
converted it to Run Rev, I've been nagged by its lack of 
interactivity.  It's hard to place twelve discreet hot spots on a 
clock face the size of a Mac icon and have the user hit the right 
spot every time.

Yesterday, after posting the Library update notice, I thought "well, 
that puppy has been put to rest for the foreseeable future."  And I 
left to see how the world beyond my office had changed in the several 
days since I went out in it.

I don't think it was more than two hours of looking at Mendocino & 
Lake (California) counties turning green after the first rain since 
April before I was aware of the nag...there must be a way to enhance 
ClickClock interactivity:

Replace hot spots with buttons?
Make hot spots transparent and change their color when the mouse enters/leaves?
Create a custom cursor set and change cursors when the mouse 
enters/leaves a hot spot?

And then, EUREKA!: Change the current frame to the one that would be 
selected if the user clicked the mouse at that moment.  A few changes 
to existing handlers, plus a mouseWithin handler, and the user can 
see the clock hand track the mouse as it moves within the image.

So the file bundles at
and ClickClock.rev.sgz have been updated with a new version that does 
just that.

I labeled this the penultimate touch because ideally the image should 
be resizeable and scripted so the hotspots are recalculated when the 
image is resized as well as when it is moved.

I also changed handlers so the clickClockTime message is sent to the 
image itself, which passes it up the message chain.  The original 
version sent the message to the card, which meant a clickClockTime 
handler could not reside in a group that included the image.

And while I was at it I eliminated a couple of nags in SDB Utilities:

* Compress, expand, and convert file menuPicks now offer the user the 
option to process another file rather than forcing the user to select 
the menuItem once for each file processed.

* Compress, expand, and convert file remember the the paths to the 
folders the last file was read from and written to.  If the user 
processes multiple files, ask/answer file dialogs default to the 
previous source or destination folder.

SDB Utilities.rev.sgz and the bundled Library files include this uodate.


Rob Cozens
CCW, Serendipity Software Company

"And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee."

from "The Triple Foole" by John Donne (1572-1631)

More information about the use-livecode mailing list