Software Review
ScriptBuilder 2.0
NetObjects, Inc.
By Gordon Benett
The other day I clicked over to one of the major search engines
using Internet Explorer and got a script error. Now, my hourly compensation
isn't so high that I can realistically gripe about the fraction of a second
it took to click "No" in response to the error dialogue's query,
"Do you want to continue running scripts on this page?" But the
experience does set the stage for my evaluation of NetObjects ScriptBuilder
2.0 for Windows.
ScriptBuilder is a dedicated script editor that supports an impressive
array of client- and server-side languages, including JavaScript, JScript,
VBScript, Lotus Script, Dynamic HTML (DHTML) and current Netscape LiveWire
and Microsoft Active Server Page (ASP) extensions. Given this line-up, I was
surprised to learn that ScriptBuilder retails for a mere $99.
Upon using it, I learned the reason. ScriptBuilder smooths the mechanics
of script writing in much the same way a good text editor makes typing and
spell checking less arduous. But it does little to streamline the process
of building dynamic, interactive web pages. Its "support" of languages
other than JavaScript and VBScript is limited to a handful of canned code,
and ScriptBuilder offers neither visual programming nor debugging. Don't expect
JavaScript RAD.
Instead, ScriptBuilder does for scripting roughly what Allaire HomeSite 3.1
does for writing HTML. It provides a clean, multi-pane environment that strongly
resembles HomeSite's, as shown below.

Zoom
to 800x600 (22k)
Laundry list of supported languages aside, ScriptBuilder's value proposition
boils down to four features:
- Color-coding of JavaScript, VBScript and user-defined tags
- Document Map view showing JavaScript functions and VBScript subroutines
in outline format
- Script Inspector that reports incompatibilities with specific versions
of Netscape or Microsoft browsers
- Extensive links to reference material hosted at third-party sites,
including Microsoft's and Netscape's.
Let's take these each in turn.
Syntax highlighting makes source code easier to read, and is pretty
much a given in any modern programming tool. ScriptBuilder lets you customize
colors or turn off highlighting altogether. They haven't perfected the algorithm
yet; keywords such as 'this' or 'and' that appear inside comments get highlighted.
But a couple of point releases will fix that. I recall that early versions
of HomeSite had similar problems color-coding HTML.
ScriptBuilder's Document Map displays the structure of dynamic documents,
which is handy. Functions and subroutines can readily be navigated on the
collapsible outline, which moves the source window to the relevant code. But
ScriptBuilder stops there, short of delivering true object-oriented value.
Unlike full-strength programming tools like Symantec Visual
Café for Java (which also sells for $99), ScriptBuilder doesn't
let you control objects with property sheets. My fantasy scripting tool would
encourage you to right-click on HTML objects in the Document Map, then
assign properties and event handlers in a floating property window. By contrast,
ScriptBuilder's passive outline of functions and subroutines feels like a
throwback to structured analysis and design.
The next feature, Script Inspector, is well implemented and will save
many a scripter from alienating portions of the viewing audience. I first
experienced browser compatibility analysis in Macromedia's WYSIWYG authoring
tool, Dreamweaver, which lets you assign scripted behaviors
to browser objects. Dreamweaver analyzes pages against a user-specified set
of browsers, producing a status report that lists incompatibilities.
ScriptBuilder's Inspector implementation is similar, but the results it generates
are more useful for developers. As shown below, a results pane appears below
the code.

Zoom
to 800x600 (28k)
Clicking on a line in the inspection results takes you to the corresponding
line in your code. This is as it should be, but it's not clear what a developer
is supposed to do when incompatibilities surface. In general, there are no
workarounds for sexy DHTML effects. You either write for Internet Explorer
4.0 and the hindmost be damned, or you make sacrifices in the name of browser
diversity. ScriptBuilder's Inspector and sample files, which work only when
viewed in IE 4.0, make this painfully clear.
The final significant feature is ScriptBuilder's reference library,
a hypertext help system called InfoBrowser. By accessing third-party language
information at its source - Netscape for JavaScript, Microsoft for VBScript
and Lotus for Lotus Script - InfoBrowser benefits both NetObjects (keeping
documentation costs low) and users (ensuring that reference data is accurate
and up-to-date). Additional links to a panoply of reference sites round out
the offering.
The rich information accessible by ScriptBuilder accounts for much of the
product's value. But online Help has a downside: you need to be on line. This
could be problematic for developers planning to finish their code on the cross-country
flight to the Big Presentation. Until wireless connectivity erases the need
for physical cables, online Help will put a leash on some forms of productivity.
Summary
Scripting is not a new concept. Languages such as
Perl and Tcl have been around since the mid-1980s and are enjoying
a resurgence on the Web as server-side scripting languages. But there is an
important difference between these success stories and the newly minted
languages ScriptBuilder supports.
Perl and Tcl are beautifully standardized across platforms as diverse as
the Macintosh, Windows, every known Unix, VMS and mainframe MVS. By contrast
JavaScript and VBScript don't work properly even across proximate versions
of the same platform. Remember my experience with the search engine? No amount
of technical elegance in an authoring tool can change the fact that client-side
scripting is in bad shape.
NetObjects ScriptBuilder helps a little. It would help more if it added
property sheets, a debugger and a serious library of canned code. Even
then, without greater consensus between language vendors, ScriptBuilder
will be a tool in search of a technology.
NetObjects, Inc.
602 Galveston Drive
Redwood City, CA 94063
Phone: 650-482-3200
Fax: 650-562-0298