We have had numerous requests for tools to support test generating graphical buttons for web pages. The whiteboard tools have only been minimally useful for this task for several reasons:
- Web rendering of whiteboard content has been done in JPEG format, which does not support transparency. We originally used GIF format (which does support transparency), but GIF's 256-color limitation was a problem for drawings that included images. Copyright issues on GIF are also a problem. Although it is not yet available as an option for the whiteboard, support (in
cork.impl.servlet.CORKServlet) for encoding components in PNG format with transparency was added in February 2003.
- NOTE: Transparency along with antialiasing is still a problem, since antialiasing results in a "halo" around the edges of transparent objects.
- Creating multiple buttons on the whiteboard is tedious
- Differences in text rendering across different platforms make alignment difficult. (Authoring would be under Windows or OSX, but rendering would be done under Linux.)
- Lots of potentially ugly html has to be written to make whiteboard images look nice as buttons (e.g., borders have to be disabled and HREF tags must be used for linking). If rollover images are used then the html gets even uglier.
Ideally, a button editor tool would support:
- Specification of a background image, either from another object in the bridge dataspace or selected from a set of standard options. (e.g., rectangles and ovals with different colors and rendering patterns/gradients/etc...)
- Specification of image size should also be possible, particularly for built-in renderings.
- Specification of font, size, style, and color for button text
- Specification of rollover behavior: alternate image and/or alternate text color
- List of button names, links, and (optionally) mouseover/status text.
- Specification of orientation:
- Vertical, with buttons likely layed out in a table or with line breaks between them. A table would probably make more sense as it would allow for configurable padding.
- "Strict" horizontal, with buttons layed out in a table
- "Loose" horizontal, with no explicit breaks between buttons. This would allow buttons to wrap when appropriate.
A list of buttons is one of several possible ways that one might want to render a TOC-ish set of links. A full set of options would include:
- Horizontal button rows
- Horizontal tables of links
- Vertical button rows
- Vertical lists of links (no bullets or numbers)
- Bulleted lists
- Numbered lists
- Popup menus (with javascript and/or "go" button)
- RSS data or other XML renderings, e.g., for web logs.
Options for set definitions include:
- All objects in the directory
- All objects in the directory of a given object
- All objects in the directory that render to a given mime type
- A manually-chosen subset of items
- All objects except a manually-chosen subset of items
|