Dr. Dobb's Journal June 2006
At this year's SD West 2006 Conference and Expo, 14 Jolt Awards and 42 Productivity Awards were presented, along with one inductee into the Hall of Fame. It's noteworthy that 15 of this year's winners had never before entered the competition. Newcomers Lattix, WelcomRisk, and Elemental—of which addressed the issue of complexity and development environments—received Jolt Awards in the categories of Design Tools and Modeling, Enterprise Project Management, and Security Tools, respectively. Likewise, several past Productivity Award winners moved up to become "Jolt worthy." Two-time Productivity winner Perforce, for instance, earned a Jolt by being the best in the Defect Tracking, Change, and Configuration Management category. According to one Jolt judge, "Perforce has demonstrated scalability, supporting thousands of developers and hundreds of thousands of modules without difficulty. Moreover, it's faster than blazes. It is almost certainly the best enterprise SCM product available this year."
This was also a good year for Microsoft, which garnered Jolt Awards in the categories of Database Engines and Data Tools; Development Environments; and Libraries, Frameworks, and Components. Microsoft also received a Productivity Award for its Visual Studio Team System, and was joined the ranks in the Hall of Fame for its Visual Studio Professional Edition.
Other Jolt winners include AppForge's Crossfire 5.6 in the Mobile Development Tools categories, Rally Software's Rally 5.6 for Quality Project Management, VMWare's VMTN Subscription 2005 in the Testing Tools category, TechSmith's Camtasia Studio 3.0 for Utilities, and in the Web Development Tools division, Rails 1.0 from Rubyonrails.org.
—Rosalyn Lum
Visual Studio 2005
Microsoft (msdn.microsoft.com/vstudio)
Visual Studio 2005 is, in many ways, a bigger change for Microsoft's Integrated Development Environment than was the debut of Visual Studio in 1997. At the time, Microsoft already had Windows environments for programming C++ and Visual Basic. Combining those development environments was a welcome step, but didn't portend a sea-change in Microsoft's vision of how developers work. The induction of Visual Studio 2005 into the Jolt Hall of Fame is in part a recognition of the end of that era when a programming tool could succeed by focusing on empowering an individual developer, within a team or not. With Visual Studio Team System 2005, Microsoft has released a set of technologies that focus on the team itself. The maturation of these technologies, not incremental improvements of the coding experience, will determine the success or failure of Visual Studio from here on out.
Of course, the idea of Visual Studio "failing" may seem absurd. Visual Studio is essentially synonymous with "Development for Windows." While there are still programming editors and alternative IDEs available, Visual Studio is clearly the best environment for developing Windows applications in mainstream languages. It is also easily the best environment for the programming tasks associated with ASP or ASP.NET development.
Despite Visual Studio's absolute dominance within its realm, judges expressed some reservations about inducting VS into the Hall of Fame this year. The Team System technologies are brand new, the new Expression line of GUI-design tools are just being glimpsed in Community Technology Previews, and the WinFX APIs and tools will surely change the Visual Studio experience. Perhaps most importantly, the epic battle between Visual Studio and Eclipse has barely been joined. It hardly seems the time to give Visual Studio a pat on the back and send it off to the retirement home with a gold watch: The product line has a long working life in front of it.
In the end, though, we wanted to acknowledge the unequaled polish and responsiveness of Microsoft's editor-compiler-debugger components, now only a part of a larger development ecosystem. These "classic IDE" components will certainly continue to evolve, but are well into the realm of diminishing returns. Visual Studio already does it about as well as it can be done.
—Larry O'Brien
Prefactoring
Ken Pugh (O'Reilly & Associates)
When I first heard the term "prefactoring" I thought, "Great, yet another marketing buzzword created solely to sell books and services." Was I ever wrong. Ken Pugh captures fundamental design concepts that every developer should understand—and because of its cool title, there's a chance that developers might actually read the book.
Prefactoring summarizes techniques (and provides concrete examples and advice) for developing high-quality code. This book covers the fundamentals that all developers should know, but often don't. Among the techniques Pugh describes are how to reduce coupling, increase cohesion, take an interface-centric approach, and write literate code. The term "prefactoring" may achieve buzzword status—not because it's a marketing scam but because it represents a collection of solid technical concepts. Prefactoring is a "must read" book for anyone new to software development, and a "should read" book for everyone else.
—Scott W. Ambler
The Art of Project Management
Scott Berkun (O'Reilly & Associates)
Scott Berkun's experience as a Microsoft project manager has paid off. The Art of Project Management is filled with real-world pragmatism, no-nonsense advice, and honest expectations. I'm looking forward to more of his ideas on effective application development across a lifecycle. The Art of Project Management is a required reading handbook that every software project manager should own.
—Mike Riley
Innovation Happens Elsewhere:
Open Source as Business Strategy
Ron Goldman and Richard P. Gabriel (Morgan Kaufmann)
Successful software products are seldom built from scratch. They are built on products, libraries, frameworks, and technologies from a variety of sources that are increasingly open source. Ron Goldman and Richard Gabriel's Innovation Happens Elsewhere, an overview of the open-source landscape, provides valuable knowledge about managing open-source projects and discusses the business reasons for choosing open-source alternatives.
—Gary Pollice
Producing Open Source Software:
How to Run a Successful Free Software Project
Karl Fogel (O'Reilly & Associates)
Karl Fogel, whose open-source résumé includes CVS, Subversion, and Emacs, knows that open-source software projects must be nurtured, led, and managed. Producing Open Source Software provides practical advice on how to set up open-source projects, attract good people to them, keep them on track, and even how to make money doing it.
—Rick Wayne
Agile Web Development with Rails
Dave Thomas, David Hansson, Leon Breedt,
and Mike Clark (Pragmatic Bookshelf)
Ruby proponents have known for years that the language's potential was far greater than any other object-oriented scripting tool. However, 2005 was the year for programmers to come out of the closet. Ruby on Rails has become the spotlight vehicle to give the language something visibly exciting to do.
Ideally timed with the official 1.0 release of the Ruby on Rails framework, Agile Web Development with Rails captures the energy and enthusiasm in this exciting Web 2.0-oriented application design platform. While knowing how to program in Ruby isn't a required prerequisite to reading this book, the Pragmatic Bookshelf's Programming Ruby (the "pickaxe book"), provides an outstanding preface to this Ruby on Rails guidebook.
—Mike Riley
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries
Krzysztof Cwalina and Brad Abrams (Addison-Wesley)
Maybe you're working at Microsoft writing code used by millions of .NET developers, or maybe it's a class used only by the developer in the next cubicle. Regardless, someone else will eventually use your code. Framework Design Guidelines shows you how to design your exceptions, how to design your classes for extensibility, and how to make your classes more usable.
—John Lam
Practical Common Lisp
Peter Seibel (Apress)
Peter Seibel offers a fresh view of Lisp and its possibilities for elegantly solving problems. In Practical Common Lisp, he gives enough basic information to let you quickly see the power of the functional language paradigm. He then dazzles you with examples that seem almost magical in their simplicity and power. This read is pure fun from start to finish.
—Gary Pollice
Why Programs Fail:
A Guide to Systematic Debugging
Andreas Zeller (Morgan Kaufmann)
Why Programs Fail is a book I wish I had at the beginning of my career. It answers two important questions: How do you find and fix defects? And how do you prevent defects in the first place? This is a practical book where you find excellent discussions, everything from tracking defects to debugging. If you want to write better software, read this book.
—John Lam
WelcomRisk 2.6
Welcom (www.welcom.com)
Typical project management tools let you run Monte Carlo simulations to determine best- and worst-case completion costs. However, they don't always explicitly articulate why worst cases happen. Welcom's WelcomRisk captures the "why" part of worst cases, as they affect components and subsystems.
It also captures the proposed cost and time of multiple potential remediation strategies for each of those burps and weighs these in a disciplined way that allows detection of what I call the "risk of a risk." Additionally, should some burp happen when one of the remediation scenarios is applied, an iterative rerun of WelcomRisk will rerank new subordinate risks (can you say "unintended consequences") of that remediation. It will do all of this, both within and across projects. Welcom makes your project plan much more solid.
—Roland Racko
Corticon Business Rules Management 4.0
Corticon (www.corticon.com)
Modelers of business rules are always left with the feeling that they've missed something—and rightfully so. Business rules can be highly complex, ambiguous, or indeterminate in unforeseen ways. Corticon solves this problem by rooting out missing, ambiguous, looping, or conflicting rules. Corticon's dissection of errors can lead to a complete rethinking of what the most effective and simple business policy might be.
—Roland Racko
JBoss 2 Portal
JBoss (www.jboss.com)
Enterprise Portals were once the sole province of expensive specialized products characterized by proprietary APIs with hefty on-going costs. JBoss Portal2 forms the underlying core of an enterprise portal including content management, collaboration tools and user administration for file and directory manipulation functions, document versioning, message boards, support for both filesystem- and data-based content repositories, user account management, and the like.
—Peter Westerman
Visual Studio Team System 2005
Microsoft (msdn.microsoft.com/vstudio/teamsystem)
Visual Studio Team System provides an extensible environment for swapping out Microsoft's somewhat rudimentary foundations with best of breed, enterprise-class design, configuration management, and testing suites. As such, VSTS has facilitated the agility to meet the changing demands of the marketplace in a single IDE for Windows developers.
—Mike Riley
Microsoft SQL Server 2005
Microsoft (msdn.microsoft.com/sql)
With the release of SQL Server 2005, Microsoft offers many new features and enhancements, starting with SQL Server Management Studio, the console for monitoring and managing the database, along with all services.
In the area of database development, the common language runtime (CLR) integration provides additional language options for creation of stored procedures, functions, and triggers in addition to Transact-SQL, which has also been enhanced. Other features include native XML data type, XQuery, Business Intelligence enhancements, database snapshots, partitioning tables and indexes, Service Broker architecture, SQL Management Objects (SMO), Security Model Enhancements, and 64-bit support, just to name a few.
—Kathy Small
Berkeley DB 4.4
Sleepycat Software (www.sleepycat.com)
Berkeley DB from Sleepycat Software (recently acquired by Oracle) is a C library, which implements a database engine that delivers a full range of database features, including ACID transactions, caching, and replication. Berkeley DB works with C, C++, Java, Perl, Python, PHP, Tcl, Ruby, and the like. Berkeley DB stores data in application native format, eliminating the need for mapping at the expense of sharing between applications.
—Scott W. Ambler
Google Maps API 2005
Google (www.google.com)
The Google Maps API makes a vast amount of mapping data available, enabling a new application platform for location-based services, and instead of providing simple data services as remote procedural calls or messaging services, Google Maps API integrates data services with compelling and reusable UI widgets. Finally, Google Maps API pioneers the use of AJAX in delivering data services.
—Michael Yuan
MySQL 5.0
MySQL (www.mysql.com)
MySQL 5 introduces features that deliver what you would expect in high-end products. Key to Version 5 is support for triggers, views, and stored procedures with their increased security and potential for improving database performance, which have garnered the most attention. MySQL 5 introduces server-side cursors, better mathematical precision, and two new storage engines.
—Robert A. DelRossi
Perforce SCM 2005
Perforce Software (www.perforce.com)
In the configuration management world, Perforce has a reputation for reliability, scalability, and speed. It manages hundreds of thousands of modules, supports thousands of developers, and delivers quick responses to every user. And it is easy to get started. Anyone can download a fully functional version of the software and evaluate it with two developers.
While Perforce SCM's strength is its simplicity and robustness, the tool continues to improve with a new release every few months. In the last year, performance has been improved (again!), output has been tagged for easier scripting, and hooks to external authentication have been added. These are just a few of the new features. While these individual features may not be huge, the overall effect over the last few years has jolted the industry.
Perforce has become the workhorse of many small and large development shops.
—Hugh Bawtree
FogBugz 4.0
Fog Creek Software (www.fogcreek.com)
FogBugz 4.0 delivers what every developer wants: A simple to use bug-tracking tool. While the core feature set is no-frills bug tracking, features such as a screenshot tool and embedding automatic bug submission into existing applications makes it easier for users to submit informative bug reports. If you do not require sophisticated project management or issue-tracking facilities, consider this tool.
—Mik Kersten
Guiffy SureMerge 7.0
Guiffy Software (www.guiffy.com)
Guiffy Software's SureMerge uses an advanced set of three-way merge algorithms to detect potentially dangerous conflicts other tools might miss. Guiffy's web site contains test-case kits you can download and run with other tools. It also doesn't hurt that the UI is smooth, fast, and stays out of your way, or that it includes a command-line interface so that you can hook the tool to just about any SCM utility.
—Rick Wayne
JIRA 3.4
Atlassian Software (www.atlassian.com)
JIRA 3.4 is a full-featured issue tracker and reporter with a clean web-based UI and powerful facilities for editing and managing queries in a straightforward lightweight way that doesn't impose processes. If you're considering moving to a new issue tracker that doesn't require heavyweight project-tracking facilities, put this tool on your list.
—Mik Kersten
Lattix LDM 2.0
Lattix (www.lattix.com)
Every now and then, a development tool comes along that provides new insight into how we can build better software. Lattix LDM is such a tool. Too often we simply depend upon experience to evaluate a system's design for organization, structure, layering, and other attributes that indicate the architectural quality. Lattix LDM 2.0 is an easy-to-use tool that provides empirical information, giving us new ways to evaluate software systems.
Lattix LDM uses a dependency-matrix approach to obtain information about an application. It displays the matrix and lets users conceptually reorganize the layers and packaging structure. Such information lets designers pose "what if" queries. Continual monitoring of an application for structural deterioration is also enabled; thereby allowing remedial action to be taken before the problem escalates to a major maintenance problem. Lattix LDM supports Java and C++ and integrates nicely with the Eclipse platform.
—Gary Pollice
Borland Together 2006 for Eclipse
Borland (www.borland.com/us/products/together)
Any Eclipse-enabled software architect that aspires to world-class software design quality should have Together as a default feature in the IDE. Some of the more notable features in the 2006 release include UML 2 and Business Process Execution Language with Web Services definitions (BPEL4WS) support, Model Driven Architecture enabled Query View Transformations, and Object Constraint Language 2.0 definition capabilities.
—Mike Riley
Enterprise Architect 6.0
Sparx Systems (www.sparxsystems.com)
Enterprise Architect is a favorite tool among people looking for a low-cost yet useful UML-based modeling tool for .NET and J2EE. EA goes beyond the UML to support business process modeling and data modeling—you can actually build business applications. It supports a wide range of test case definition (unit, integration, system, acceptance, and scenario) for a test-driven design (TDD) development.
—Scott W. Ambler
MindManager Pro 6.0
Mindjet (www.mindjet.com)
I first saw Mindjet's MindManager in action when Glenn Ferrell used it to formulate a strategic action plan. I watched him map what appeared to be a jumbled mash of disparate ideas to a cohesive action plan in minutes. Release 6.0 takes what is a terrific brainstorming design tool to one that stays in the process longer downstream by incorporating Microsoft's Office Suite.
—Mike Riley
Visual Studio Team System 2005
Microsoft (msdn.microsoft.com/vstudio/teamsystem)
"What Jolts us?" is a perennial question. A product must be fresh, it must have broad potential impact, and it must be well executed. Microsoft Visual Studio .NET has been in the running every year since it was introduced, and this year's Team System knocks all three aspects out of the park.
The new modeling and collaboration features highlight VSTS's evolution from a single-purpose program to a platform for plug-ins; every Windows developer in the world should at least have a nodding familiarity with Microsoft's development environment; and the judges agree that Visual Studio does a terrific job of providing a rich toolset while staying out of the developer's way, with comments like "maintains ease of use and rapid development" and "[other IDE vendors] should take a close look at what makes VS 2005 so effortless to work in."
—Rick Wayne
Eclipse SDK 3.1
Eclipse Foundation (www.eclipse.org)
Eclipse continues to be the IDE of choice for Java developers, and thanks to its thriving ecosystem of plug-ins, it's expanding into other development stacks. Out of the box, you get first-class Java development support. Editing, launching, and debugging features are a step ahead of other IDEs. Eclipse's extensibility makes it possible to offer tightly integrated web tools.
—Mik Kersten
IntelliJ IDEA 5.0
JetBrains (www.jetbrains.com)
For several years, IntelliJ IDEA has set the bar for Java IDEs, and I can't imagine writing code without the features with which it leads the way: refactoring, debugging, and integration with mission-critical tools such as Ant, JUnit, and CVS. IntelliJ is easy to use, and more importantly improves your productivity. With over 200 plug-ins available, you can tailor IntelliJ to meet your specific needs.
—Scott W. Ambler
Komodo 3.5
ActiveState (www.activestate.com)
While I still don't understand what a lumbering oversized lizard has to do with writing Perl, Python, Ruby, and Tcl scripts, ActiveState's cross-platform Komodo IDE nevertheless delivers on its promise of making writing and debugging script in these languages considerably easier. It supports version control (including Subversion), a visual package manager for Perl packages, and graphical debugging (including Ruby debugging, which John Lam says is "really hard to do").
—Mike Riley
.NET Framework 2.0
Microsoft (msdn.microsoft.com/netframework)
The 2.0 release is a major update to the .NET Frameworks, with lots of features to lure developers from competing platforms. The most extensive set of changes reflect the addition of generics to the Common Language Runtime (CLR); many of the new features were implemented using generics. Both Windows Forms and ASP.NET were updated to reduce the amount of code needed for common scenarios.
Other new features include the managed transaction stack in System.Transactions, the Click-Once deployment model, and support for skinable UIs in ASP.NET. Existing features also received attention—a much faster XSLT engine and asynchronous command execution in ADO.NET. It's also backward compatible with existing code; most existing 1.0 and 1.1 code should run unmodified on 2.0.
—John Lam
Dundas Chart for .NET 5.0
Dundas Software (www.dundas.com)
To visualize data from .NET or ASP.NET applications, look to Dundas Chart for .NET. Long regarded for its huge chart library, Version 5 Enterprise Edition adds "smart tags" that reduce the work required to leverage the tool's extensive customizations. Enterprise Edition also supports applying annotations to call out important data. Dundas Chart is feature-rich but easy to use for impressive results.
—Robert A. DelRossi
Qt 4.0
Trolltech (www.trolltech.com)
Version 4.0 of Qt takes the cross-platform toolkit beyond its roots as portable GUI library. Collections, database, threading interfaces, and XML functions, plus a new graphics and font engine, raise this product to a completely new level—one where Qt should be considered the default application library even if only one platform is being targeted. Version 4.0 makes Qt the definitive choice for C++ client-side development.
—Andrew Binstock
Spring Framework 1.2.6
SpringFramework (springframework.org)
Tired of gluing application layers by hand? The Spring Framework uses dependency injection to tie components together for simplifying JMS, JMX, Hibernate, and AOP. Spring also increases testability by making parts of the application easily interchangeable with mock or alternative implementations. The Framework integrates neatly with others (such as Struts) and an Eclipse plug-in makes its manipulation human friendly.
—David Dossot
Crossfire 5.6
AppForge (www.appforge.com)
Mobile development is hot, hot, hot. The proliferation and penetration of handheld devices is astounding. So is their diversity, and if you're a developer tasked with cross-platform mobile development—well, the aspirin is over there in the cupboard. Or you could use Crossfire.
AppForge's development environment lets you work in Visual Studio, C#, VB.NET, or VB 6, and create polished device-centric applications that deploy on Palm OS, Pocket PC, Symbian, and BlackBerry. Working with Crossfire, you keep getting the feeling that AppForge really does its homework, that it has hit the bumps in the road and smoothed them out for you, whether it's device sync, multimedia, or GPS support.
—Rick Wayne
Carbide.c++ Express
Nokia (www.forum.nokia.com)
Carbide Express is Nokia's free Eclipse-based IDE for developing Symbian applications. Symbian apps typically consist of compiled C++ code with metadata files that configure how the app is provisioned and installed. Carbide wizards manage those artifacts and streamline the build/packaging process with debugging support and emulator integration, letting you focus on the application code.
—Michael Yuan
Flash Lite 2.0
Adobe (www.macromedia.com/software/flashlite)
Developing in Macromedia's Flash offers two big advantages over traditional systems-language programming: The user experience is rich, and programming in ActionScript is less arcane than, say, Java or C++. Flash Lite 2, the device edition of the Flash 8 platform, delivers on both counts. The 2.0 release supports a clean object-oriented syntax more in line with what ECMAScript developers have come to enjoy.
—Rick Wayne
NetBeans Mobility Pack
Sun Microsystems (www.netbeans.org/products/mobility)
The NetBeans IDE is built on the NetBeans platform, thereby inheriting NetBeans code editor, build management tools, and refactoring tools. Bundled with it is the Mobility Pack, which includes Sun's J2ME Wireless ToolKit (WTK). The Mobility Pack supports code preprocessors that let you customize source code for individual build target. NetBeans also supports server-side application development.
—Michael Yuan
Rally 5.6
Rally Software (www.rallydev.com)
Thanks to zero footprint service providing functionality, up-to-date systems management, and customer support, Rally Software has a clear shot at becoming the Salesforce.com for agile project managers and developers. Its UI is so slick that onlookers might think it's running as a native application.
Rally's aggressive ASP business model works best for agile, distributed development teams not afraid to realize the performance gains and reduced administrative headaches. It stays out of the way of project participants with its effortless design while stealthily structuring the participants with agile project management best practices. If this is what the Rally developers can do with a Web 1.0 interface, I can't wait to see what they dream up with a decked out AJAX-enabled UI.
—Mike Riley
CollabNet Enterprise Edition
CollabNet (www.collab.net)
Out of the box, CollabNet Enterprise Edition provides everything you need to manage projects: Mailing lists, discussion forums, issue tracking, and document and source repositories. It layers project management for tracking of multiple projects, provides project dashboards for easy project inspection and task tracking, and reporting facilities for all of the above. Importing/exporting into Microsoft Project, Excel, and Word, makes it easy for stakeholders to participate.
—Mik Kersten
QACenter Enterprise Edition 5.1
Compuware (www.compuware.com/products/qacenter)
Compuware's QACenter bundles and integrates several tools into a comprehensive application lifecycle solution: QARun/TestPartner for automated functional and regression testing, Reconcile for requirements management, Track-Record for defect tracking and QADirector for overall test management. This integrated approach keeps technology implementation issues to a minimum while focusing on assessing and delivering the information to the business with minimal friction.
—Sylvain Chery
TargetProcess Suite 1.4
TargetProcess (www.targetprocess.com)
TargetProcess Suite 1.4 provides small, possibly distributed teams, a central repository for their project's process artifacts. The team can plan its iterations and tests and track its progress. The TargetProcess Suite offers an easy-to-navigate browser interface that lets the team choose which artifacts it wants to create and track. The product links requirements, test cases, and iterations seamlessly. It also has a simple defect tracking system.
—Gary Pollice
Elemental Compliance System 1.4
Elemental (www.elementalsecurity.com)
Are your security policies deployed in technical-spec terms of ports, protocols, and IP addresses? Are they hard to read and adapt to new network devices and configurations? The Elemental Compliance Policy Language changes this by letting users express, monitor, and enforce security policies in business-friendly ways. The system then observes broadcast traffic and evaluates security issues. Similarly, the Elemental Compliance System identifies and restricts network access for hosts and users that are noncompliant with critical security policies.
Elemental's software keeps up with the continuous change by dynamically classifying groups of hosts based on hundreds of attributes. With more than 1500 included policies derived from security best practices of leading organizations, administrators can get a quick start using these or create their own custom policies.
—Roland Racko
CodeAssure 2.0
Secure Software (securesoftware.com)
Static analysis of code bases is a critically important facet of software development—and few companies offer a more accurate and thorough tool for analyzing C and Java code than Secure Software. CodeAssure is among the best at identifying security holes and recognizing dubious constructs, making it particularly attractive to enterprises—the very companies that have the most to lose in the event of security breaches.
—Andrew Binstock
DevPartner SecurityChecker 1.0
Compuware (compuware.com)
Compuware's DevPartner SecurityChecker 1.0 is a commendable first attempt at a tool that offers comprehensive code security analysis for .NET code. Even though this first release suffers from 1.0 feature limitations, its stellar compile-time, runtime, and integrity security code violation checking and reporting make it a valuable investment for any security conscious enterprise.
—Mike Riley
Fortify Security Tester 1.0
Fortify (fortifysoftware.com)
The Fortify Security Tester is an excellent security analysis and QA tool for ASP.NET web application developers. It automatically generates tests to cover potential security vulnerabilities based on use cases, which are either automatically generated by a web crawler or recorded by Fortify when you go through the web application. The Fortify tests cover areas like SQL injection, XPath injection, and cross-site scripting.
—Michael Yuan
VMTN Subscription 2005
VMware (www.vmware.com)
Anyone not using virtual-machine technology in his or her test and development environments is at a serious disadvantage, especially now that VMware has thrown down the virtual-machine gauntlet to own the market. The company's free VMware Player and VMware Server make adopting its technology into a computing environment a no-risk decision. The VMware Technology Network Subscription ensures users that they are leveraging some of the best virtualization technology available today. As fellow Jolt judge Roland Racko noted, "VMware seems rock solid." Besides supplying subscribers with several of VMware's commercial applications (including ESX Server with Virtual SMP, Workstation and the Enterprise Edition of P2V Assistant), VMTN members also benefit from a full year of product updates and support making it an outstanding value for developers and testers alike.
—Mike Riley
Agitator 3.0
Agitar Software (www.agitar.com)
Last year's Jolt winner returns with new features that delight developers and testers. Some of the important new features are domain experts that simplify and improve testing for specific domains, such as working with Hibernate code for databases, and support for Java 5. Agitator makes it even easier to create your own factories for test data and create mock objects for your tests. It is the Rolls Royce of unit-testing tools.
—Gary Pollice
AQtime 4.7
AutomatedQA (automatedqa.com)
Looking for a first-class performance and memory profiler for Win32 and .NET applications? Look no further than AutomatedQA's AQTime—a complete and intuitive profiler that supports numerous types of profiling modes and profilable applications. Results are presented in clear, meaningful representations in a variety of formats. Running standalone or as a Visual Studio .NET plug-in, AQTime will become the daily companion for the performance-minded developer.
—David Dossot
Clover 1.3
Cenqua (www.cenqua.com)
Ask any developer or quality professional to list the top features they want in testing tools and their response is "coverage." Cenqua's Clover does coverage—and it does it well. Clover integrates with Eclipse, IDEA, NetBeans, JBuilder, and JDeveloper, making it easy to add code coverage testing to your everyday testing regimen. While it does not provide a solution to all of your testing needs, it does offer an excellent solution for gathering and disseminating code coverage information.
—Gary Pollice
Camtasia Studio 3.0
TechSmith (www.techsmith.com)
I fell in love with this awesome screen cam tool—few other competing products have come close to matching the extensive feature set this Flash-capable demonstration toolkit has offered its users.
The clean and intuitive interface, the ease of editing, the new SCORM-compliant quizzing feature, the multiformat output option (including Flash 8 and Quicktime 7 support), and the increasingly popular side-by-side video option of the presenter windowed anywhere within a screen playback roll up to a package that anyone seeking to demonstrate an application, configuration, presentation, or workflow will be hard pressed to find a competing demo application as feature-rich, simple to use and competitively priced as TechSmith's Camtasia Studio. As a fellow Jolt judge remarked "Camtasia rocks! What I really like about this utility is that it supports formats other than SWF: I want to be able to export a movie as a Quicktime MOV or a Windows Media video."
—Mike Riley
DevPartner Studio 8
Compuware (www.compuware.com/products/devpartner)
Version 8 of Compuware DevPartner continues the company's history of providing top-notch development tools. The suite contains diagnostic tools for software developed in Visual Studio—performance analysis, code coverage, error detection and static code analysis, memory usage monitoring and reporting, and performance profiling. These tools are integrated as one-click plug-ins to Visual Studio and generate useful data that makes almost any code base more robust.
—Andrew Binstock
Fog Creek Copilot 1.2
Fog Creek Software (www.fogcreek.com)
Helping with a computer problem remotely is like shooting in the dark. If you can't see their screen, it's hard to troubleshoot or walk through an example. Enter Copilot from Fog Creek Software. Copilot may not be particularly sexy but it does one thing well: It lets you quickly control another PC without having to install remote control software on the target machine.
—Robert A. DelRossi
ReSharper 1.5
JetBrains (www.jetbrains.com)
ReSharper is a classic case of "saw the need and filled it well." For C# developers working in Visual Studio 2003 (a VS 2005 version is in beta), ReSharper extends and improves the Intellisense autocompletion technology, providing a panoply of refactorings, including a powerful renaming utility, Extract Method, Change Method Signature, Convert Interface to Abstract Class, and many more.
—Rick Wayne
Rails 1.0
Rubyonrails.org (www.rubyonrails.org)
Rails has made the Ruby language sparkle with so much intensity that even the most obstinate developers with their own favorite languages can't help but take notice and contribute to the buzz, like Joel Spolsky's, Fog Creek Software's CEO, lengthy rant in his blog about the Ruby on Rails craze sweeping the younger crowd of developers.
Some of the key reasons for this scripting language's rabid acceptance are its strict adherence to the Model-View-Controller (MVC) design pattern, its true object orientation, easy syntax, and probably the most visibly important addition of Asynchronous JavaScript and XML (AJAX) that take static web pages to a new level of immediate interactivity. Whatever the reasons, the allure and vitality of the framework make it difficult to escape the Rails frenzy.
—Mike Riley
JBoss Application Server 4.0.3
JBoss (www.jboss.com)
JBoss' Application Server (AS) is a full-stack J2EE 1.4 open-source implementation that's so stable, it scales up smoothly from developer workstations to large-scale production-intensive deployments for 24/7 data centers. J-Boss AS is built around a versatile microkernel that binds all components together, is fully configurable and customizable to fit all needs and has an architecture that accommodates custom services beyond J2EE Standards.
—David Dossot
Macromedia Studio 8
Adobe (www.macromedia.com)
Macromedia has owned the web page design space since its winning inception of Dreamweaver from both acquired and home grown code back in the dot com heyday. Now on its 8th iteration, it still dominates the web designer's domain. Studio 8 continues to buoy the Dreamweaver flagship title while delivering improvements to its complementary Flash and Fireworks graphic design products.
—Mike Riley
Zend Studio: Enterprise Edition 5.0
Zend (www.zend.com)
Need a first-class cross-platform development environment for PHP? Check out Zend Studio. Features include syntax highlighting, code and tag completion, snippets library, and a selection of prebuilt code templates. Its code-writing environment supports PHP 4 and 5, HTML, Javascript, CSS, and XML. Zend Studio also integrates with local web servers (or even set one up for you if you need one), for real-time start-stop debugging with watchlists.
—Roland Racko