Labels and labeled Fields

Rob Cozens rcozens at pon.net
Sat Feb 7 11:36:18 EST 2004


>why would you want to interact with a label?

Thanks for asking, Eric.

For the first 15 years of my programming career, the programming 
environments I worked in only allowed me white, green, or amber ASCII 
characters on a black background to "paint" an input screen.  The 
programming syntax allowed me to manipulate numbers & text only.

Ever since I started working with HyperCard, one primary area of 
personal exploration is how to include graphics, sound, color, 
animation, etc. to enrich the user interface and engage users on more 
sensory levels.  Over the years I have developed a strong preference 
for point-&-click, button-driven interfaces...in fact most, if not 
all, pull-down menus in Serendipity Library's component stacks are my 
concession to the prevalent design mode and are there for developers 
who are not comfortable with my approach.

In my own application design, field input is strictly controlled a la 
traditional data entry programs:

* Only one field in a window is unlocked & open for input at any one time.

* While a field is open for input, each keystroke is filtered against 
the field specification in the Data Dictionary.

* On closeField the input is validated, optionally reformatted (eg: 
add thousands separator{s} and/or currency symbol), and locked.

* At closeField, the next field to be opened is determined (sometimes 
based on what was enter in the field just closed), unlocked, and 
selected for the user.

So when adding a new record, each field is simply opened & closed in turn.

But what to do if the user wants to edit an existing record?  My 
solution is to enable the title (label) buttons to open their data 
field on mouseUp.  At this point you also need to know that another 
mainstay of my design philosophy is a multi-line prompt/help field at 
the bottom of the window which, among other things, displays a 
description of the function of each enabled button when the mouse is 
over the button...kind of like a multi-line tool tip field that 
displays tips in a fixed location instead of having them pop up where 
ever.

Each title button can have five different icons.  I create the same 
icon in color, b&w, and gray.  When the icon is gray, the user knows 
the button is disabled; when the button is b&w, the user knows it is 
enabled...and an enabled button will turn to color when it is armed 
on mouseEnter.

Actually, I play may other tricks with button icons to increase user feedback.

If this still leaves you wondering, Eric, a picture is worth 1 K 
words: the best example in the current Serendipity Library download 
is the Data Dictionary window in the database Edit menu (which is 
moved from the db menu to the SDB Tools menu in the next release).
-- 

Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.net/who.htm

"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