November 92 - Software Review - Ad Lib 1.0b4
Software Review - Ad Lib 1.0b4
Jeffrey J. Barbose
First there was text-based (Rez) creation of 'view' resources for MacApp
development. Then came ViewEdit: graphical creation of views. Simple 'view' format,
simple tool. Next was IcePick, which pushed the state of the art of graphical editing
systems, exploiting every nook and cranny of the MacApp 2.0 'view' definition with
style, finesse and power. When MacApp 3.0 and the new robust and highly functional
'View' format came along, IcePick dropped the ball, to this day still not providing for
direct creation of 3.0 views. The kludgy mechanisms provided by Apple to maintain
compatibility with 2.0-view formats, coupled with the fact that use of the new view
format provided substantial conceptual and productivity gains forced a reticent retreat
to buggy, awkward yet 3.0-view-supporting ViewEdit.
Prayers for an alternative to ViewEdit for editing 3.0-views ostensibly had been
answered with the introduction of Ad Lib. Arguably, it exploits all the goodies
associated with 3.0 'View's, but with a confusing menu bar, scattered access to view
attributes and some rough edges on the data entry mechanisms, it's certainly no
panacea for view-editing woes. Put another way, it represents one step up and two
steps back in MacApp view editing.
The Menu Bar
One of Ad Lib's more confusing qualities is the layout of its menus, which will be
described in detail. But first, a cursory look:
• File – in addition to the standard HIG-compliant menu items, a
Preferences item is available. (Figure 1)
• Edit – includes items for clipboard-base manipulation of views as well as
several view-specific items for creating, opening and accessing information
in views.
• View – not to be confused with a menu that contains items for 'View'
manipulation, this menu rather provides for customization of behavior of Ad
Lib itself with respect to how the 'View's being built are displayed.
• Object – this menu provides for the manipulation of 'View's with respect
to their hierarchy, inheritance, placement and attachments.
• Window – provides access to Ad Lib's floating windoids (see Figure 2),
and also contains the list of all currently open windows.
As you can see, direct 'View' manipulation is spread out over three of Ad Lib's five
menus, requiring the user to memorize their locations. Some reorganization is in
order here.
The Floating Windows
Ad Lib uses three separate floating windows (or windoids) to provide special
functionality (see Figure 2):
• Object Palette – a very well done-if non-standard-presentation of all
possible MacApp standard view types. Each view type is represented by an icon
well (much like Double Helix™'s icon wells or the tab-wells found in many
word-processors' rulers). New views are added by dragging the icon for the
desired view type into the view-in-progress, where they can subsequently be
placed and resized.
• Attributes – contains most view-specific attributes. Another point of
confusion arises here: why not put all attributes within this windoid? Instead
of having such access to all view-specific attributes, the user must select the
Class Hierarchy item from the Object Menu, which produces a hierarchical
menu specific to the selected 'View's inheritance. (There is, however, an
interesting and very helpful behavior having to do with en masse view editing
that will be explained later.)
• Information – in the unzoomed configuration, it provides only the
coordinates of the current mouse position, expressed relative to the currently
selected view. When zoomed out (which should be the default), it also provides
a magnifying-glass or 'fat-bits' view in the cursor's neighborhood. This is
invaluable for lining up view boundaries and for resolving aesthetic
anomalies.
The Cool Stuff
Ad Lib significantly extends the boundaries of resource-creation tools, both in terms
of bridging the gap between static resource editor and dynamic environment, and