July 01, 1999
9th Annual Jolt and Productivity Awards
Roger Smith
July 1999: Features: 9th Annual Jolt and Productivity Awards
Its fitting that the Jolt deliberations took place this year during the Academy Awards, since for many corporate developers our highly-coveted Jolt Award ranks right up there with the Oscars and the Golden Globes.
The competing love and war themes in the Oscar nominations this year between the popular romantic comedy Shakespeare in Love and the more serious war dramas paralleled a similar split in this years Jolt nominations. Repelled no doubt by browser wars and the war room marketshare mentality of many development tool vendors, our judges were in the mood to tell the industry to lighten up; that there is a more natural, open, fun, and productive way to develop software, typified by the open source software movement.
Several tools that garnered Jolt Awards this year adhered to the open source software principle of posting source codethe nuts and bolts of most software programson the Internet, so that anyone could freely study, tinker with, and improve it. Red Hat Software, a Productivity Award winner last year, took home the Jolt this year for its distribution of Red Hat Linux, an open source, UNIX-like operating system. Corels WordPerfect for Linux, a primary business application for the Linux platform, made the short list of Jolt finalists. The release of the Communicator/Mozilla browser source code from Netscape Communications earned a Productivity Award this year for giving the open source movement a huge dose of credibility. (To get a real feel for open source software, read Eric Raymonds manifesto The Cathedral and the Bazaar at www.tuxedo.org/~esr/writings/cathedral-bazaar).
Although naysayers accuse open source software of being an anarchic process that can result in millions of copies of dubious-quality software, this years Utility and Deployment Tools Jolt Award indicates how focused and consistent the judges felt an open source development process could be. In an unusual tie, the judges gave one of two Jolt Awards in this category to the Apache Web Server from the Apache Group, currently used by more than 50% of web servers. The fact that Apache ended up with the same number of votes as one of the judges perennial favorites, Compuware NuMegas DevPartner Studio, is high praise indeed.
|
The Jolt Categories
|
|
Vendors, judges, and readers nominated a record 308 products for Jolts this year. From this group, the judges selected 40 finalists in all product categories and evaluated these products to select our winners. The Jolt Award-winning products all made the difficult task of developing corporate software easier, faster, more efficient, or more precise. As such, they jolted the industry with their significance and brought a jolt of productivity to software development managers and their teams.
Software Development honors products in six categories: languages and development environments; design and management tools; utilities and deployment tools; books and computer-based training; libraries, frameworks, and components; and special/other (for products that defy the preceding categories). One product in each category receives the Jolt Award, while the three runners up receive the Software Development Productivity Award.
|
|
The Judges
|
|
The Software Development Jolt and Productivity Awards wouldnt take place each year
without our well-respected panel of judges, drawn from the contributors of
Software Development magazine. In alphabetical order, the 1999 judges were:
|
Scott Ambler Contributing Editor
|
|
Andy Barnhart Contributing Editor
|
|
Hugh Bawtree Writer
|
|
Andrew Binstock Reader Review Board
|
|
Dana Cline Product Reviewer
|
|
Bob DelRossi Writer
|
|
Barbara Hanscome Editor in Chief
|
|
Stan Kelly-Bootle Writer
|
|
Warren Keuffel Senior Contributing Editor
|
|
Chris Minnick Contributing Editor
|
|
Larry OBrien Contributing Editor
|
|
Roland Racko Writer
|
|
Guy Scharf Writer
|
|
Roger Smith Technical Editor
|
|
Karl Wiegers Writer
|
|
Ted Yezek Reader Review Board
|
|
Alan Zeichick Contributing Editor
|
|
|
The Jolt Hall of Fame
|
|
Products that consistently show serious content improvement, release after release, are contenders for our Jolt Hall of Fame Award. Unlike the other award categories, the Jolt Hall of Fame Award is reserved for products that have received Jolts so many times in the past that we feel special recognition is due. Unlike last year when Microsofts Visual Basic was inducted after a long and furious debate, the judges chose this years Hall of Fame Award winner, Visio from Visio Corp., much more easily. In recognizing both the importance of a design tool like Visio and the open source software movement, its conceivable our 10th Annual Jolt Awards next spring may need a new category for open design software. Stay tuned.
Roger Smith
|
Languages and Development Environments
Jolt Award
Java 2 (JDK 1.2)
Sun Microsystems
Java has continued to jolt our industry since its public debut in May 1995. Java proponents
have made some incredibly large claims, and for the most part, Java has delivered on them.
Impressive at first, Javas initial support for cross-platform portability and secure
applets that you could download across the Internet was more than enough to justify adopting it,
but with Java 2 (née JDK 1.2) the environment has become even more impressive.
One of Javas biggest weaknesses from the start was its approach to user interface
development. The abstract windowing toolkit (AWT), although designed to support cross-platform
portability, was minimal at best and clunky at worst. But with the new Java Foundation Classes
(JFC), also known as Swing, Java 2 is truly a platform you can use to develop robust application
software. Java 2s continued support for Java Beans provides developers with a standard
approach for developing plug-and-play software components that they can reuse in many applications.
Java 2 isnt about bashing Microsoft (thats just gravy), it isnt about
bashing C++ (more gravy), and it isnt about replacing legacy technology that has outlasted
its usefulness (Sun really should have called the language Gravy). Java 2 is a proven
development language that lets you build software with all the qualities your organization
demands: software that is easy to maintain and enhance; that is robust and easy to use; that
you can operate on a variety of platforms; that you can easily port to new platforms as they
evolve and change over time; and most important, software that stands the test of time. Java 2
is more than just a programming language, it is a key enabler for software engineering.
Scott Ambler
Productivity Awards
JBuilder
Inprise Corp.
Inprises recent tool releases made a solid commitment to the CORBA standard,
and the latest JBuilder release is a prime example. Besides strong CORBA support,
this RAD Java development environment also sports a GUI that feels a lot like a browser
and provides outstanding functionality for creating user interfaces and components, editing
and debugging source code, running applications, and reading online help. It includes
many useful beans including JFC/Swing and dbSwing JavaBean components that let you be
productive right away. JBuilder is an excellent choice for creating pure Java applications.
Andy Barnhart
VisualAge for Java
IBM Corp.
IBMs VisualAge for Java is the leader in the new breed of sophisticated, team-oriented
Java IDEs aimed at enterprise development. On large Java projects, using just one of the many
great visual Java environments, such as Visual Café, to quickly drag and drop Java components
into working applets, is not enough. VisualAge for Java provides the highly visual, component-based
development environment and easy enterprise data access that Java developers expect, along with
team development features such as a repository and a project management interface. The hardware
requirements are steep, but this product isnt designed for the weekend hackerVisualAge
for Java is the tool for teams that are serious about server- and client-side Java development.
Chris Minnick
Visual Café
Symantec Corp.
Visual Café has always been my first choice as a Java development environment,
and the latest version continues to impress me. The code generation wizards save even
seasoned veterans substantial time, while providing an excellent way for new developers
to quickly create functionality and learn the language. The development environment makes
Windows developers feel right at home with outstanding database support and a first-rate
selection of components. This is an excellent RAD tool for building applets and applications,
with support for Wintel binaries as well as Java classes for deployment.
Andy Barnhart
Back to awards list
Utilities and Deployment Tools
Jolt Award
Apache Web Server
The Apache Group
By taking on Microsofts Internet Information Server and Netscapes Enterprise
Serverand, actually winningthe Apache Project demonstrated that billion-dollar
software giants cant necessarily develop a better product than a small number of
enthusiastic programmers. And by being an extensible, yet very stable HTTP server, Apache
has inspired additional products, ranging from the commercially available Red Hats
Secure Web Server, a supported version of Apache with built-in encryption, to any number
of customized versions and add-ins developed for in-house usage.
In other words, Apache
has become more than just a server applicationits become a platform. Think of
itApache, an open source platform, running on Linux, an open source operating system,
running on standard high-volume (for example, Intel x86-based) hardware. Cant get much
more open than that!
Where it countsrunning HTTP pages for weeks on end, without a
hiccupApache has what it takes to compete with the biggest commercial packages. And if
that hasnt jolted the industry, nothing can.
Alan Zeichick
AND
DevPartner Studio
Compuware NuMega
DevPartner Studio can help you produce better application code without requiring you to change
the way you work (much). You just add a step or two that pays off in more time saved than spent.
DevPartner helps you locate and eliminate problems in your codeit checks Visual Basic code
for Year 2000 problems, version specific bugs or behaviors, potential performance problems, or
standard compliance. It can also find run-time errorspassing BoundsChecker testing has
long been a standard of quality that all Windows C++ applications should pass before release.
More recent, SmartCheck has provided the same functionality for Visual Basic.
DevPartner
Studio includes about a dozen applications. Beyond what I have mentioned here, it also includes
one of the best low-level debuggers for Windows. I consider DevPartner Studio a
must have if you want to produce high-quality Windows applications.
Andy Barnhart
Productivity Awards
InstallShield Professional
InstallShield Software
InstallShield makes preparing for deployment of a Windows application easy. You merely need
to specify the requirements for a successful installation as granular as you like: baseline
software requirements, preferred directories, dependencies, optional components, and InstallShield
generates the installation scripts and provides a GUI. It even contains tools for deinstallation,
including run-time change logging and the deinstallation interface. InstallShield doesnt
take all the work out of deploymentyou still have to script and test. But, the products
price more than offsets the time and expertise needed to develop a bulletproof deployment process.
Alan Zeichick
Communicator/Mozilla Open Source Code
Netscape Communications
By releasing the source code for much of its browser technology, Netscape became
the largest and most visible company to embrace the open source philosophy. Sure,
it didnt invent the concept, but by ostensibly giving away one of its crown
jewels, it did more than resuscitate the browser wars. It provided a way for outside
developers to feel like part of the Netscape teamsomething closed source code
can never do. Further, it provided an invaluable learning tool for many programmers,
who could now examine the Mozilla source to learn how a browsers myriad components
function. For the educational aspects, if for nothing else, Netscape aided the productivity
for the software development community.Alan Zeichick
HomeSite
Allaire Corp.
In the beginning, there were no HTML editors. Then, there were dozens. As time went by,
more and more web professionals turned to HomeSite. When other web editors were little
more than Notepad with a tag toolbar, HomeSite quickly incorporated user feedback to
build exactly the editor that web designers wanted. The edit window is fast and uses
distinct color coding for HTML, cascading style sheets, JavaScript, VBScript, and Perl.
You can easily customize and enhance HomeSite using wizards and tag editors built with
the Visual Tools Markup Language.Dana Cline
Back to awards list
Books and Computer-Based Training
Jolt Award
Component SoftwareBeyond Object-Oriented Programming
by Clemens Szyperski
published by Addison Wesley
Objects are tired, components are wired. Whether we like it or not, in most situations
object-oriented programming has not succeeded in fostering code reuse, except in the most
limited way. The trend toward reusable software components tries to address that problem,
by defining functional interfaces between objects that make sure that a component will be
reused than would, say, an object class.
But as with all new buzzwords, components represent a steep learning curve. The quickest and
most painless way to climb Component Hill is by reading Clemens Szyperskis Component
Software: Beyond Object-Oriented Programming. The book is very readable, yet leaves
no stones unturned as Szyperski presents a thorough view of why component-based development
is the best hope for handling increasingly complex development projects.
Component Software provides a solid theoretical underpinning and then becomes quite
practical, discussing the current instantiations of the Object Management Groups CORBA
and OMA, Microsofts DCOM, OLE, and ActiveX, and Suns Java, and JavaBeans approaches
to component technology.
Ten years from now, Component Software will be considered
the essential encapsulation of the field. Although no new ground was broken, Szyperski pulled
component concepts together and packaged them in a digestible format thatll give programmers
and development managers an introduction to the topic, as well as a standard vocabulary for
discussing the component revolution. If youre looking for one definitive resource to
get up to speed quickly on component technologies, this is it.Alan Zeichick
Productivity Awards
AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis
by William Brown, Raphael Malveau, Hays McCormick, and Thomas Mowbray
published by John Wiley and Sons
Do you learn more from studying successes or failures? The theory behind antipatterns
is that the patterns of failure are as clearly definable and repeatable as patterns of
success. Once you can identify the antipatterns in your software development project, you
can use well-understood best practices to prevent them. Theres no doubt that
AntiPatterns is worth reading and discussing by all development team members.
Alan Zeichick
Software Architecture in Practice
by Len Bass, Paul Clements, Rick Kazman, and Ken Bass
published by Addison Wesley Longman
There are people who say theyve done software architecture and there are the people
who actually have, and these authors definitely are successful software architects.
The authors real-world experience comes through in this well-written text, and
although it is 452 pages, I can safely say that once you pick it up youll have
difficulty putting it down. The book promotes several key philosophies that lead to success:
software architecture should be guided by your organizations needs; software
architecture is key to your organizations success; and software architecture is both
a project-level and a cross-project concern. If you are serious about software development,
then this book is a must read.Scott Ambler
Thinking in Java
by Bruce Eckel
published by Prentice Hall
Bruce Eckel does it again! Three years ago his Thinking in C++ won the Jolt Award
in the book category. Now, applying the same exciting expository methods and skills to Java,
Eckel richly deserves a Jolt Productivity Award in a highly contested category. Of the billions
of Java texts now available, this is my choice for the Thinker, and a welcome blow
to those annoying Dummies titles. Seeking one phrase to sum up the many merits of
Eckels style: a patient, honest, reader-respecting optimism.Stan Kelly-Bootle
Back to awards list
Design and Management Tools
Jolt Award
Together/J
Object International
Together/J is an excellent modeling CASE tool for Java developers. Its written in Javaa
key factor behind its ability to support the needs of real-world Java developers. The fact that
Peter Coad, an object guru, has driven Together/Js development explains why it also meets
the needs of real-world object modelers. Its support for language-specific features, such as inner
classes and Java Beans, puts it miles ahead of other CASE tools that merely support the Java-language
syntax.
One of Together/Js strengths is its support for round-trip engineeringto both generate
and reverse-engineer Java code. Many other CASE tools claim to do this, but Together/J shows them
how its really done. While you model your classes, you can watch Together/J write the source
code for you, creating fields and operations on the fly and inserting appropriate Javadoc comments
that promote the reverse-engineering of code later. The comments are straightforwardunlike
the secret codes favored by other toolswhich you can even write yourself. Further, its
easy to import existing Java source code into your Together/J models. In short, round-trip
engineering actually works.
Together/J 3.0s support for key UML 1.3 diagrams (class,
use case, sequence, collaboration, state, component, deployment, and business process), patterns,
and Java-specific language features make it a valuable addition to your Java development toolset.
In fact, for those of you still trying to convince senior managers that you can use Java to develop
mission-critical applications, you should show them Together/J as an example of a complex
application written in Java. The proof is in the pudding.Scott Ambler
Productivity Awards
Caliber-RM
Technology Builders Inc.
Complex projects demand sophisticated requirements management, and Caliber-RM is there to help.
It leads commercial requirements management tools in usability, using an Explorer-like display
to access a hierarchical requirements tree. Caliber-RM lets you define a variety of attributes
about each requirement, define and manage traceability links among requirements and other system
elements, and manage versions and changes to requirements. Access control mechanisms, threaded
discussions, and e-mails of requirements changes keep your team members communicating about
requirements issues. An extensible architecture that connects Caliber-RM to other development
tools gives it a solid future growth path.Karl Wiegers
ESTIMATE Professional
Software Productivity Centre
Estimate Professional brings data-based project estimation into a price range thats
accessible to all software developers. Use a wizard to define some of your projects
characteristics, and Estimate Professional will display a range of planning options and an
optimum balance of effort and schedule. What-if scenarios let you adjust the estimated size
or other parameters to see a new range of planning options. Estimate Professional combines
algorithms derived from many different projects with statistical simulation to generate a
range of estimates with different probabilities for a project. Use these estimated outcomes
to stay out of the impossible region and plan your project for success.
Karl Wiegers
Rational Rose
Rational Software
As the pace of development accelerates, Rational Rose (the industry standard modeling tool
from the inventors of the Unified Modeling Language) is improving communication and streamlining
design decisions by giving analysts, architects, and software engineering teams a new, visual
vocabulary. Depending on your background, the UML blueprint language may not be the
easiest language to learn, but it offers a great improvement in mapping business processes to a
more understandable software architecture. For developers working in heterogeneous environments,
the newest version of Rose offers better support for the CORBA object bus, including an improved
Interface Definition Language (IDL) and UML mapping that simplifies reverse-engineering of IDL.
Roger Smith
Back to awards list
Libraries, Frameworks, and Components
Jolt Award
Voyager Core Technology
ObjectSpace Inc.
Voyager is a distributed programming mechanisms library for Java that you should be using
to develop distributed applications. If you are not currently using Java, Voyager might
convince you to switch languages. Its also a good tool to learn distributed programming
without getting into the gritty details of communication programming. You will learn not just
object-oriented but distributed object-oriented programming. It currently supports CORBA
communication, including an Object Request Broker, and Javas Remote Method Invocation
(RMI). ObjectSpace promises to support DCOM, Enterprise Java Beans, and Jini soon.
Voyager
takes care of your programs communications by letting you quickly convert an existing
Java program into a distributed program. First, set up a virtual machine on each machine you
want to use by executing a single command on each machines command line, then change your
Java new statements to Voyager Factory.create() statements that specify which virtual machine
to run on. Now run your program and watch Voyager take care of all the communications.
Voyager
really shines when it comes to sophisticated distributed applications that need to grow, shrink,
and evolve over time, with little or no downtime. Voyager supplies multicasting and
publish/subscribe mechanisms for communicating with an objects group, whose membership
is ever-changing. Voyagers mobile agent and dynamic aggregation mechanisms are
invaluable for performance tuning and for modifying an objects behavior during run time.
Together all these mechanisms make it possible for you to spend more time designing and tuning
your application and less time debugging those low-level, difficult communication bugs.
Voyager has spread quickly and is now being used by thousands of developers for both Internet
and intranet applications. You can download the freeware version from
www.objectspace.com
or purchase a fully supported commercial version. It will change the way you think
about distributed programming!
Hugh Bawtree
Productivity Awards
MapX
MapInfo Software
Business mappingdisplaying, querying, and analyzing business data dynamically
using geographic information system (GIS) toolsis powerful technology that can help
business analysts understand the underlying patterns, trends, and geographic correlation
in apparently unconnected data. Unlike other GIS solutions that you may have difficulty
justifying from a price and performance standpoint, MapX lets you quickly and easily embed
mapping power into software applications using standard programming languages. Once you
customize the MapInfo MapX object, you can reuse and deploy the code across multiple applications,
including Microsoft Excel. MapInfo is the developer of the Microsoft Map in Excel, which also uses
MapInfos map file type.Roger Smith
Objective Toolkit Pro
Rogue Wave/Stingray
The Microsoft Foundation Classes (MFC) provide a nice framework for creating C++ applications
for Windows, but a number of advanced features lack support. Stingray Softwares Objective
Toolkit helps to address many of these deficiencies. It sits atop MFC and extends it to allow
interfaces, such as docking and floating windows (similar to Visual Studios look and feel),
and toolbars that users can customize. The classes are easy to add to existing applications,
and easy to support in new ones. Full source code and comprehensive help are provided.
Andy Barnhart
Sax Basic Engine
Sax Software
Adding Visual Basic for Applications (VBA) support to your application can be difficult
and expensive. ActiveScripting is free and easier, but provides much less functionality.
SaxBasic fills the void between these two extremes by providing a Visual Basic development
and deployment environment that is syntactically compatible with VBA, provides an excellent
editor, debugger, and object browser, yet is inexpensive and relatively simple to use.
Support is provided through an ActiveX control or directly from the DLL (an MFC wrapper
is also included). You can provide your users with an IDE for development, or simply use
the engine to deploy extensions. The thorough documentation, samples for most supported
tools, and a great support forum guide you as you implement scripting in your application.
Andy Barnhart
Back to awards list
Special
Jolt Award
Red Hat Linux
Red Hat Software
If Linux is to make serious inroads into the business community, two major issues must be
addressed: installation and support. Red Hat seems to be on a mission to resolve these to the
corporate worlds satisfaction.
Installing Red Hat Linux on a PC is rather straightforward; it includes a CD and a diskette
as an alternative to the CD. You then proceed through a series of text-based windows, selecting
options and answering questions, and Linux is soon installed. This is still not for everyone;
some of the installation questions are quite technical, and operations such as disk partitioning
shouldnt be performed by all users. But Red Hat also provides support for automated
installations, so technical staff can install for multiple users quickly on several similar
machines.
The installation story doesnt stop here. Most Linux software is distributed in TAR format
(often also compressed with GZ). For many system or product installations, several complex
command lines have to be entered in an exact sequence, which can be daunting. For these
installations, Red Hat created the Red Hat Package Manager and its RPM file format where
all necessary files and information can be put in a single package that you can install or
uninstall with a simple point-and-click.
Red Hat is committed to getting you up and running
with e-mail or fax support for the first 30 days. After that, answers are easy to come by
through Red Hats web site or various newsgroups. Corporate accounts can purchase additional
support on a time or incident basis. Red Hat continually strives to support more hardware
options and makes new drivers and updates available to users via download. By any standard,
Red Hats Linux installation and support are ready for the corporate mainstream.
Andy Barnhart
Productivity Awards
Microsoft Developer Network (MSDN)
Microsoft Corp.
Unless youre living in a bubble on the moonor in a 100% pure UNIX, Macintosh,
OS/2, or Amiga shopMicrosoft plays a central role in your life. The Microsoft Developer
Network, or MSDN, provides key advantages to anyone developing software for a Microsoft platform
or using Microsoft tools. The CD-ROMs include domestic and internal versions of operating systems,
applications, tools, patches, and updates; for that alone MSDN is worth the subscription price.
But when you add the msdn.microsoft.com and www.microsoft.com/sitebuilder web sites, the
conferences, printed and e-mail newsletters, user groups, and documentation, MSDN is one of
two subscriptions (the other is Software Development, of course) that a development
teams library must maintain to keep up-to-date.Alan Zeichick
Sun Developer Essentials
Sun Microsystems Inc.
At last, Solaris and Java developers have the same kind of subscription service Microsoft
Developers have enjoyed for years. Suns Developers Essentials, hailed as
Suns answer to the ever-popular MSDN subscription, provides Java and Solaris
developers with the tools, APIs, software, and quarterly upgrades they need to develop
applications with Sun and Java technologies. Developers have three subscription options
to choose from: the Foundation Edition for beginning Java developers; the Professional
Edition for Solaris and Wintel developers working in client/server environments; and the
Enterprise Edition for developers creating large-scale, cross-platform enterprise applications.
If you and your team want to be productive in Java, this is the essential subscription for you.
Barbara Hanscome
Dragon NaturallySpeaking Mobile
Dragon Systems Inc.
Speech recognition and dictation technology is finally moving past the wow, this
actually works stage into the this is actually useful stage. The
limiting factors have always been the awkward headset microphone and unreliable software
that forced you to talk unnaturally. Dragon NaturallySpeaking removed the requirement to
talk slowly and in monotone, and in 1998, Dragon Systems released Dragon NaturallySpeaking
Mobile, which includes a nifty Tricorder-like digital recorder that can record up to 40
minutes of speech. Anyone who isnt always sitting in front of a computer will instantly
see the benefit of recording ideas, memos, and code documentation for transcription by your
computer later.Chris Minnick
Back to awards list
Hall of Fame
Visio
Visio Corp.
I cant remember the last time I walked into an organization that wasnt
using Visio to model one or more key aspects of their business. Visio is a diagramming
tool that lets you draw simple to complex diagrams, and model everything from a business
process to the network configuration depicting your organizations computer hardware
topology. Visio is based on a stencil paradigm (remember the plastic stencils you used as
a child to trace common shapes into your drawings?) that lets it support a wide range of
common diagrams such as business process, network, software, and organization charts.
Software developers have typically used Visio to cover for the missing diagrams
that their CASE tools didnt support. In its capacity as a good, all-around IT
tool for network design and software engineering, Visio has previously won both Jolt
and Productivity Awards. In its most recent release, Visio 5.0 now comes with pre-built
features that effectively make Visio a CASE tool in its own right. In addition to adding
features to its product that help developers (UML, standard flowcharts, database, and other
diagrams), Visio also boasts a developer area on its web site with information on building
solutions with Visio and buying custom third-party solutions. Visio now integrates with both
Microsoft Repository and Visual Studio to reverse-engineer existing code, providing better
support for the diagrams of the Unified Modeling Language (UML) than many CASE modeling
tools costing 10 times as much. With its wide range of diagrams and customizable shapes,
you will find that Visio quickly will become one of your organizations key applications.
Scott Ambler
Back to awards list